Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.pawpayments.com/llms.txt

Use this file to discover all available pages before exploring further.

The PawPayments API lets merchants accept cryptocurrency payments across BTC, ETH, BSC, Polygon, Base, TRON, TON, Solana, XRP, LTC, BCH and Monero — both native coins and supported tokens (USDT, USDC, DAI and more). Invoices and payouts can be priced in any of 23 supported fiat currencies: USD, EUR, GBP, CAD, AUD, CHF, JPY, NZD, SGD, HKD, NGN, KRW, ILS, RON, ARS, INR, IDR, MXN, MYR, TRY, PLN, BRL, THB. USD is the internal accounting base — merchant balances and payout fiat_amount_usd are always denominated in USD, regardless of the invoice/payout fiat_currency. The API is organised around a few resources:
  • Invoices — one-shot payment requests with a hosted checkout page. Each invoice has a billing_type (STATIC for fixed-price service purchases, VARY for open-ended balance top-ups). Invoices can also be bound to a permanent address by passing permanent_address: true (requires billing_type=VARY and user_id). See the Billing types page for the full semantics.
  • Permanent addresses — long-lived per-user deposit addresses.
  • Payouts — outgoing transfers, single or in batches.
  • Ledger / Notifications — read-side endpoints for reconciliation and webhook delivery introspection.
All endpoints live under /api/v2/. Responses follow a consistent envelope:
{ "ok": true, "result": { ... } }
or, on failure:
{ "ok": false, "error": { "code": "INVALID_ID", "message": "..." } }
List endpoints add a pagination object next to result.