Ask for an invitation
Menu

Webhook event

payment_instruction.delivered

The value reached the merchant wallet (wallet's own chain read).

Type
payment_instruction.delivered
The object it carries
the payment_instruction object
Subscribe with
payment_instruction.delivered, payment_instruction.* or *

Example payload

The body of the request your endpoint receives, shown here over several lines. On the wire it is compact JSON; check its signature over the bytes exactly as they arrive.

Example payload

{
  "id": "evt_jmndx0dxx2sz39xcke1bsr4m",
  "object": "event",
  "livemode": true,
  "created": "2026-10-11T14:04:10.902Z",
  "type": "payment_instruction.delivered",
  "api_version": "2026-10-11",
  "data": {
    "object": {
      "id": "pin_h73hkjr8dyp4zymaet5e2gbv",
      "object": "payment_instruction",
      "livemode": true,
      "created": "2026-10-11T14:04:10.902Z",
      "order": "ord_0zymngngvf12b8b2cra7tb8e",
      "status": "delivered",
      "rail": "relay",
      "provider": "relay",
      "pay_asset": "ethereum:usdc",
      "pay_amount": "22.410000",
      "amount_mode": "exact",
      "address": {
        "id": "addr_x76q8chyjk6j34he4jrcbb7v",
        "address": "0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359",
        "network": "ethereum",
        "owner": "provider",
        "solana_pay_reference": null,
        "derivation": null
      },
      "payment_uri": "ethereum:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48@1/transfer?address=0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359&uint256=22410000",
      "quote": {
        "id": "qt_0fymhdf3w7nem8m9f6rfjtgw",
        "price_amount": "21.99",
        "price_currency": "USD",
        "rate": "1.000200",
        "route_fee": {
          "amount": "0.42",
          "currency": "USD",
          "bearer": "payer"
        },
        "created": "2026-10-11T14:04:10.902Z",
        "expires_at": "2026-10-11T14:19:10.902Z"
      },
      "settle_asset": "base:usdc",
      "settle_amount_expected": "21.990000",
      "confirmations_required": 12,
      "in_transit_notice": "While a payment is being routed it is held by Relay, a separate company. Orrerie never holds it.",
      "wrong_asset_warning": "Send only USDC on Ethereum to this address. Anything else may be lost.",
      "expires_at": "2026-10-11T14:19:10.902Z",
      "late_until": "2026-11-10T14:19:10.902Z",
      "failure_code": null,
      "test_simulation_url": null
    },
    "previous_attributes": {
      "status": "detected"
    }
  },
  "request": {
    "id": null,
    "idempotency_key": null
  },
  "pending_webhooks": 1
}

Fields of data.object

Fields of data.object in payment_instruction.delivered
FieldIn this example
id"pin_h73hkjr8dyp4zymaet5e2gbv"
object"payment_instruction"
livemodetrue
created"2026-10-11T14:04:10.902Z"
order"ord_0zymngngvf12b8b2cra7tb8e"
status"delivered"
rail"relay"
provider"relay"
pay_asset"ethereum:usdc"
pay_amount"22.410000"
amount_mode"exact"
addressAn object with id, address, network, owner, solana_pay_reference, derivation
payment_uri"ethereum:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48@1/transfer?address=0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359&uint256=22410000"
quoteAn object with id, price_amount, price_currency, rate, route_fee, created, expires_at
settle_asset"base:usdc"
settle_amount_expected"21.990000"
confirmations_required12
in_transit_notice"While a payment is being routed it is held by Relay, a separate company. Orrerie never holds it."
wrong_asset_warning"Send only USDC on Ethereum to this address. Anything else may be lost."
expires_at"2026-10-11T14:19:10.902Z"
late_until"2026-11-10T14:19:10.902Z"
failure_codenull
test_simulation_urlnull

What each field means is on the page of the payment_instruction object. data.previous_attributes holds the old values of exactly the fields that changed: here status.

Endpoints behind it

Calls that change orders. An event is also sent when a payer, the network, a timer or a person in the dashboard causes the change; the sentence above says which.