Payouts

A payout withdraws an available custodial wallet balance to a destination you control. Requesting one debits the wallet immediately (a ledger debit), then an operator or automated worker transfers the funds and marks the payout paid — or failed, which returns the funds.

The payout model

  • Name
    id
    Type
    string
    Description

    The payout id.

  • Name
    currency
    Type
    string
    Description

    The payout currency / asset.

  • Name
    amount
    Type
    string
    Description

    The amount withdrawn, as a decimal string.

  • Name
    status
    Type
    string
    Description

    requested, approved, executing, processing, paid, rejected, or failed. rejected/failed return the funds to your wallet.

  • Name
    destination_type
    Type
    string
    Description

    crypto or bank.

  • Name
    destination
    Type
    string
    Description

    Where funds are sent — a chain:address for crypto, or bank-account JSON/text for bank.

  • Name
    reference
    Type
    string
    Description

    Settlement proof for a paid payout (tx hash / bank reference).

  • Name
    reason
    Type
    string
    Description

    Failure or rejection reason (for failed/rejected).

  • Name
    created_at
    Type
    timestamp
    Description

    When the payout was requested.


GET/api/v1/payouts

List payouts

Signed locally — your secret stays in this browser and is never sent or stored.

No keys yet? Create an API key pair in the merchant portal — the secret is shown only once. Open the merchant portal

Return your payout history as a plain data array (most recent first).

Request

GET
/api/v1/payouts
curl "$BASE/api/v1/payouts" \
  -H "X-Api-Key: $KEY_ID" \
  -H "X-Timestamp: $TS" \
  -H "X-Signature: $SIG"

Response

{
  "data": [
    {
      "id": "po_3a",
      "currency": "USD",
      "amount": "500.00",
      "status": "paid",
      "destination_type": "bank",
      "reference": "wire-20260610",
      "created_at": "2026-06-10T10:00:00Z"
    }
  ]
}

POST/api/v1/payouts

Request a payout

Signed locally — your secret stays in this browser and is never sent or stored.

No keys yet? Create an API key pair in the merchant portal — the secret is shown only once. Open the merchant portal

Withdraw available balance. The amount is debited from your wallet on request; the payout then moves through review/transfer to paid (or failed, which refunds your wallet).

Required attributes

  • Name
    currency
    Type
    string
    Description

    The currency / asset to withdraw.

  • Name
    amount
    Type
    string
    Description

    The amount to withdraw, as a decimal string.

  • Name
    destination_type
    Type
    string
    Description

    crypto or bank.

  • Name
    destination
    Type
    string
    Description

    For crypto, a chain:address string; for bank, the account JSON/text.

Request

POST
/api/v1/payouts
curl "$BASE/api/v1/payouts" \
  -H "X-Api-Key: $KEY_ID" \
  -H "X-Timestamp: $TS" \
  -H "X-Signature: $SIG" \
  -H "Content-Type: application/json" \
  -d '{
    "currency": "USDT",
    "amount": "500.00",
    "destination_type": "crypto",
    "destination": "usdt_erc20:0xYourAddress"
  }'

Response

{
  "payout": {
    "id": "po_4b",
    "currency": "USDT",
    "amount": "500.00",
    "status": "requested",
    "destination_type": "crypto",
    "destination": "usdt_erc20:0xYourAddress",
    "created_at": "2026-06-11T09:00:00Z"
  }
}