# Webhook sample payloads

This page provides examples of the `STABLECOIN_TRANSACTION` webhook payloads that you will receive
at your registered endpoint for every transaction state.
Examples are groupedby `eventData.type` (`ISSUANCE` or `REDEMPTION`).

Every event payload you receive includes the same outer envelope:

| Field | Description |
|  --- | --- |
| `id` | Unique event identifier (UUID). Use it as an idempotency key when recording received events. |
| `eventType` | Always `STABLECOIN_TRANSACTION` for transaction events. |
| `eventVersion` | Schema version, currently `1`. |
| `eventData` | The per-event business payload — see below. |
| `createDate` | Timestamp when the event was emitted (ISO-8601). |


Deduplicate by `eventData.id` + `eventData.updatedAt`. Delivery is
at-least-once, and the order in which you receive events for the same
transaction is not guaranteed.

You may also receive **multiple `PROCESSING` events for the same transaction**
as it advances through internal stages of the system (for example, as on-chain
legs settle or hashes become available). Treat each one as an update rather
than a new transaction, and use `eventData.updatedAt` to pick the latest state.

Notes on `eventData` fields:

- `source` and `destination` describe the on-chain legs of your transaction.
Either may be `null` when that leg does not yet exist (for example, a
`PROCESSING` issuance has no destination hash until it settles) or is not
applicable to the transaction.
- Payloads also include top-level `sourceHash` and `destinationHash` fields that
mirror `source.hash` and `destination.hash` respectively. These are deprecated and have been
omitted from the samples below — read the hashes from the nested `source` and
`destination` objects instead.


## ISSUANCE events

### PROCESSING status

The `PROCESSING` status indicates that your issuance has been accepted and is awaiting mint.


```json
{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "eventType": "STABLECOIN_TRANSACTION",
  "eventVersion": 1,
  "eventData": {
    "id": "660f9511-f3ac-52e5-b827-557766550001",
    "type": "ISSUANCE",
    "status": "PROCESSING",
    "source": null,
    "destination": null,
    "updatedAt": "2026-04-17T10:05:00Z"
  },
  "createDate": "2026-04-17T10:05:01.120Z"
}
```

### COMPLETED status

The `COMPLETED` status indicates that your RLUSD has been minted on-chain.


```json
{
  "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
  "eventType": "STABLECOIN_TRANSACTION",
  "eventVersion": 1,
  "eventData": {
    "id": "660f9511-f3ac-52e5-b827-557766550001",
    "type": "ISSUANCE",
    "status": "COMPLETED",
    "source": null,
    "destination": {
      "hash": "4F2A8B1C9D3E7F6A0B5C4D8E2F1A9B3C7D6E0F5A4B8C2D1E9F3A7B6C0D5E8F01",
      "counterpartyAddress": "rKBYv89L5QwuWJFnd3px4ygVr5obQ4D6t3"
    },
    "updatedAt": "2026-04-17T10:06:00Z"
  },
  "createDate": "2026-04-17T10:06:01.100Z"
}
```

### FAILED status

The `FAILED` status indicates that your issuance failed due to an internal error.


```json
{
  "id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
  "eventType": "STABLECOIN_TRANSACTION",
  "eventVersion": 1,
  "eventData": {
    "id": "660f9511-f3ac-52e5-b827-557766550002",
    "type": "ISSUANCE",
    "status": "FAILED",
    "source": null,
    "destination": null,
    "updatedAt": "2026-04-17T10:07:15Z"
  },
  "createDate": "2026-04-17T10:07:16.330Z"
}
```

### CANCELED status

The `CANCELED` status indicates that your issuance was canceled before settlement.

> You will only ever receive a `CANCELED` event for `ISSUANCE` transactions.



```json
{
  "id": "d4e5f6a7-b8c9-0123-defa-234567890123",
  "eventType": "STABLECOIN_TRANSACTION",
  "eventVersion": 1,
  "eventData": {
    "id": "770fa622-04bd-63f6-c938-668877662222",
    "type": "ISSUANCE",
    "status": "CANCELED",
    "source": null,
    "destination": null,
    "updatedAt": "2026-04-17T11:15:00Z"
  },
  "createDate": "2026-04-17T11:15:02.541Z"
}
```

## REDEMPTION events

### PROCESSING status

`PROCESSING` status indicates that your redemption has been accepted and is awaiting fiat settlement.


```json
{
  "id": "f6a7b8c9-d0e1-2345-f012-456789012345",
  "eventType": "STABLECOIN_TRANSACTION",
  "eventVersion": 1,
  "eventData": {
    "id": "881fb733-15ce-74a7-da49-779988773333",
    "type": "REDEMPTION",
    "status": "PROCESSING",
    "source": {
      "hash": "9A8B7C6D5E4F3210FEDCBA9876543210ABCDEF0123456789ABCDEF0123456789",
      "counterpartyAddress": "rNHbWb73t8s8VuJjJ3J6Q7G2sCwM4nA8d2"
    },
    "destination": null,
    "updatedAt": "2026-04-17T12:05:00Z"
  },
  "createDate": "2026-04-17T12:05:01.420Z"
}
```

### COMPLETED status

The `COMPLETED` status indicates that your fiat payout has settled.


```json
{
  "id": "a7b8c9d0-e1f2-3456-0123-567890123456",
  "eventType": "STABLECOIN_TRANSACTION",
  "eventVersion": 1,
  "eventData": {
    "id": "881fb733-15ce-74a7-da49-779988773333",
    "type": "REDEMPTION",
    "status": "COMPLETED",
    "source": {
      "hash": "9A8B7C6D5E4F3210FEDCBA9876543210ABCDEF0123456789ABCDEF0123456789",
      "counterpartyAddress": "rNHbWb73t8s8VuJjJ3J6Q7G2sCwM4nA8d2"
    },
    "destination": null,
    "updatedAt": "2026-04-17T13:42:00Z"
  },
  "createDate": "2026-04-17T13:42:00.987Z"
}
```

### FAILED status

The `FAILED` status indicates that your redemption was rejected.


```json
{
  "id": "b8c9d0e1-f2a3-4567-1234-678901234567",
  "eventType": "STABLECOIN_TRANSACTION",
  "eventVersion": 1,
  "eventData": {
    "id": "992fc844-26df-85b8-eb5a-88aa99884444",
    "type": "REDEMPTION",
    "status": "FAILED",
    "source": {
      "hash": "1122334455667788AABBCCDDEEFF00112233445566778899AABBCCDDEEFF0011",
      "counterpartyAddress": "rNHbWb73t8s8VuJjJ3J6Q7G2sCwM4nA8d2"
    },
    "destination": null,
    "updatedAt": "2026-04-17T14:10:00Z"
  },
  "createDate": "2026-04-17T14:10:02.045Z"
}
```