Example JSON
On successful payments, we POST a JSON payload to your IPN URL. Callbacks are only sent for completed payments — there is no status field; receiving the callback means the funds have been delivered to your wallet.
Below is a sample JSON body for a USDT payment on Polygon:
{
"accountEDTO": "GqEPbMBb55CH8x12b5le",
"blockchainTxId": "0xb4b5a77d61aa7b45610aa2d3ab7de0f6f4c44e4b8d7c40c4bb4bc2669ec3ab70",
"chain": "MATIC",
"currency": "USDT",
"customerID": "7228468",
"timestamp": {
"seconds": 1788718936,
"nanoseconds": 959000000
},
"transactionFee": 0.615,
"transactionFeePrecent": 0.0123,
"transferedAmount": 49.385
}
The request is sent with Content-Type: application/json. If a secret token is configured for your API key, it is sent in the authorization header:
POST /your-ipn-endpoint HTTP/1.1
Content-Type: application/json
authorization: <your secret token>
note
Field names are sent exactly as shown — including the spellings transferedAmount and transactionFeePrecent. Match them literally in your parser.
Processing Steps:
- Verify the
authorizationheader against your secret token (if used). - Match
customerIDto your records (it is thecustomIdyou passed in the payment URL, returned as a string). - Credit
transferedAmount— this is the net amount that arrived in your wallet. - Respond with HTTP
200 OK.
Callbacks fire the moment funds settle. See what T+0 settlement means for high-risk merchants.