사용자가 지정한 주소 배열에 포함된 계정들의 활동을 모니터링합니다. 이 이벤트는 해당 계정들이 트랜잭션의 발신자(from) 또는 수신자(to)로 포함되어 있는 경우, 즉 트랜잭션, 토큰 전송(ERC20), 또는 NFT 전송(ERC721, ERC1155)이 발생할 때마다 알림을 제공합니다. 이 서비스는 사용자가 다수의 주소에 대한 활동을 실시간으로 파악할 수 있게 해 주어, 자산의 이동과 거래를 효과적으로 추적할 수 있도록 돕습니다.
Supported Network
Network | Supporting |
---|---|
Ethereum Mainnet | ✅ |
Ethereum Testnet (sepolia) | ✅ |
Ethereum Testnet (holesky) | ✅ |
Polygon Mainnet | ✅ |
Polygon Testnet (amoy) | ✅ |
Arbitrum Mainnet | ✅ |
Arbitrum Testnet (sepolia) | ✅ |
Optimism Mainnet | ✅ |
Optimism Testnet (sepolia) | ✅ |
Kaia Mainnet | ✅ |
Kaia Testnet (kairos) | ✅ |
Aptos Mainnet | ❌ |
Aptos Testnet | ❌ |
Webhook 생성 요청 예제
eventType
값을 ADDRESS_ACTIVITY로 설정하는 경우, 사용 가능한 condition 객체 필드는 아래와 같습니다. Value에 등록된 모든 주소들과 관련된 트랜잭션, 토큰(ERC20) Transfer, 또는 NFT(ERC721, ERC1155) Transfer가 발생하는 경우 Webhook 메시지를 수신할 수 있습니다.
Key | Type | Required | Description | Example Value |
---|---|---|---|---|
addresses | Array of Address | true | 이벤트를 모니터링 하고자 하는 주소들의 목록입니다. | ["0xdac17f958d2ee523a2206206994597c13d831ec7", "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"] |
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}"
},
"condition": {
"addresses": [
"0xdAC17F958D2ee523a2206206994597C13D831ec7"
]
}
}'
Response Example
Response 필드는 발생하는 Event type에 따라 달라질 수 있습니다.
📍 Type: Transaction
{
"subscriptionId": "4975",
"description": "{WEBHOOK_DESCRIPTION}",
"protocol": "ethereum",
"network": "mainnet",
"subscriptionType": "WEBHOOK",
"notification": {
"webhookUrl": "{WEBHOOK_LISTENER_ENDPOINT}"
},
"signingKey": "{signingKey}",
"eventType": "ADDRESS_ACTIVITY",
"event": {
"targetAddress": "0xdac17f958d2ee523a2206206994597c13d831ec7", // ⚠️ This field will be deprecated soon
"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",
"description": "{WEBHOOK_DESCRIPTION}",
"protocol": "ethereum",
"network": "mainnet",
"subscriptionType": "WEBHOOK",
"notification": {
"webhookUrl": "{WEBHOOK_LISTENER_ENDPOINT}"
},
"signingKey": "{signingKey}",
"eventType": "ADDRESS_ACTIVITY",
"event": {
"targetAddress": "0xdac17f958d2ee523a2206206994597c13d831ec7", // ⚠️ This field will be deprecated soon
"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",
"description": "{WEBHOOK_DESCRIPTION}",
"protocol": "ethereum",
"network": "mainnet",
"subscriptionType": "WEBHOOK",
"notification": {
"webhookUrl": "{WEBHOOK_LISTENER_ENDPOINT}"
},
"signingKey": "{signingKey}",
"eventType": "ADDRESS_ACTIVITY",
"event": {
"targetAddress": "0x59325733eb952a92e069c87f0a6168b29e80627f", // ⚠️ This field will be deprecated soon
"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",
"description": "{WEBHOOK_DESCRIPTION}",
"protocol": "ethereum",
"network": "mainnet",
"subscriptionType": "WEBHOOK",
"notification": {
"webhookUrl": "{WEBHOOK_LISTENER_ENDPOINT}"
},
"signingKey": "{signingKey}",
"eventType": "ADDRESS_ACTIVITY",
"event": {
"targetAddress": "0x7e6027a6a84fc1f6db6782c523efe62c923e46ff", // ⚠️ This field will be deprecated soon
"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"
}