We currently support sending the following webhook events.

Event Types

EntityEventEvent TypeDescriptionEvent Schema
walletinbound_transferwallet.inbound_transferWallet inbound transfer to wallet addressesTransfer Model
walletoutbound_transferwallet.outbound_transferWallet outbound transfer from wallet addressesTransfer Model
nfttransfernft.transferNFT transfer for nft_idsTransfer Model
contracttransfercontract.transferContract transfers including mints/burnsTransfer Model
contractnft_metadata_updatecontract.nft_metadata_updateNFT IDs with metadata updates on a specified contracta subset of the NFT Model*
chainnft_metadata_updatechain.nft_metadata_updateNFT IDs with metadata updates on a specified chaina subset of the NFT Model *

Event Payload

Each webhook will be a POST request at a URL specified during webhook creation.

Example: You will receive the following wallet.inbound_transfer event message if your webhook is subscribed for wallet.inbound_transfer with:

  • wallet_address: 0xfa6E0aDDF68267b8b6fF2dA55Ce01a53Fad6D8e2
  • chain: ethereum

The payload for transfer messages are formatted according to the Transfer Model

{
    "type": "wallet.inbound_transfer",
    "data": {
        "nft_id": "ethereum.0xc0cb81c1f89ab0873653f67eea42652f13cd8416.4963",
        "chain": "ethereum",
        "contract_address": "0xc0Cb81c1F89Ab0873653f67EEa42652F13CD8416",
        "token_id": "4963",
        "from_address": "0x951038bB372D16180c0AFB0f46aB283059154004",
        "to_address": "0xfa6E0aDDF68267b8b6fF2dA55Ce01a53Fad6D8e2",
        "quantity": 1,
        "timestamp": "2021-11-01T16:42:15Z",
        "block_number": 13532274,
        "block_hash": "0x935a670596d3b6ad924a5ea4ef11487754b596a5a1fa1586cfb9f71685e779eb",
        "transaction": "0x06cf3ec933480aa9323fb0a3e26f88bd35af334adb692609fa56d8e7fb96b786",
        "log_index": 295,
        "batch_transfer_index": 0,
        "sale_details": {
            "marketplace_name": "OpenSea",
            "is_bundle_sale": false,
            "payment_token": {
                "payment_token_id": "ethereum.native",
                "name": "Ether",
                "symbol": "ETH",
                "address": null,
                "decimals": 18
            },
            "unit_price": 29900000000000000,
            "total_price": 29900000000000000
        }
    }
}

The payload for nft_metadata_update messages are formatting as a subset of the NFT Model*

{
    "type": "chain.nft_metadata_update",
    "nfts": [
        {
            "nft_id": "ethereum.0x8943c7bac1914c9a7aba750bf2b6b09fd21037e0.5903",
            "name": "#5903",
            "description": "Lazy Lions",
            "image_url": "https://cdn.simplehash.com/assets/ab011a63a526ba533a868fe361b69004a70fcceb2b0c1c1bb3f6d92dbab95039.jpg",
            "video_url": null,
            "audio_url": null,
            "model_url": null,
            "previews": {
                "image_small_url": "https://lh3.googleusercontent.com/9MwgePRAM6ZteqhFiJr5nBJw16ptq7zCgZTlw8RwNJJO67XfyF945KL7RP4GmdDuWXcRsYo1yoDjYYQoveOpGYFKm3DG5b7nyw=s250",
                "image_medium_url": "https://lh3.googleusercontent.com/9MwgePRAM6ZteqhFiJr5nBJw16ptq7zCgZTlw8RwNJJO67XfyF945KL7RP4GmdDuWXcRsYo1yoDjYYQoveOpGYFKm3DG5b7nyw",
                "image_large_url": "https://lh3.googleusercontent.com/9MwgePRAM6ZteqhFiJr5nBJw16ptq7zCgZTlw8RwNJJO67XfyF945KL7RP4GmdDuWXcRsYo1yoDjYYQoveOpGYFKm3DG5b7nyw=s1000",
                "image_opengraph_url": "https://lh3.googleusercontent.com/9MwgePRAM6ZteqhFiJr5nBJw16ptq7zCgZTlw8RwNJJO67XfyF945KL7RP4GmdDuWXcRsYo1yoDjYYQoveOpGYFKm3DG5b7nyw=k-w1200-s2400-rj",
                "blurhash": "USE.IOjb0ik9XKWBV}t6x[ofM|[email protected]|aeW;of"
            },
            "extra_metadata": {
                "attributes": [
                    {
                        "trait_type": "Background",
                        "value": "Iron"
                    },
                    {
                        "trait_type": "Body",
                        "value": "Black"
                    },
                    {
                        "trait_type": "Bodygear",
                        "value": "Purple Fur Coat"
                    },
                    {
                        "trait_type": "Earring",
                        "value": "Nothing"
                    },
                    {
                        "trait_type": "Eyes",
                        "value": "Stoner"
                    },
                    {
                        "trait_type": "Headgear",
                        "value": "Bucket Hat"
                    },
                    {
                        "trait_type": "Mane",
                        "value": "Brown"
                    },
                    {
                        "trait_type": "Mouth",
                        "value": "Yelling"
                    }
                ],
                "image_original_url": "ipfs://QmVHxVJeJ8HseTjnhke29irvaQvehjgLqVTJ3R1UUtZKR6",
                "animation_original_url": null
            }
        }
    ]
}

* Included fields from the NFT model:

  • nft_id
  • name
  • description
  • image_url
  • video_url
  • audio_url
  • model_url
  • previews
  • extra_metadata

To indicate that a webhook message has been processed, return a HTTP 2XX status code (200-299) to the webhook message within a reasonable time-frame (15 seconds).