# 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 grouped
by `eventData.type` (`ISSUANCE`, `REDEMPTION`, `BRIDGE`), plus a standalone
`PENDING` example — `PENDING` events are emitted before your transaction's
type has been determined, so they do not include the `eventData.type` field.

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:

- `type` is omitted on `PENDING` events because the transaction's type has not
yet been determined when you receive the event. For every other status the
type is always present.
- `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.


## PENDING (type unknown)

You will receive a `PENDING` event when a flexible redemption has been created
and is waiting for you to supply destination details (e.g. via the
update-destination API). At this point the transaction's type has not yet been
determined, so `eventData.type` is omitted from the payload.


```json
{
  "id": "e5f6a7b8-c9d0-1234-ef01-345678901234",
  "eventType": "STABLECOIN_TRANSACTION",
  "eventVersion": 1,
  "eventData": {
    "id": "881fb733-15ce-74a7-da49-779988773333",
    "status": "PENDING",
    "source": {
      "hash": "9A8B7C6D5E4F3210FEDCBA9876543210ABCDEF0123456789ABCDEF0123456789",
      "counterpartyAddress": "rNHbWb73t8s8VuJjJ3J6Q7G2sCwM4nA8d2"
    },
    "updatedAt": "2026-04-17T12:00:00Z"
  },
  "createDate": "2026-04-17T12:00:01.815Z"
}
```

## 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

If you use flexible redemption, you will first receive a
[`PENDING`](#pending-type-unknown) event while we wait for you to supply
destination details, and then a `PROCESSING` event once they are submitted.
For auto-redemptions, you will go straight to `PROCESSING`.

### 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"
}
```

## BRIDGE events

### PROCESSING status

The `PROCESSING` status indicates that your bridge transfer has been accepted and is awaiting destination-chain settlement.


```json
{
  "id": "c9d0e1f2-a3b4-5678-2345-789012345678",
  "eventType": "STABLECOIN_TRANSACTION",
  "eventVersion": 1,
  "eventData": {
    "id": "aa3fd955-37e0-96c9-fc6b-99bbaa995555",
    "type": "BRIDGE",
    "status": "PROCESSING",
    "source": {
      "hash": "0xa1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90",
      "counterpartyAddress": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb1"
    },
    "destination": null,
    "updatedAt": "2026-04-17T15:00:00Z"
  },
  "createDate": "2026-04-17T15:00:01.250Z"
}
```

### COMPLETED status

The `COMPLETED` status indicates that your bridge has settled on the destination chain.


```json
{
  "id": "d0e1f2a3-b4c5-6789-3456-890123456789",
  "eventType": "STABLECOIN_TRANSACTION",
  "eventVersion": 1,
  "eventData": {
    "id": "aa3fd955-37e0-96c9-fc6b-99bbaa995555",
    "type": "BRIDGE",
    "status": "COMPLETED",
    "source": {
      "hash": "0xa1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90",
      "counterpartyAddress": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb1"
    },
    "destination": {
      "hash": "BEEFCAFE0011223344556677889900AABBCCDDEEFF00112233445566778899AA",
      "counterpartyAddress": "rKBYv89L5QwuWJFnd3px4ygVr5obQ4D6t3"
    },
    "updatedAt": "2026-04-17T15:08:00Z"
  },
  "createDate": "2026-04-17T15:08:01.640Z"
}
```

### FAILED status

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


```json
{
  "id": "e1f2a3b4-c5d6-7890-4567-901234567890",
  "eventType": "STABLECOIN_TRANSACTION",
  "eventVersion": 1,
  "eventData": {
    "id": "bb4fe066-48f1-a7da-0d7c-aaccbbaa6666",
    "type": "BRIDGE",
    "status": "FAILED",
    "source": {
      "hash": "0x9988776655443322110011223344556677889900112233445566778899aabbcc",
      "counterpartyAddress": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb1"
    },
    "destination": null,
    "updatedAt": "2026-04-17T15:20:00Z"
  },
  "createDate": "2026-04-17T15:20:01.910Z"
}
```