Ask for an invitation
Menu

Webhook event

conversion.confirmed

The transaction reached its confirmation count and the converted amount is in the destination wallet (wallet's own chain read).

Type
conversion.confirmed
The object it carries
the conversion object
Subscribe with
conversion.confirmed, conversion.* 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_e1c29j21yqd6asht52pcgtdf",
  "object": "event",
  "livemode": true,
  "created": "2026-10-12T10:13:40.000Z",
  "type": "conversion.confirmed",
  "api_version": "2026-10-11",
  "data": {
    "object": {
      "id": "cv_ban2ezvpwf4j4d09h4htv42j",
      "object": "conversion",
      "livemode": true,
      "created": "2026-10-12T11:00:30.000Z",
      "updated": "2026-10-12T10:13:40.000Z",
      "status": "confirmed",
      "pending_reason": null,
      "venue": "relay",
      "venue_progress": null,
      "from": {
        "wallet": "wal_zjdztygt4g73zm0cdcjjf43k",
        "asset": "bitcoin:btc",
        "amount": "0.01000000"
      },
      "to": {
        "wallet": "wal_bsfw07hymawmda7gg8jsyy3g",
        "asset": "base:usdc",
        "amount_estimated": "1168.420000",
        "amount_minimum": "1162.577900",
        "amount_received": "1167.910000"
      },
      "rate": "116842.00",
      "max_slippage_bps": 50,
      "fees": [
        {
          "kind": "route_fee",
          "amount": "1.38",
          "currency": "USD"
        },
        {
          "kind": "network_fee",
          "amount": "0.61",
          "currency": "USD"
        }
      ],
      "in_transit_notice": "While a conversion is being routed it is held by Relay, a separate company. Orrerie never holds it.",
      "requested_by": {
        "type": "api_key",
        "id": "key_6e3gg2c6ea176xxdek2nar6v"
      },
      "approved_by": "mem_ceh1wpzdrpk13cnpcjy9w0fa",
      "approval_url": null,
      "approval_expires_at": "2026-10-19T11:00:30.000Z",
      "send_transaction_hash": "0x1f3cb18e896256d7d6bb8c11a6ec71f005c75de05e39beae5d93bbd1e2c8b7a9",
      "receive_transaction_hash": "0xd20a624740ce1b7e2c74659bb291f665c021d202be02d13ce27feb067eeec837",
      "failure_code": null,
      "cancellation_reason": null,
      "approved_at": "2026-10-12T10:12:00.000Z",
      "sent_at": "2026-10-12T10:12:09.000Z",
      "confirmed_at": "2026-10-12T10:13:40.000Z",
      "metadata": {}
    },
    "previous_attributes": {
      "status": "sent",
      "confirmed_at": null
    }
  },
  "request": {
    "id": null,
    "idempotency_key": null
  },
  "pending_webhooks": 1
}

Fields of data.object

Fields of data.object in conversion.confirmed
FieldIn this example
id"cv_ban2ezvpwf4j4d09h4htv42j"
object"conversion"
livemodetrue
created"2026-10-12T11:00:30.000Z"
updated"2026-10-12T10:13:40.000Z"
status"confirmed"
pending_reasonnull
venue"relay"
venue_progressnull
fromAn object with wallet, asset, amount
toAn object with wallet, asset, amount_estimated, amount_minimum, amount_received
rate"116842.00"
max_slippage_bps50
feesA list of 2 items
in_transit_notice"While a conversion is being routed it is held by Relay, a separate company. Orrerie never holds it."
requested_byAn object with type, id
approved_by"mem_ceh1wpzdrpk13cnpcjy9w0fa"
approval_urlnull
approval_expires_at"2026-10-19T11:00:30.000Z"
send_transaction_hash"0x1f3cb18e896256d7d6bb8c11a6ec71f005c75de05e39beae5d93bbd1e2c8b7a9"
receive_transaction_hash"0xd20a624740ce1b7e2c74659bb291f665c021d202be02d13ce27feb067eeec837"
failure_codenull
cancellation_reasonnull
approved_at"2026-10-12T10:12:00.000Z"
sent_at"2026-10-12T10:12:09.000Z"
confirmed_at"2026-10-12T10:13:40.000Z"
metadataAn object with no fields

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

Endpoints behind it

Calls that change conversions. 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.