v2

OpenAPI 3.1.02026-07-3139137119.0 KB
orders

Create Payment Details

Create the payment details for an order — returns the resolved payment block (receiving address, amount, expiry, and steps to fund). The server always requotes (no quote_id).

post/orders/{order_id}/payment

Path parameters

order_idstring required

Headers

X-API-KEYstring required

API key for authentication

Idempotency-Keystring

Optional client-generated idempotency key for coalescing concurrent mutating requests. Reuse the same key for retries of the same payment attempt; use a new key when intentionally refreshing payment data or requesting a fresh quote. Maximum 255 characters.

Request body

refund_addressstring nullable

Example request

{
  "source": {
    "currency": {
      "address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      "chain_id": 30000000000001
    },
    "payment_rail": "CRYPTO",
    "slippage_bps": 50
  }
}

Response

Payment details

order_idstring required
status'PENDING' | 'EXPIRED' | 'FAILED' | 'AWAITING_PAYMENT' | 'OPTIMISTIC_CONFIRMED' | 'AWAITING_CONFIRMATION' | 'EXECUTING_ORDER' | 'COMPLETED' | 'REFUNDED' | 'PARTIAL_PAYMENT' required

Example response

{
  "data": {
    "destination_tx_hash": "0x5678...efgh",
    "estimated_duration_seconds": 120,
    "expires_at": "2023-01-01T00:00:00Z",
    "fee_tx_hash": "0xfee1...fee2",
    "input": {
      "amount": {
        "raw": "100000000",
        "ui": "100.0",
        "value_usd": 100
      },
      "balance": {
        "raw": "100000000",
        "ui": "100.0",
        "value_usd": 100
      },
      "breakdown": {
        "base": {
          "raw": "100000000",
          "ui": "100.0",
          "value_usd": 100
        },
        "fees": {
          "custom_fee": {
            "raw": "100000000",
            "ui": "100.0",
            "value_usd": 100
          },
          "protocol_fee": {
            "raw": "100000000",
            "ui": "100.0",
            "value_usd": 100
          },
          "relayer_fee": {
            "raw": "100000000",
            "ui": "100.0",
            "value_usd": 100
          },
          "total_fee": {
            "raw": "100000000",
            "ui": "100.0",
            "value_usd": 100
          }
        },
        "gas": {
          "raw": "100000000",
          "ui": "100.0",
          "value_usd": 100
        },
        "total": {
          "raw": "100000000",
          "ui": "100.0",
          "value_usd": 100
        }
      },
      "currency": {
        "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
        "chain_id": 1,
        "decimals": 6,
        "id": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48-1",
        "name": "USD Coin",
        "price_usd": 1,
        "symbol": "USDC"
      }
    },
    "output": {
      "amount": {
        "raw": "100000000",
        "ui": "100.0",
        "value_usd": 100
      },
      "amount_out_minimum": {
        "raw": "100000000",
        "ui": "100.0",
        "value_usd": 100
      },
      "currency": {
        "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
        "chain_id": 1,
        "decimals": 6,
        "id": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48-1",
        "name": "USD Coin",
        "price_usd": 1,
        "symbol": "USDC"
      }
    },
    "payment_rail": "CRYPTO",
    "recipient": "0x1234...abcd",
    "refund": {
      "address": "0x1234...abcd",
      "reason": "execution failed: provider error",
      "tx_hash": "0x9abc...ijkl"
    },
    "source_tx_hash": "0x1234...abcd",
    "steps": [
      {
        "action": "swap",
        "kind": "deposit",
        "rail": "CRYPTO"
      }
    ]
  },
  "order_id": "cuidjkhg3e289y74u5t6v",
  "status": "AWAITING_PAYMENT"
}