Skip to main content

Address Activity


info

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"

Use exactly one of addresses and addressSetId.
  • Providing both returns 400 INVALID_PARAMETER, and providing neither returns 400 MISSING_REQUIRED_PARAMETER.
  • The Address Set specified by addressSetId must be in READY status (otherwise 409 ADDRESS_SET_NOT_READY), and its addressFormat must match the address format of the chain the Webhook is created on (otherwise 422 ADDRESS_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 404 RESOURCE_NOT_FOUND.
  • Passing addressSetId for an event type other than ADDRESS_ACTIVITY returns 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

warning

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"
}