Payment Events
XRNotify emits two payment event types from the XRPL. payment.xrp fires for native XRP drop transfers between accounts. payment.issued fires for transfers of issued tokens (also known as IOUs) such as USDC, SOLO, or any other token on the XRPL.
payment.xrp
Native XRPFires on any Payment transaction that moves XRP between two accounts. This includes direct sends and cross-currency payments where the delivered asset is XRP.
Payload schema
| Field | Type | Description |
|---|---|---|
| sender | string | Source account address (r-address) |
| receiver | string | Destination account address (r-address) |
| amount | string | Amount in drops (1 XRP = 1,000,000 drops) |
| amount_xrp | string | Amount in XRP, human-readable decimal string |
| fee | string | Transaction fee paid in drops |
| delivered_amount | string | Actual delivered amount in drops. May differ from amount if a partial payment flag was set |
| destination_tag | number | null | Destination tag if present on the transaction, otherwise null |
| source_tag | number | null | Source tag if set by the sender, otherwise null |
| tx_hash | string | Transaction hash, the unique identifier for this transaction on the ledger |
| ledger_index | number | Ledger sequence number in which this transaction was validated |
| sequence | number | Sender account sequence number for this transaction |
Example payload
{
"event_id": "xrpl:89547832:A4B2F1E3C5D6:payment.xrp",
"event_type": "payment.xrp",
"ledger_index": 89547832,
"timestamp": "2024-01-15T10:23:45Z",
"network": "mainnet",
"payload": {
"sender": "rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe",
"receiver": "rN7n3473SaZBCG4dFL83w7PB2bBdDiAkzN",
"amount": "1000000",
"amount_xrp": "1.000000",
"fee": "12",
"delivered_amount": "1000000",
"destination_tag": 12345,
"source_tag": null,
"tx_hash": "A4B2F1E3C5D6A4B2F1E3C5D6A4B2F1E3C5D6A4B2F1E3C5D6A4B2F1E3C5D6A4B2",
"ledger_index": 89547832,
"sequence": 12345678
}
}payment.issued
Issued TokensFires on Payment transactions that move issued tokens, also called IOUs. This includes stablecoins (USDC, RLUSD), DEX tokens (SOLO, CSC), and any token issued by a gateway or project on the XRPL.
Additional fields
All fields from payment.xrp are present, plus the following token-specific fields:
| Field | Type | Description |
|---|---|---|
| currency | string | Currency code: 3-letter ASCII (e.g. USD, BTC) or 40-character hex for non-standard currencies |
| issuer | string | Account address of the token issuer (r-address) |
| value | string | Token amount as a decimal string (e.g. "100.50"). Precision up to 15 significant digits. |
Example payload
{
"event_id": "xrpl:89547900:C8E1A2B3D4F5:payment.issued",
"event_type": "payment.issued",
"ledger_index": 89547900,
"timestamp": "2024-01-15T10:31:12Z",
"network": "mainnet",
"payload": {
"sender": "rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe",
"receiver": "rN7n3473SaZBCG4dFL83w7PB2bBdDiAkzN",
"currency": "USD",
"issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq",
"value": "100.50",
"amount": "100.50",
"amount_xrp": null,
"fee": "12",
"delivered_amount": "100.50",
"destination_tag": null,
"source_tag": null,
"tx_hash": "C8E1A2B3D4F5C8E1A2B3D4F5C8E1A2B3D4F5C8E1A2B3D4F5C8E1A2B3D4F5C8E1",
"ledger_index": 89547900,
"sequence": 12345690
}
}Tip: To track a specific token, add an account_filters array to your webhook subscription targeting the issuer address. This lets you monitor all transfers of that token across the entire ledger.