Uniblock · Schema
Uniblock Webhook Event
Schema representing webhook event payloads delivered by Uniblock when blockchain events matching configured filters are detected.
BlockchainWeb3
Properties
| Name | Type | Description |
|---|---|---|
| metadata | object | |
| data | object | The event-specific data payload. Structure varies by event type. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://uniblock.dev/schemas/uniblock/webhook-event.json",
"title": "Uniblock Webhook Event",
"description": "Schema representing webhook event payloads delivered by Uniblock when blockchain events matching configured filters are detected.",
"type": "object",
"required": ["metadata", "data"],
"properties": {
"metadata": {
"$ref": "#/$defs/WebhookMetadata"
},
"data": {
"type": "object",
"description": "The event-specific data payload. Structure varies by event type."
}
},
"$defs": {
"WebhookMetadata": {
"type": "object",
"description": "Common metadata included in all webhook event payloads.",
"required": ["webhookId", "eventType", "chain", "timestamp"],
"properties": {
"webhookId": {
"type": "string",
"description": "The unique identifier of the webhook subscription that triggered this notification."
},
"eventType": {
"type": "string",
"description": "The type of blockchain event that triggered the webhook.",
"enum": [
"ADDRESS_ACTIVITY",
"TOKEN_TRANSFER",
"NFT_TRANSFER",
"MINED_TRANSACTION"
]
},
"chain": {
"type": "string",
"description": "The blockchain network on which the event occurred."
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "The ISO 8601 timestamp when the event was detected by Uniblock."
}
}
},
"AddressActivityData": {
"type": "object",
"description": "Data payload for address activity events.",
"required": ["address", "transactionHash"],
"properties": {
"address": {
"type": "string",
"description": "The monitored address involved in the activity."
},
"direction": {
"type": "string",
"description": "Whether the address was the sender or receiver.",
"enum": ["inbound", "outbound"]
},
"transactionHash": {
"type": "string",
"description": "The hash of the transaction.",
"pattern": "^0x[a-fA-F0-9]{64}$"
},
"from": {
"type": "string",
"description": "The sender address."
},
"to": {
"type": "string",
"description": "The recipient address."
},
"value": {
"type": "string",
"description": "The value transferred in the native token's smallest unit."
},
"blockNumber": {
"type": "integer",
"description": "The block number containing the transaction.",
"minimum": 0
},
"blockTimestamp": {
"type": "string",
"format": "date-time",
"description": "The timestamp of the block."
}
}
},
"TokenTransferData": {
"type": "object",
"description": "Data payload for token transfer events.",
"required": ["transactionHash", "contractAddress"],
"properties": {
"transactionHash": {
"type": "string",
"description": "The hash of the transaction containing the transfer.",
"pattern": "^0x[a-fA-F0-9]{64}$"
},
"from": {
"type": "string",
"description": "The sender address."
},
"to": {
"type": "string",
"description": "The recipient address."
},
"contractAddress": {
"type": "string",
"description": "The smart contract address of the transferred token."
},
"tokenName": {
"type": "string",
"description": "The name of the transferred token."
},
"tokenSymbol": {
"type": "string",
"description": "The symbol of the transferred token."
},
"value": {
"type": "string",
"description": "The amount transferred in the token's smallest unit."
},
"decimals": {
"type": "integer",
"description": "The number of decimal places for the token.",
"minimum": 0
},
"blockNumber": {
"type": "integer",
"description": "The block number containing the transfer.",
"minimum": 0
},
"blockTimestamp": {
"type": "string",
"format": "date-time",
"description": "The timestamp of the block."
}
}
},
"NftTransferData": {
"type": "object",
"description": "Data payload for NFT transfer events.",
"required": ["transactionHash", "contractAddress", "tokenId"],
"properties": {
"transactionHash": {
"type": "string",
"description": "The hash of the transaction containing the transfer.",
"pattern": "^0x[a-fA-F0-9]{64}$"
},
"from": {
"type": "string",
"description": "The sender address."
},
"to": {
"type": "string",
"description": "The recipient address."
},
"contractAddress": {
"type": "string",
"description": "The smart contract address of the NFT collection."
},
"tokenId": {
"type": "string",
"description": "The token ID of the transferred NFT."
},
"tokenType": {
"type": "string",
"description": "The token standard type.",
"enum": ["ERC-721", "ERC-1155"]
},
"quantity": {
"type": "integer",
"description": "The number of tokens transferred (relevant for ERC-1155).",
"minimum": 1
},
"blockNumber": {
"type": "integer",
"description": "The block number containing the transfer.",
"minimum": 0
},
"blockTimestamp": {
"type": "string",
"format": "date-time",
"description": "The timestamp of the block."
}
}
},
"MinedTransactionData": {
"type": "object",
"description": "Data payload for mined transaction events.",
"required": ["transactionHash"],
"properties": {
"transactionHash": {
"type": "string",
"description": "The hash of the mined transaction.",
"pattern": "^0x[a-fA-F0-9]{64}$"
},
"from": {
"type": "string",
"description": "The sender address."
},
"to": {
"type": "string",
"description": "The recipient address."
},
"value": {
"type": "string",
"description": "The value transferred in the native token's smallest unit."
},
"status": {
"type": "string",
"description": "The execution status of the transaction.",
"enum": ["success", "failed"]
},
"blockNumber": {
"type": "integer",
"description": "The block number in which the transaction was mined.",
"minimum": 0
},
"blockTimestamp": {
"type": "string",
"format": "date-time",
"description": "The timestamp of the block."
},
"gasUsed": {
"type": "string",
"description": "The amount of gas consumed by the transaction."
}
}
}
}
}