Address Activity
The number of accounts you can configure for the Address Activity event type depends on your Nodit plan. Check the number of filterable accounts allowed for your plan and consider upgrading if needed.
- Free Trial ~ Developer Plan: Up to 10
- Business Plan: Up to 10,000
- Enterprise Plan and above: Custom
Supported Network
Network | Supporting |
|---|---|
Ethereum Mainnet | ✅ |
Ethereum Testnet (sepolia) | ✅ |
Ethereum Testnet (hoodi) | ✅ |
Base Mainnet | ✅ |
Base Testnet(sepolia) | ✅ |
BNB Mainnet | ✅ |
BNB Testnet | ✅ |
Polygon Mainnet | ✅ |
Arbitrum Mainnet | ✅ |
Arbitrum Testnet (sepolia) | ✅ |
Optimism Mainnet | ✅ |
Optimism Testnet (sepolia) | ✅ |
Kaia Mainnet | ✅ |
Kaia Testnet (kairos) | ✅ |
Avalanche Mainnet | ✅ |
Tron Mainnet | ✅ |
Giwa Testnet (sepolia) | ✅ |
Arc Testnet | ✅ |
Aptos Mainnet | ❌ |
Aptos Testnet | ❌ |
Webhook Creation Request Example
When setting the eventType value to ADDRESS_ACTIVITY, the available condition object fields are as follows. Provide the monitored addresses in one of two ways: list them directly in addresses, or specify the addressSetId of a set created in advance with the Address Set API. A Webhook message is received whenever a transaction, native token transfer, token (ERC20) transfer, or NFT (ERC721, ERC1155) transfer occurs involving any registered address.
Key | Type | Required | Description | Example Value |
|---|---|---|---|---|
addresses | Array of Address | one of the two | The list of addresses to monitor for events. Cannot be used together with addressSetId. | ["0xdac17f958d2ee523a2206206994597c13d831ec7", "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"] |
addressSetId | String | one of the two | The addressSetId of the Address Set whose addresses are to be monitored. Specify a set created in advance with the Address Set API; it cannot be used together with addresses. The set must be in READY status, and its addressFormat must match the address format of the chain the Webhook is created on. Pass the 19-digit number as a string. | "1788439512345678901" |
- Providing both returns 400
INVALID_PARAMETER, and providing neither returns 400MISSING_REQUIRED_PARAMETER. - The Address Set specified by
addressSetIdmust be inREADYstatus (otherwise 409ADDRESS_SET_NOT_READY), and itsaddressFormatmust match the address format of the chain the Webhook is created on (otherwise 422ADDRESS_SET_FORMAT_MISMATCH, e.g. attaching a TRON set to an EVM chain). A set that does not exist, or that belongs to another account or another project, returns 404RESOURCE_NOT_FOUND. - Passing
addressSetIdfor an event type other thanADDRESS_ACTIVITYreturns 400. - To create an Address Set and manage its addresses, refer to the Address Set API under the Webhook API.
Request Example
curl --location 'https://web3.nodit.io/v1/ethereum/mainnet/webhooks' \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: ••••••' \
--data '{
"eventType": "ADDRESS_ACTIVITY",
"description": "{WEBHOOK_DESCRIPTION}",
"notification": {
"webhookUrl": "{WEBHOOK_LISTENER_ENDPOINT}"
},
"isInstant": false,
"condition": {
"addresses": [
"0xdAC17F958D2ee523a2206206994597C13D831ec7"
]
}
}'
When using an Address Set:
curl --location 'https://web3.nodit.io/v1/ethereum/mainnet/webhooks' \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: ••••••' \
--data '{
"eventType": "ADDRESS_ACTIVITY",
"description": "{WEBHOOK_DESCRIPTION}",
"notification": {
"webhookUrl": "{WEBHOOK_LISTENER_ENDPOINT}"
},
"isInstant": false,
"condition": {
"addressSetId": "1788439512345678901"
}
}'
Response Example
Response fields may vary depending on the Event type that occurs.
📍 Type: Transaction
{
"subscriptionId": "4975",
"sequenceNumber": "2",
"description": "{WEBHOOK_DESCRIPTION}",
"protocol": "ethereum",
"network": "mainnet",
"subscriptionType": "WEBHOOK",
"notification": {
"webhookUrl": "{WEBHOOK_LISTENER_ENDPOINT}"
},
"eventType": "ADDRESS_ACTIVITY",
"event": {
"targetAddresses": [
"0xdac17f958d2ee523a2206206994597c13d831ec7",
"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
],
"messages": [
{
"block_hash": "0x494be06126a80322fa5808168b0d1e180abbcb154591409d2fe7d4e6629f9089",
"block_number": 21491830,
"block_timestamp": 1735278755,
"from_address": "0x199a08c6f0d587ebb1102843217d8be54dfa5a74",
"gas": 69373,
"gas_price": 10670603914,
"hash": "0x1ad17c5fdc26ee40a5a086a839d715564c1f56a865fec4a96fb8ac64a7f246e9",
"input": "0xa9059cbb0000000000000000000000009642b23ed1e01df1092b92641051881a322f5d4e0000000000000000000000000000000000000000000000000000000012ddef48",
"max_fee_per_gas": null,
"max_priority_fee_per_gas": null,
"nonce": 2,
"to_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
"transaction_index": 2,
"transaction_type": 0,
"value": "0",
"access_list": null,
"receipt_contract_address": null,
"receipt_cumulative_gas_used": 83309,
"receipt_effective_gas_price": 10670603914,
"receipt_gas_used": 41309,
"receipt_root": null,
"receipt_status": 1,
"type": "transaction"
}
]
},
"createdAt": "2024-12-27T05:54:40.797Z"
}
📍 Type: ERC20
{
"subscriptionId": "4975",
"sequenceNumber": "2",
"description": "{WEBHOOK_DESCRIPTION}",
"protocol": "ethereum",
"network": "mainnet",
"subscriptionType": "WEBHOOK",
"notification": {
"webhookUrl": "{WEBHOOK_LISTENER_ENDPOINT}"
},
"eventType": "ADDRESS_ACTIVITY",
"event": {
"targetAddresses": [
"0xdac17f958d2ee523a2206206994597c13d831ec7",
"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
],
"messages": [
{
"token_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
"from_address": "0x199a08c6f0d587ebb1102843217d8be54dfa5a74",
"to_address": "0x9642b23ed1e01df1092b92641051881a322f5d4e",
"value": "316534600",
"transaction_hash": "0x1ad17c5fdc26ee40a5a086a839d715564c1f56a865fec4a96fb8ac64a7f246e9",
"log_index": 0,
"block_number": 21491830,
"block_timestamp": 1735278755,
"type": "erc20"
}
]
},
"createdAt": "2024-12-27T05:54:40.801Z"
}
📍 Type: ERC721
{
"subscriptionId": "4975",
"sequenceNumber": "2",
"description": "{WEBHOOK_DESCRIPTION}",
"protocol": "ethereum",
"network": "mainnet",
"subscriptionType": "WEBHOOK",
"notification": {
"webhookUrl": "{WEBHOOK_LISTENER_ENDPOINT}"
},
"eventType": "ADDRESS_ACTIVITY",
"event": {
"targetAddresses": [
"0x59325733eb952a92e069c87f0a6168b29e80627f",
"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
],
"messages": [
{
"token_address": "0x59325733eb952a92e069c87f0a6168b29e80627f",
"from_address": "0x3bf56c083ef2de9c79df6edde9c95a29a1f11044",
"to_address": "0x3bd3ebadbfb6b30139fe747a57acc18ce090575c",
"token_id": "3255",
"transaction_hash": "0x16c181ac5c9c53a8bbf5f42fe47be344565f7baf3412b934b43db0ae0c7ce3ed",
"log_index": 171,
"block_number": 21491933,
"block_timestamp": 1735280015,
"type": "erc721"
}
]
},
"createdAt": "2024-12-27T06:15:37.335Z"
}
📍 Type: ERC1155
{
"subscriptionId": "4975",
"sequenceNumber": "2",
"description": "{WEBHOOK_DESCRIPTION}",
"protocol": "ethereum",
"network": "mainnet",
"subscriptionType": "WEBHOOK",
"notification": {
"webhookUrl": "{WEBHOOK_LISTENER_ENDPOINT}"
},
"eventType": "ADDRESS_ACTIVITY",
"event": {
"targetAddresses": [
"0x7e6027a6a84fc1f6db6782c523efe62c923e46ff",
"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
],
"messages": [
{
"batch_index": 0,
"block_number": 21491967,
"block_timestamp": 1735280423,
"from_address": "0xa0c6db727ce729f49dc23dafe905fe61fa65324b",
"log_index": 745,
"operator": "0x1e0049783f008a0085193e00003d00cd54003c71",
"to_address": "0x9878e0079f5d51241e4dadea3d3ef9d5cfb9361e",
"token_address": "0x7e6027a6a84fc1f6db6782c523efe62c923e46ff",
"token_id": "12280399071338265579933953693534156686237169383673762100623894355092729371128",
"transaction_hash": "0xefc3acb7ebfe6e5ada1c2890df884599ead6a585e357d686e347cc8aeb684bbb",
"value": "1",
"type": "erc1155"
}
]
},
"createdAt": "2024-12-27T06:22:05.509Z"
}
📍 Type: Native Transfer(EVM)
A message type that tracks the movement of native tokens on EVM-based chains. To receive Native Transfer type messages, set the withNative field to true when creating the ADDRESS_ACTIVITY event.
{
"subscriptionId": "4975",
"sequenceNumber": "2",
"description": "{WEBHOOK_DESCRIPTION}",
"protocol": "ethereum",
"network": "mainnet",
"subscriptionType": "WEBHOOK",
"notification": {
"webhookUrl": "{WEBHOOK_LISTENER_ENDPOINT}"
},
"eventType": "ADDRESS_ACTIVITY",
"event": {
"targetAddresses": [
"0xabc...",
"0xdef..."
],
"messages": [
{
"type": "nativeTransfer",
"from_address": "0xabc...",
"to_address": "0xdef...",
"value": "1000000000000000000",
"transaction_hash": "0x123...",
"block_number": 21000000,
"block_hash": "0xaaa...",
"block_timestamp": 1710000000,
"transaction_index": 3,
"trace_index": 0
}
]
},
"createdAt": "2024-12-27T06:22:05.509Z"
}
📍 Type: Native Transfer(Tron)
A message type that tracks the movement of native tokens on the Tron chain. To receive Native Transfer type messages, set the withNative field to true when creating the ADDRESS_ACTIVITY event.
{
"subscriptionId": "4975",
"sequenceNumber": "2",
"description": "{WEBHOOK_DESCRIPTION}",
"protocol": "tron",
"network": "mainnet",
"subscriptionType": "WEBHOOK",
"notification": {
"webhookUrl": "{WEBHOOK_LISTENER_ENDPOINT}"
},
"eventType": "ADDRESS_ACTIVITY",
"event": {
"targetAddresses": [
"TAQ3S3o1...",
"TPahvCrJ..."
],
"messages": [
{
"type": "nativeTransfer",
"from_address": "TAQ3S3o1...",
"to_address": "TPahvCrJ...",
"value": "20000000",
"tx_id": "6a6ddcac...",
"tx_index": 165,
"internal_tx_index": -1,
"exchange_id": null,
"block_number": 82107734,
"block_hash": "0000000...",
"block_timestamp": 1776991116
}
]
},
"createdAt": "2024-12-27T06:22:05.509Z"
}
📍 Type: Withdrawal
An event message for querying Beacon Chain withdrawals. Nodit supports withdrawals on Ethereum mainnet, sepolia, and hoodi.
To receive Withdrawal type messages, set withNative to true when creating the ADDRESS_ACTIVITY event.
{
"subscriptionId": "4975",
"sequenceNumber": "2",
"description": "{WEBHOOK_DESCRIPTION}",
"protocol": "ethereum",
"network": "mainnet",
"subscriptionType": "WEBHOOK",
"notification": {
"webhookUrl": "{WEBHOOK_LISTENER_ENDPOINT}"
},
"eventType": "ADDRESS_ACTIVITY",
"event": {
"targetAddresses": [
"0xdef..."
],
"messages": [
{
"type": "withdrawal",
"from_address": "0x0000000000000000000000000000000000000000",
"to_address": "0xdef...",
"value": "32000000000000000000",
"index": 12345,
"validator_index": 678,
"block_number": 21000000,
"block_hash": "0xaaa...",
"block_timestamp": 1710000000
}
]
},
"createdAt": "2024-12-27T06:22:05.509Z"
}
📍 Type: Atomic
An event message for querying imports and exports on the Avalanche C-Chain. To receive Atomic type messages, set withNative to true when creating the ADDRESS_ACTIVITY webhook.
{
"subscriptionId": "4975",
"sequenceNumber": "2",
"description": "{WEBHOOK_DESCRIPTION}",
"protocol": "avalanche",
"network": "mainnet",
"subscriptionType": "WEBHOOK",
"notification": {
"webhookUrl": "{WEBHOOK_LISTENER_ENDPOINT}"
},
"eventType": "ADDRESS_ACTIVITY",
"event": {
"targetAddresses": [
"0xabc..."
],
"messages": [
{
"type": "atomic",
"from_address": "0xabc...",
"to_address": "0x0000000000000000000000000000000000000000",
"from_chain": "C",
"to_chain": "P",
"value": "5000000000000000000",
"block_number": 40000000,
"block_hash": "0xaaa...",
"block_timestamp": 1710000000
}
]
},
"createdAt": "2024-12-27T06:22:05.509Z"
}
📍 Type: TRC20
A message type that tracks TRC-20 token transfers on the Tron chain. Addresses are provided in Base58 format (starting with T).
{
"subscriptionId": "4975",
"sequenceNumber": "2",
"description": "{WEBHOOK_DESCRIPTION}",
"protocol": "tron",
"network": "mainnet",
"subscriptionType": "WEBHOOK",
"notification": {
"webhookUrl": "{WEBHOOK_LISTENER_ENDPOINT}"
},
"eventType": "ADDRESS_ACTIVITY",
"event": {
"targetAddresses": [
"T..."
],
"messages": [
{
"token_address": "T...",
"from_address": "T...",
"to_address": "T...",
"value": "48100000",
"log_index": 0,
"tx_id": "...",
"tx_index": 283,
"block_number": 85768711,
"block_timestamp": 1787977626,
"type": "trc20"
}
]
},
"createdAt": "2024-12-27T06:22:05.509Z"
}
📍 Type: TRC721
A message type that tracks TRC-721 NFT transfers on the Tron chain. It has the same structure as TRC-20, except that token_id is provided instead of value.
{
"subscriptionId": "4975",
"sequenceNumber": "2",
"description": "{WEBHOOK_DESCRIPTION}",
"protocol": "tron",
"network": "mainnet",
"subscriptionType": "WEBHOOK",
"notification": {
"webhookUrl": "{WEBHOOK_LISTENER_ENDPOINT}"
},
"eventType": "ADDRESS_ACTIVITY",
"event": {
"targetAddresses": [
"T..."
],
"messages": [
{
"token_address": "T...",
"from_address": "T...",
"to_address": "T...",
"token_id": "1234",
"log_index": 0,
"tx_id": "...",
"tx_index": 283,
"block_number": 85768711,
"block_timestamp": 1787977626,
"type": "trc721"
}
]
},
"createdAt": "2024-12-27T06:22:05.509Z"
}
📍 Type: TRC1155
A message type that tracks TRC-1155 token transfers on the Tron chain. It adds the token_id, operator, and batch_index fields to the TRC-20 structure.
{
"subscriptionId": "4975",
"sequenceNumber": "2",
"description": "{WEBHOOK_DESCRIPTION}",
"protocol": "tron",
"network": "mainnet",
"subscriptionType": "WEBHOOK",
"notification": {
"webhookUrl": "{WEBHOOK_LISTENER_ENDPOINT}"
},
"eventType": "ADDRESS_ACTIVITY",
"event": {
"targetAddresses": [
"T..."
],
"messages": [
{
"token_address": "T...",
"from_address": "T...",
"to_address": "T...",
"operator": "T...",
"value": "1",
"token_id": "1234",
"batch_index": 0,
"log_index": 0,
"tx_id": "...",
"tx_index": 283,
"block_number": 85768711,
"block_timestamp": 1787977626,
"type": "trc1155"
}
]
},
"createdAt": "2024-12-27T06:22:05.509Z"
}