Skip to main content

ERC20 Event approval (EVENT_APPROVAL)

Triggers when an ERC20 contract emits an approval event, to track when a new allowance has been granted or revoked. The associated address should be the address of the smart contract on which the event is emitted. Here is an example of the payload sent to the webhook as a POST request when the event is triggered. You can find more details about the transaction object (please notice that it inherits the Transaction. The receipt object is described here.

{
projectId: "string",
event: "EVENT_APPROVAL",
data: {
transaction: {
hash: "string",
type: "number",
accessList: [],
blockHash: "string",
blockNumber: "number",
transactionIndex: "number",
confirmations: "number",
from: "string",
gasPrice: {
hex: "string",
raw: "string",
},
maxPriorityFeePerGas: {
hex: "string",
raw: "string",
},
maxFeePerGas: {
hex: "string",
raw: "string",
},
gasLimit: {
hex: "string",
raw: "string",
},
to: "string",
value: {
hex: "string",
raw: "string",
},
nonce: "number",
data: "string",
r: "string",
s: "string",
v: "number",
creates: null,
chainId: "number",
},
receipt: {
to: "string",
from: "string",
contractAddress: null,
transactionIndex: "number",
gasUsed: {
hex: "string",
raw: "string",
},
logsBloom: "string",
blockHash: "string",
transactionHash: "string",
logs: [
{
transactionIndex: "number",
blockNumber: "number",
transactionHash: "string",
address: "string",
topics: ["string", "string", "string", "string"],
data: "string",
logIndex: "number",
blockHash: "string",
},
],
blockNumber: "number",
confirmations: "number",
cumulativeGasUsed: {
hex: "string",
raw: "string",
},
effectiveGasPrice: {
hex: "string",
raw: "string",
},
status: "number",
type: "number",
byzantium: "boolean",
},
network: "string",
blockchain: "string",
approval: {
owner: "string",
spender: "string",
value: {
// Amount minted
type: "string", // Type associated to the hex value
hex: "string", // Value expressed as "type" in hexadecimal
},
contractAddress: "string",
},
},
}