Get real-time state changes when an address sends/receives ETH or tokens that you track using the Address Activity webhook.
Chain | Mainnet |
---|---|
Ethereum | ✅ |
Introduction
The Address Activity webhook allows you to track any address like EOA or smart contracts. This provides your app with real-time state changes when a token is transferred between addresses, like ETH, ERC20, ERC721 or ERC1155 transfers.
Types of transfers
There are four main types of transfers that occur on the chain between addresses.
Transfer type | Description |
---|---|
external native coin(ETH) | Top-level transaction transfers. |
internal native coin(ETH) | Internal Transfers between addresses. |
token | Event logs for ERC20. |
erc721 or erc1155 | Event logs for ERC721 and ERC1155 transfers. |
Example Response
When a provided address (EOA or smart contracts) exists in a transaction, and you may get its assert transfers or relatived transaction, you receive a response from the webhook that looks like this:
{
"id": "64a636ed247148b19b4ac1d4937b19ba",
"webhookId": "804ad91e-3400-4462-b9f5-afe8b78ea706",
"type": "ADDRESS",
"createdAt": "2023-08-30T11:57:50Z",
"event": {
"network": "eth-mainnet",
"activity": [
{
"category": "internal",
"fromAddress": "0xb67cb505324830dd181498b5b1c8ff7ffe6a49c44f1f02eda1a5214dce56f538",
"toAddress": "0x1635d18f20c9a6e302931faf61643fed57fbcce3",
"internalTransaction": {
"blockNumber": 18027262,
"blockHash": "0x8ab7fa9f37fb3cb19bc6fe43cbc288d64430543fac0325788f3f9638a4982049",
"hash": "0xb67cb505324830dd181498b5b1c8ff7ffe6a49c44f1f02eda1a5214dce56f538",
"from": "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad",
"to": "0x1635d18f20c9a6e302931faf61643fed57fbcce3",
"input": "0x0902f1ac",
"output": "0x0000000000000000000000000000000000000000011b0698ff86e0cecbd5f79100000000000000000000000000000000000000000000000ab82aa8fdac122db10000000000000000000000000000000000000000000000000000000064ef2e07",
"gas": "0x1cfb2",
"gasUsed": "0x9c8",
"type": "STATICCALL",
"value": null,
"error": null,
"revertReason": null,
"callLayer": 6,
"callStack": 2,
"success": true,
"revert": false
}
},
{
"category": "internal",
"fromAddress": "0xb67cb505324830dd181498b5b1c8ff7ffe6a49c44f1f02eda1a5214dce56f538",
"toAddress": "0x1635d18f20c9a6e302931faf61643fed57fbcce3",
"internalTransaction": {
"blockNumber": 18027262,
"blockHash": "0x8ab7fa9f37fb3cb19bc6fe43cbc288d64430543fac0325788f3f9638a4982049",
"hash": "0xb67cb505324830dd181498b5b1c8ff7ffe6a49c44f1f02eda1a5214dce56f538",
"from": "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad",
"to": "0x1635d18f20c9a6e302931faf61643fed57fbcce3",
"input": "0x022c0d9f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cca430ef8fb80b0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
"output": null,
"gas": "0x1bb3b",
"gasUsed": "0xece2",
"type": "CALL",
"value": "0x0",
"error": null,
"revertReason": null,
"callLayer": 9,
"callStack": 2,
"success": true,
"revert": false
}
}
]
}
}
Field Definitions
Below you can find descriptions for each field of the response.
Field | Description | Value |
---|---|---|
id | ID of the event. | 64a636ed247148b19b4ac1d4937b19ba |
webhookId | Unique ID of the webhook destination. | 804ad91e-3400-4462-b9f5-afe8b78ea706 |
type | Webhook event type. | ADDRESS |
createdAt | Timestamp when the event notification was created. | 2023-08-30T11:57:50Z |
event | Activity object. | N/A |
network | The default network for the webhook. | eth-mainnet |
activity | List of transfer events whose from or to address matches the address configured in the Address Activity webhook. | N/A |
category | The data standard. | internal |
fromAddress | Transfer from address. | 0xb67cb505324830dd181498b5b1c8ff7ffe6a49c44f1f02eda1a5214dce56f538 |
toAddress | Transfer to address. | 0x1635d18f20c9a6e302931faf61643fed57fbcce3 |
internalTransaction | Internal Transactions that coin transfers between addresses. | N/A |
blockNumber | The number of the block including this transaction. | 18027262 |
blockHash | A hash of the block including this transaction. | 0x8ab7fa9f37fb3cb19bc6fe43cbc288d64430543fac0325788f3f9638a4982049 |
hash | Transaction hash. | 0xb67cb505324830dd181498b5b1c8ff7ffe6a49c44f1f02eda1a5214dce56f538 |
from | The address of the sender. | 0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad |
to | The address of the receiver. | 0x1635d18f20c9a6e302931faf61643fed57fbcce3 |
input | The data is sent along with the transaction. | 0x022c0d9f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cca430ef8fb80b0000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000 |
output | The transaction output. | null |
gas | Gas provided by the sender. | 0x1bb3b |
gasUsed | The amount of gas used by this specific transaction alone. | 0xece2 |
type | Call type of the transaction. | CALL |
value | Asset transfer value. | 0x0 |
error | Error message. | null |
revertReason | The revert reason | null |
callLayer | The layer of this internal tx(start from 1). | 9 |
callStack | The stack of this internal tx(start from 1). | 2 |
success | Either true (success) or false (failure) | true |
rever | Either true (revet) or false (not revert) | false |
How to Set Up Address Activity Webhook
- Navigate to the Webhook tab in your ZAN Dashboard.
- Click the Create New button.
- Set a name of the webhook. Then Address template in the dropdown.
- Select your Chain in the dropdown. Then choose your Network.
- Paste your unique webhook URL into the WEBHOOK URL field.
- Add your Address,both single addition and batch addition are supported.
- Select all address events that you need to get notifications in Event dropdown.
- Test your webhook by clicking the TEST button.
- After the test is successful, click Confirm. Your webhook appears in the list.
- Check your endpoint to see the responses.
Note:
For more detailed steps on how to set up address activity webhooks, please refer to Create a New Webhook.