Ask for an invitation
Menu

Webhook event

payout.unknown

The outcome could not be established (for example a broadcast timed out). Do not request it again. Reconciliation keeps reading the chain and will send .confirmed or .failed.

Type
payout.unknown
The object it carries
the payout object
Subscribe with
payout.unknown, payout.* 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_skmf5p8ax5eapa75by7ewb8q",
  "object": "event",
  "livemode": true,
  "created": "2026-10-12T10:12:40.000Z",
  "type": "payout.unknown",
  "api_version": "2026-10-11",
  "data": {
    "object": {
      "id": "po_351ggq5kz6kxwpfrhp5qh3b0",
      "object": "payout",
      "livemode": true,
      "created": "2026-10-12T09:30:00.000Z",
      "updated": "2026-10-12T10:12:40.000Z",
      "kind": "payout",
      "status": "unknown",
      "pending_reason": null,
      "batch": null,
      "source": {
        "wallet": "wal_bsfw07hymawmda7gg8jsyy3g",
        "asset": "base:usdc",
        "amount": "250.000000"
      },
      "destination": {
        "saved_address": "dst_92jw0br3z1bzkk45ddjqcm6q",
        "address": "0xD1220A0cf47c7B9Be7A2E6BA89F429762e7b9aDb",
        "network": "base",
        "asset": "base:usdc"
      },
      "delivery": {
        "rail": "direct",
        "amount_estimated": "250.000000",
        "route_fee": null,
        "fee_bearer": null
      },
      "value": {
        "amount": "250.00",
        "currency": "USD"
      },
      "description": "October green beans",
      "reference": "PO-2210",
      "network_fee": null,
      "requested_by": {
        "type": "api_key",
        "id": "key_6e3gg2c6ea176xxdek2nar6v"
      },
      "approved_by": "mem_ceh1wpzdrpk13cnpcjy9w0fa",
      "approval_url": null,
      "approval_expires_at": "2026-10-19T09:30:00.000Z",
      "transaction_hash": null,
      "failure_code": "broadcast_outcome_unknown",
      "cancellation_reason": null,
      "approved_at": "2026-10-12T10:12:00.000Z",
      "sent_at": null,
      "confirmed_at": null,
      "metadata": {
        "supplier_id": "s_19"
      }
    },
    "previous_attributes": {
      "status": "signed",
      "failure_code": null
    }
  },
  "request": {
    "id": null,
    "idempotency_key": null
  },
  "pending_webhooks": 1
}

Fields of data.object

Fields of data.object in payout.unknown
FieldIn this example
id"po_351ggq5kz6kxwpfrhp5qh3b0"
object"payout"
livemodetrue
created"2026-10-12T09:30:00.000Z"
updated"2026-10-12T10:12:40.000Z"
kind"payout"
status"unknown"
pending_reasonnull
batchnull
sourceAn object with wallet, asset, amount
destinationAn object with saved_address, address, network, asset
deliveryAn object with rail, amount_estimated, route_fee, fee_bearer
valueAn object with amount, currency
description"October green beans"
reference"PO-2210"
network_feenull
requested_byAn object with type, id
approved_by"mem_ceh1wpzdrpk13cnpcjy9w0fa"
approval_urlnull
approval_expires_at"2026-10-19T09:30:00.000Z"
transaction_hashnull
failure_code"broadcast_outcome_unknown"
cancellation_reasonnull
approved_at"2026-10-12T10:12:00.000Z"
sent_atnull
confirmed_atnull
metadataAn object with supplier_id

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

Endpoints behind it

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