Create Webhook

Programatically create a Helius webhook.

POST /webhooks

Creates a webhook with specified account addresses, transaction types, and a webhook URL. Optionally, you can include an authorization header to verify that the webhook originated from Helius. For a full list of supported transaction types, please see Transaction Types

You can add up to 100,000 addresses via the API.

Code Examples

Enhanced Transactions Payload
{
     "webhookURL": "https://TestServer.test.repl.co/webhooks",
     "transactionTypes": ["NFT_SALE"],
     // Use ["ACCOUNT_ADDRESS", "ACCOUNT_ADDRESS"] for multiple accountAddresses. 
     "accountAddresses": ["ACCOUNT_ADDRESS"],
     "webhookType": "enhanced", // "enhancedDevnet"
     "authHeader": "<Optional_AuthHeader>"
}
Raw Transactions Payload
{
     "webhookURL": "https://TestServer.test.repl.co/webhooks",
     "transactionTypes": ["Any"],
     // Use ["ACCOUNT_ADDRESS", "ACCOUNT_ADDRESS"] for multiple accountAddresses. 
     "accountAddresses": ["ACCOUNT_ADDRESS"],
     "webhookType": "raw", // "rawDevnet"
     "txnStatus": "all", // success/failed
     "authHeader": "<Optional_AuthHeader>"
}
Discord Transactions
{
     "webhookURL": "https://discord.com/api/webhooks/<WebhookID>/<TokenID>",
     "transactionTypes": ["NFT_SALE"],
     // Use ["ACCOUNT_ADDRESS", "ACCOUNT_ADDRESS"] for multiple accountAddresses. 
     "accountAddresses": ["ACCOUNT_ADDRESS"], 
     "webhookType": "discord" // "discordDevnet"
}
Javascript Code Example
const createWebhook = async () => {
    try {
      const response = await fetch(
        "https://api.helius.xyz/v0/webhooks?api-key=<PASTE YOUR API KEY HERE>",
        {
          method: 'POST',
          headers: {
            'Content-Type': 'application/json',
          },
          body: JSON.stringify({
          "webhookURL": "https://TestServer.test.repl.co/webhooks",
          "transactionTypes": ["Any"],
          "accountAddresses": ["2PP32Vmuzgo1UC847Yzdd9CkowXWhMLrJ47Gfr4KDAyN"],
          "webhookType": "raw", // "rawDevnet"
          "txnStatus": "all", // success/failed
       }),
        }
      );
      const data = await response.json();
      console.log({ data });
    } catch (e) {
      console.error("error", e);
    }
  };
  createWebhook();

Testing Environments

Here are some testing environments that are quick to set up for posting webhook events:

Last updated