Create Webhook

This endpoint is used to create a webhook.

🚧

Certain webhook events with high volumes require whitelisting to be used - please contact [email protected] if you'd like to use any of the following:

chain.transfer, chain.floor_price_update, chain.listing_added, chain.listing_modified, chain.listing_removed

Request Examples

Example 1 - Creating a webhook to subscribe to three wallets addresses for wallet inbound and outbound transfers for 3 mainnet chains.

{
    "webhook_url": "https://example.com/webhook_receiver",
    "event_types": [
        "wallet.inbound_transfer",
        "wallet.outbound_transfer"
    ],
    "wallet_addresses": [
        "0xc31C535F4d9A789df0c16D461B4F811543b72FEb",
        "0xF6E43830663D155CA4C184F3A9a1fCD2b82A3eb8",
        "0x3652689121d86Ba8aC1700057842993bFB12a51B"
    ],
    "chains": [
        "ethereum",
        "solana",
        "polygon"
    ]
}

Example 2 - Creating a webhook to subscribe to NFT transfer events for 4 NFTs.

{
    "webhook_url": "https://example.com/webhook_listener",
    "event_types": [
        "nft.transfer"
    ],
    "nft_ids": [
        "ethereum.0x05b1ef501cfdeed15f73bfc4a926e528cd95d190.6120",
        "solana.2iZBbRGnLVEEZH6JDsaNsTo66s2uxx7DTchVWKU8oisR",
        "solana.3knghmwnuaMxkiuqXrqzjL7gLDuRw6DkkZcW7F4mvkK8",
        "ethereum.0xed5af388653567af2f388e6224dc7c4b3241c544.2767"
    ]
}

Example 3 - Creating a webhook to subscribe to contract transfer events (including mints/burns) & specifying a custom webhook_secret for message signature verification.

{
    "webhook_url": "https://example.com/webhook_listener",
    "event_types": [
        "contract.transfer"
    ],
    "contract_addresses": [
        "ethereum.0x495f947276749ce646f68ac8c248420045cb7b5e"
    ],
    "webhook_secret": "d2pxazhtNnhnaGZuN3FhMGZ3aDZhZmxj"
}

Example4 - Creating a webhook to subscribe to NFT metadata updates for all NFTs on one or more contracts

{
    "webhook_url": "https://example.com/webhook_listener",
    "event_types": [
        "contract.nft_metadata_update"
    ],
    "contract_addresses": [
        "ethereum.0x495f947276749ce646f68ac8c248420045cb7b5e"
    ],
}

Example 5 - Creating a webhook to subscribe to NFT metadata updates for all NFTs on one or more chains

{
    "webhook_url": "https://example.com/webhook_listener",
    "event_types": [
        "chain.nft_metadata_update"
    ],
    "chains": [
        "ethereum"
    ]
}

Example 6 - Creating a webhook to subscribe to floor price updates for a collection on blur, opensea, looksrare and x2y2

{
    "webhook_url": "https://example.com/webhook_listener",
    "event_types": [
        "collection.floor_price_update"
    ],
    "collection_ids": [
        "510139ec0d8cf5513d59a8d3afa1c061"
    ],
    "marketplaces": [
        "blur",
        "opensea",
        "looksrare",
        "x2y2"
    ]
}

📘

Use chain.floor_price_update to subscribe to floor price updates by chain

{
    "webhook_url": "https://example.com/webhook_listener",
    "event_types": [
        "chain.floor_price_update"
    ],
    "chains": [
        "ethereum"
    ],
    "marketplaces": [
        "blur",
        "opensea",
        "looksrare",
        "x2y2"
    ]
}

Example 7 - Creating a webhook to subscribe to collection transfer events (including mints/burns).

{
    "webhook_url": "https://example.com/webhook_listener",
    "event_types": [
        "collection.transfer"
    ],
    "collection_ids": [
        "510139ec0d8cf5513d59a8d3afa1c061"
    ],
}

Example 8 - Creating a webhook to subscribe to listing (added, modified & removed) events for ethereum chain.

{
    "webhook_url": "https://example.com/webhook_listener",
    "event_types": [
        "chain.listing_added",
        "chain.listing_modified",
        "chain.listing_removed"
    ],
    "chains": [
        "ethereum"
    ]
}

🚧

Conditional Required Parameters

wallet_addresses and chains are required for wallet events.

nft_idsare required for nft events.

contract_addresses are required for contract events.

chains are required for chain events.

collection_ids are required for collection events. In addition, marketplaces is required for collection.floor_price_update

👍

Webhook event_types must have a unique entity

event_types: event_types must have a unique entity

wallet.inbound_transfer and wallet.outbound_transfer have unique entity: wallet

Entities in the following event_types are not unique

event_types: the following event_types are not unique

collection.transfer and chain.transfer do not have unique entities.

📘

Limits

The create webhook POST endpoint supports up to 200 nft_ids, contract_addresses,collection_ids and 1000 (per webhook) wallet addresses. We can support up to 100K wallets per webhook. Please contact [email protected] for limit increases.

Use the Update Webhook endpoint to add / remove wallet_addresses after creating a webhook.

See https://simplehash.readme.io/reference/webhook-events for a full list of webhook events and supported entities.

Language