跳转到主要内容

什么是 Solana webhooks?

Solana webhooks 是当链上事件发生时,实时通过 HTTP 通知发送到您的应用程序。与其不断轮询区块链,Helius 会在钱包转移资金、NFT 销售或任何监控的交易类型触发时,将解析的交易数据直接推送到您的端点。使用 webhooks 来支持交易机器人、分析仪表盘、合规流水线和事件驱动的自动化。 我们提供了用户友好的界面、程序化 API 和 SDK 访问,以便轻松创建和管理 webhooks。有关常见问题,请参见 Webhooks FAQ
如果您的服务器未成功响应,Helius 可能会重试 webhook 的传送,并且您可能会收到重复事件。有关重试和处理重复的详细信息,请参阅 Webhooks FAQ

价格

当 Helius 处理并将事件发送到您的端点时,Webhook 事件会收取 1 个信用。无论您的端点是否成功处理了 webhook,您都会被收取费用。通过 API 编辑、添加或删除 webhook 将花费 100 个信用/请求。

Webhooks 类型

我们目前提供几种针对不同需求定制的 webhooks 类型:

增强交易 Webhooks

提供与您监控的地址相关的特定交易类型(例如,NFT 销售)的人可读解析数据。如果您想要过滤后的可操作见解,这是理想的选择。

原始交易 Webhooks

此选项为您监控的地址涉及的所有交易提供原始交易数据。它不允许按交易类型进行过滤。
原始交易 Webhooks 提供较低延迟,因为它们不涉及事件类型解析。

Discord Webhooks

将特定交易类型的流更新直接作为格式化消息发送到指定的Discord频道。要使用此选项,您必须提交您的Discord Webhook URL。

事件有效负载示例

[
  {
    "accountData": [
      {
        "account": "CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX",
        "nativeBalanceChange": -72938049280,
        "tokenBalanceChanges": []
      },
      {
        "account": "NTYeYJ1wr4bpM5xo6zx5En44SvJFAd35zTxxNoERYqd",
        "nativeBalanceChange": 0,
        "tokenBalanceChanges": []
      },
      {
        "account": "AAaTGaA3uVqikfVEwoSG7EwkCb4bBDsMEyueiVUS5CaU",
        "nativeBalanceChange": 0,
        "tokenBalanceChanges": []
      },
      {
        "account": "autMW8SgBkVYeBgqYiTuJZnkvDZMVU2MHJh9Jh7CSQ2",
        "nativeBalanceChange": 0,
        "tokenBalanceChanges": []
      },
      {
        "account": "D8TxfGwdu9MiNMoJmUoC9wQfNfNT7Lnm6DzifQHRTy6B",
        "nativeBalanceChange": 0,
        "tokenBalanceChanges": []
      },
      {
        "account": "5DxD5ViWjvRZEkxQEaJHZw2sBsso6xoXx3wGFNKgXUzE",
        "nativeBalanceChange": 71860273440,
        "tokenBalanceChanges": []
      },
      {
        "account": "25DTUAd1roBFoUQaxJQByL6Qy2cKQCBp4bK9sgfy9UiM",
        "nativeBalanceChange": -2039280,
        "tokenBalanceChanges": [
          {
            "mint": "FdsNQE5EeCe57tbEYCRV1JwW5dzNCof7MUTaGWhmzYqu",
            "rawTokenAmount": {
              "decimals": 0,
              "tokenAmount": "-1"
            },
            "tokenAccount": "25DTUAd1roBFoUQaxJQByL6Qy2cKQCBp4bK9sgfy9UiM",
            "userAccount": "1BWutmTvYPwDtmw9abTkS4Ssr8no61spGAvW1X6NDix"
          }
        ]
      },
      {
        "account": "DTYuh7gAGGZg2okM7hdFfU1yMY9LUemCiPyD5Z5GCs6Z",
        "nativeBalanceChange": 2039280,
        "tokenBalanceChanges": [
          {
            "mint": "FdsNQE5EeCe57tbEYCRV1JwW5dzNCof7MUTaGWhmzYqu",
            "rawTokenAmount": {
              "decimals": 0,
              "tokenAmount": "1"
            },
            "tokenAccount": "DTYuh7gAGGZg2okM7hdFfU1yMY9LUemCiPyD5Z5GCs6Z",
            "userAccount": "CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX"
          }
        ]
      },
      {
        "account": "rFqFJ9g7TGBD8Ed7TPDnvGKZ5pWLPDyxLcvcH2eRCtt",
        "nativeBalanceChange": 1080000000,
        "tokenBalanceChanges": []
      },
      {
        "account": "CgXS5xC3qAGSg9txD9bS7BUgugZwshivGXpCJcGmdwrd",
        "nativeBalanceChange": -2234160,
        "tokenBalanceChanges": []
      },
      {
        "account": "M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K",
        "nativeBalanceChange": 0,
        "tokenBalanceChanges": []
      },
      {
        "account": "E8cU1WiRWjanGxmn96ewBgk9vPTcL6AEZ1t6F6fkgUWe",
        "nativeBalanceChange": 0,
        "tokenBalanceChanges": []
      },
      {
        "account": "11111111111111111111111111111111",
        "nativeBalanceChange": 0,
        "tokenBalanceChanges": []
      },
      {
        "account": "FdsNQE5EeCe57tbEYCRV1JwW5dzNCof7MUTaGWhmzYqu",
        "nativeBalanceChange": 0,
        "tokenBalanceChanges": []
      },
      {
        "account": "AYZsWahcrSnkwqbA1ji7wEzgAnGjLNJhVUMDPfACECZf",
        "nativeBalanceChange": 0,
        "tokenBalanceChanges": []
      },
      {
        "account": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
        "nativeBalanceChange": 0,
        "tokenBalanceChanges": []
      },
      {
        "account": "SysvarRent111111111111111111111111111111111",
        "nativeBalanceChange": 0,
        "tokenBalanceChanges": []
      },
      {
        "account": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",
        "nativeBalanceChange": 0,
        "tokenBalanceChanges": []
      },
      {
        "account": "1BWutmTvYPwDtmw9abTkS4Ssr8no61spGAvW1X6NDix",
        "nativeBalanceChange": 0,
        "tokenBalanceChanges": []
      }
    ],
    "description": "5DxD5ViWjvRZEkxQEaJHZw2sBsso6xoXx3wGFNKgXUzE sold Fox #7637 to CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX for 72 SOL on MAGIC_EDEN.",
    "events": {
      "nft": {
        "amount": 72000000000,
        "buyer": "CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX",
        "description": "5DxD5ViWjvRZEkxQEaJHZw2sBsso6xoXx3wGFNKgXUzE sold Fox #7637 to CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX for 72 SOL on MAGIC_EDEN.",
        "fee": 10000,
        "feePayer": "CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX",
        "nfts": [
          {
            "mint": "FdsNQE5EeCe57tbEYCRV1JwW5dzNCof7MUTaGWhmzYqu",
            "tokenStandard": "NonFungible"
          }
        ],
        "saleType": "INSTANT_SALE",
        "seller": "5DxD5ViWjvRZEkxQEaJHZw2sBsso6xoXx3wGFNKgXUzE",
        "signature": "5nNtjezQMYBHvgSQmoRmJPiXGsPAWmJPoGSa64xanqrauogiVzFyGQhKeFataHGXq51jR2hjbzNTkPUpP787HAmL",
        "slot": 171942732,
        "source": "MAGIC_EDEN",
        "staker": "",
        "timestamp": 1673445241,
        "type": "NFT_SALE"
      }
    },
    "fee": 10000,
    "feePayer": "CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX",
    "nativeTransfers": [
      {
        "amount": 72936000000,
        "fromUserAccount": "CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX",
        "toUserAccount": "AAaTGaA3uVqikfVEwoSG7EwkCb4bBDsMEyueiVUS5CaU"
      },
      {
        "amount": 2011440,
        "fromUserAccount": "CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX",
        "toUserAccount": "D8TxfGwdu9MiNMoJmUoC9wQfNfNT7Lnm6DzifQHRTy6B"
      },
      {
        "amount": 71856000000,
        "fromUserAccount": "AAaTGaA3uVqikfVEwoSG7EwkCb4bBDsMEyueiVUS5CaU",
        "toUserAccount": "5DxD5ViWjvRZEkxQEaJHZw2sBsso6xoXx3wGFNKgXUzE"
      },
      {
        "amount": 1080000000,
        "fromUserAccount": "AAaTGaA3uVqikfVEwoSG7EwkCb4bBDsMEyueiVUS5CaU",
        "toUserAccount": "rFqFJ9g7TGBD8Ed7TPDnvGKZ5pWLPDyxLcvcH2eRCtt"
      },
      {
        "amount": 2039280,
        "fromUserAccount": "CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX",
        "toUserAccount": "DTYuh7gAGGZg2okM7hdFfU1yMY9LUemCiPyD5Z5GCs6Z"
      }
    ],
    "signature": "5nNtjezQMYBHvgSQmoRmJPiXGsPAWmJPoGSa64xanqrauogiVzFyGQhKeFataHGXq51jR2hjbzNTkPUpP787HAmL",
    "slot": 171942732,
    "source": "MAGIC_EDEN",
    "timestamp": 1673445241,
    "tokenTransfers": [
      {
        "fromTokenAccount": "25DTUAd1roBFoUQaxJQByL6Qy2cKQCBp4bK9sgfy9UiM",
        "fromUserAccount": "1BWutmTvYPwDtmw9abTkS4Ssr8no61spGAvW1X6NDix",
        "mint": "FdsNQE5EeCe57tbEYCRV1JwW5dzNCof7MUTaGWhmzYqu",
        "toTokenAccount": "DTYuh7gAGGZg2okM7hdFfU1yMY9LUemCiPyD5Z5GCs6Z",
        "toUserAccount": "CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX",
        "tokenAmount": 1,
        "tokenStandard": "NonFungible"
      }
    ],
    "type": "NFT_SALE"
  }
]
[
  {
    "blockTime": 1673445241,
    "indexWithinBlock": 2557,
    "meta": {
      "err": null,
      "fee": 10000,
      "innerInstructions": [
        {
          "index": 0,
          "instructions": [
            {
              "accounts": [
                0,
                2
              ],
              "data": "3Bxs3zs3x6pg4XWo",
              "programIdIndex": 12
            }
          ]
        },
        {
          "index": 1,
          "instructions": [
            {
              "accounts": [
                0,
                4
              ],
              "data": "11112nba6qLH4BKL4MW8GP9ayKApZeYn3LQKJdPdeSXbRW1n6UPeJ8y77ps6sAVwAjdxzh",
              "programIdIndex": 12
            }
          ]
        },
        {
          "index": 2,
          "instructions": [
            {
              "accounts": [
                2,
                5
              ],
              "data": "3Bxs3zx147oWJQej",
              "programIdIndex": 12
            },
            {
              "accounts": [
                2,
                8
              ],
              "data": "3Bxs3zwT1TGLhiT9",
              "programIdIndex": 12
            },
            {
              "accounts": [
                0,
                7,
                0,
                13,
                12,
                15
              ],
              "data": "1",
              "programIdIndex": 17
            },
            {
              "accounts": [
                13
              ],
              "data": "84eT",
              "programIdIndex": 15
            },
            {
              "accounts": [
                0,
                7
              ],
              "data": "11119os1e9qSs2u7TsThXqkBSRVFxhmYaFKFZ1waB2X7armDmvK3p5GmLdUxYdg3h7QSrL",
              "programIdIndex": 12
            },
            {
              "accounts": [
                7
              ],
              "data": "P",
              "programIdIndex": 15
            },
            {
              "accounts": [
                7,
                13
              ],
              "data": "6YTZgAHgNKVRJ2mAHQUYC1DgXF6dPCgbSWA5P4gZoSfGV",
              "programIdIndex": 15
            },
            {
              "accounts": [
                6,
                7,
                18
              ],
              "data": "3DdGGhkhJbjm",
              "programIdIndex": 15
            },
            {
              "accounts": [
                6,
                5,
                18
              ],
              "data": "A",
              "programIdIndex": 15
            }
          ]
        }
      ],
      "loadedAddresses": {
        "readonly": [],
        "writable": []
      },
      "logMessages": [
        "Program M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K invoke [1]",
        "Program log: Instruction: Deposit",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K consumed 10148 of 600000 compute units",
        "Program M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K success",
        "Program M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K invoke [1]",
        "Program log: Instruction: Buy",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program log: {\"price\":72000000000,\"buyer_expiry\":0}",
        "Program M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K consumed 30501 of 589852 compute units",
        "Program M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K success",
        "Program M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K invoke [1]",
        "Program log: Instruction: ExecuteSaleV2",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program 11111111111111111111111111111111 invoke [2]",
        "Program 11111111111111111111111111111111 success",
        "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [2]",
        "Program log: Create",
        "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]",
        "Program log: Instruction: GetAccountDataSize",
        "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1622 of 497733 compute units",
        "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=",
        "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success",
        "Program 11111111111111111111111111111111 invoke [3]",
        "Program 11111111111111111111111111111111 success",
        "Program log: Initialize the associated token account",
        "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]",
        "Program log: Instruction: InitializeImmutableOwner",
        "Program log: Please upgrade to SPL Token 2022 for immutable owner support",
        "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 491243 compute units",
        "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success",
        "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]",
        "Program log: Instruction: InitializeAccount3",
        "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4241 of 487361 compute units",
        "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success",
        "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 21793 of 504630 compute units",
        "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL success",
        "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]",
        "Program log: Instruction: Transfer",
        "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 475696 compute units",
        "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success",
        "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]",
        "Program log: Instruction: CloseAccount",
        "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 3033 of 456654 compute units",
        "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success",
        "Program log: {\"price\":72000000000,\"seller_expiry\":-1,\"buyer_expiry\":0}",
        "Program M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K consumed 109266 of 559351 compute units",
        "Program M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K success"
      ],
      "postBalances": [
        371980779080,
        0,
        0,
        100129388687,
        0,
        81872924494,
        0,
        2039280,
        993583055919,
        0,
        1141440,
        3654000,
        1,
        1461600,
        5616720,
        934087680,
        1009200,
        731913600,
        457953014766
      ],
      "postTokenBalances": [
        {
          "accountIndex": 7,
          "mint": "FdsNQE5EeCe57tbEYCRV1JwW5dzNCof7MUTaGWhmzYqu",
          "owner": "CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX",
          "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
          "uiTokenAmount": {
            "amount": "1",
            "decimals": 0,
            "uiAmount": 1,
            "uiAmountString": "1"
          }
        }
      ],
      "preBalances": [
        444918828360,
        0,
        0,
        100129388687,
        0,
        10012651054,
        2039280,
        0,
        992503055919,
        2234160,
        1141440,
        3654000,
        1,
        1461600,
        5616720,
        934087680,
        1009200,
        731913600,
        457953014766
      ],
      "preTokenBalances": [
        {
          "accountIndex": 6,
          "mint": "FdsNQE5EeCe57tbEYCRV1JwW5dzNCof7MUTaGWhmzYqu",
          "owner": "1BWutmTvYPwDtmw9abTkS4Ssr8no61spGAvW1X6NDix",
          "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
          "uiTokenAmount": {
            "amount": "1",
            "decimals": 0,
            "uiAmount": 1,
            "uiAmountString": "1"
          }
        }
      ],
      "rewards": []
    },
    "slot": 171942732,
    "transaction": {
      "message": {
        "accountKeys": [
          "CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX",
          "NTYeYJ1wr4bpM5xo6zx5En44SvJFAd35zTxxNoERYqd",
          "AAaTGaA3uVqikfVEwoSG7EwkCb4bBDsMEyueiVUS5CaU",
          "autMW8SgBkVYeBgqYiTuJZnkvDZMVU2MHJh9Jh7CSQ2",
          "D8TxfGwdu9MiNMoJmUoC9wQfNfNT7Lnm6DzifQHRTy6B",
          "5DxD5ViWjvRZEkxQEaJHZw2sBsso6xoXx3wGFNKgXUzE",
          "25DTUAd1roBFoUQaxJQByL6Qy2cKQCBp4bK9sgfy9UiM",
          "DTYuh7gAGGZg2okM7hdFfU1yMY9LUemCiPyD5Z5GCs6Z",
          "rFqFJ9g7TGBD8Ed7TPDnvGKZ5pWLPDyxLcvcH2eRCtt",
          "CgXS5xC3qAGSg9txD9bS7BUgugZwshivGXpCJcGmdwrd",
          "M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K",
          "E8cU1WiRWjanGxmn96ewBgk9vPTcL6AEZ1t6F6fkgUWe",
          "11111111111111111111111111111111",
          "FdsNQE5EeCe57tbEYCRV1JwW5dzNCof7MUTaGWhmzYqu",
          "AYZsWahcrSnkwqbA1ji7wEzgAnGjLNJhVUMDPfACECZf",
          "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
          "SysvarRent111111111111111111111111111111111",
          "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",
          "1BWutmTvYPwDtmw9abTkS4Ssr8no61spGAvW1X6NDix"
        ],
        "addressTableLookups": null,
        "header": {
          "numReadonlySignedAccounts": 1,
          "numReadonlyUnsignedAccounts": 9,
          "numRequiredSignatures": 2
        },
        "instructions": [
          {
            "accounts": [
              0,
              1,
              2,
              3,
              11,
              12
            ],
            "data": "3GyWrkssW12wSfxjTynBnbif",
            "programIdIndex": 10
          },
          {
            "accounts": [
              0,
              1,
              13,
              14,
              2,
              3,
              11,
              4,
              3,
              15,
              12,
              16
            ],
            "data": "3Jmjmsq2jyrch5iz612vBLZCRB498owPe7qezQVetRZhiMu",
            "programIdIndex": 10
          },
          {
            "accounts": [
              0,
              5,
              1,
              6,
              13,
              14,
              2,
              7,
              3,
              11,
              8,
              4,
              3,
              9,
              3,
              15,
              12,
              17,
              18,
              16
            ],
            "data": "B2rqPwAgvj3t35y6HpdumfhdhsZMLNFLmXMC9Uz2HX4nNAwirTk3o98vTazFB1y",
            "programIdIndex": 10
          }
        ],
        "recentBlockhash": "3NRncb7FJuDruQjMDxnHvJBQkvkHa7KSUBqBsxG21roZ"
      },
      "signatures": [
        "5nNtjezQMYBHvgSQmoRmJPiXGsPAWmJPoGSa64xanqrauogiVzFyGQhKeFataHGXq51jR2hjbzNTkPUpP787HAmL",
        "4dWBkbLHGvU2jw9Sjj6YETtKfaVKAAN1M8aWzXRNC4aHBckUzM73n3FddNbWTtfUvkU2vFRQ7bKHMwKZQ5dGy1iH"
      ]
    }
  }
]

快速开始

我们提供三种方便的方法来创建、编辑和管理Helius上的webhooks。

通过Helius仪表板

如果您喜欢无代码解决方案以及查看日志和发送测试webhook事件等附加功能,Helius UI是理想选择。您可以通过我们的仪表板直接访问。您可以通过仪表板添加最多25个地址。要监控超过25个地址,可以使用我们的API或SDK。
您可以直接从仪表板创建一个webhook:
  1. 进入Helius仪表板
  2. 点击”添加Webhook”
  3. 完成必填字段
  4. 点击”创建Webhook”

通过Helius API

如果您不使用Typescript或Javascript,您需要通过REST API与我们的webhooks进行交互:

API参考

了解Webhooks API端点及其使用方法。

通过Helius SDK

通过我们的官方SDK与Helius webhooks进行交互是最简单且最愉快的方式。我们目前提供TypeScriptRust的SDK。

TypeScript SDK

TypeScript SDK提供了强大的webhook抽象功能。

Rust SDK

我们的Rust SDK为Helius webhooks提供原生Rust支持。
SDK提供了强大的抽象,增强了webhook的功能。

自动禁用故障Webhook

Helius监控Webhook端点健康状况,并自动禁用持续无法接收投递的Webhook。这可以防止对不可访问或故障端点的浪费投递尝试。

工作原理

  • 付费计划(开发及以上): 超过7天内**失败率≥ 95%**的Webhook会自动禁用。
  • 免费计划: Webhook在24小时窗口内根据相同的失败阈值进行评估。
系统每4小时检查一次Webhook的健康状况。Webhook被禁用时,投递会在几秒钟内停止。

电子邮件通知

开发计划及以上的用户在Webhook被自动禁用时会收到电子邮件通知。

重新启用已禁用的Webhook

1

修复您的端点

解决导致投递失败的问题(例如,服务器停机、URL错误、端点错误)。
2

登录到Helius Dashboard

3

重新启用Webhook

找到已禁用的Webhook并重新启用它。
您还可以通过Toggle Webhook API端点以编程方式重新启用Webhook。
重新启用后,Webhook进入24小时宽限期,在此期间不会自动禁用。这为您验证端点健康提供了时间。

示例用途

机器人

  • 当NFT在市场X上被列出时,触发“购买NFT”操作。
  • 当保证金头寸不健康时,触发“清算”操作。

监控与警报

  • 当程序发出某个日志时,会触发PagerDuty集成。
  • 当代币账户余额变化超过X%时,使用Dialect进行警告操作。

事件驱动的索引

  • 当给定程序发生任何交易时,直接将其发送到您的数据库或后端。

通知和活动跟踪

  • 从钱包 X 转移到钱包 Y 时——发送 Slack 通知或电子邮件。

分析和日志

  • 当事件 X 发生时,将其发送到 ETL 管道或直接在 Helius 上存储,以随时间查看趋势。

工作流程自动化

  • 当事件 X 发生时,触发任何动作集。