Payaider API

running

Non-custodial crypto payment gateway. Customer crypto goes straight to the merchant's own wallet โ€” Payaider never holds funds or private keys.

version 2026-08-27 mode test storage storage: PostgreSQL server โ€” real constraints and transactions, shared across processes.

This is a JSON API โ€” every path below returns JSON, not HTML. This page exists only so the base URL is useful in a browser.

Other surfaces

Admin console

KYB queue, unmatched transfers, compliance holds, kill switches, audit log.

http://127.0.0.1:8788

Merchant dashboard

Payments, wallets and routes, links, invoices, webhooks, fees.

http://127.0.0.1:8790

Hosted checkout

The page a customer pays on: amount, QR, live status.

http://127.0.0.1:8789

Endpoints

MethodPathSummaryAccess
POST /v1/payment_intents Create a payment intent payment:create
GET /v1/payment_intents List payment intents, newest first payment:read
GET /v1/payment_intents/:id Retrieve a payment intent payment:read
POST /v1/payment_intents/:id/select_method Choose asset + wallet: locks a 15-minute quote and reserves a unique amount payment:create
POST /v1/payment_intents/:id/cancel Cancel a payment intent that has not yet been paid payment:create
POST /v1/payment_links Create a payment link (fixed or open amount) payment:create
GET /v1/payment_links List payment links, newest first payment:read
GET /v1/payment_links/:id Retrieve a payment link payment:read
POST /v1/payment_links/:id/deactivate Stop a payment link from opening new payments (idempotent) payment:create
POST /v1/payment_links/:id/payment_intents Open a payment intent from a link (counts one use) payment:create
POST /v1/invoices Create a draft invoice (allocates the next number in the merchant series) invoice:create
GET /v1/invoices List invoices, newest number first invoice:read
GET /v1/invoices/:id Retrieve an invoice invoice:read
POST /v1/invoices/:id/issue Issue a draft invoice: mints its payment intent and makes it payable invoice:create
POST /v1/invoices/:id/void Void an invoice (keeps its number in the series forever) invoice:create
POST /v1/api_keys Mint an API key through the ยง12 live-key gate (secret returned once) key:manage
POST /v1/webhook_endpoints Register a webhook endpoint (returns the signing secret once) webhook:manage
GET /v1/webhook_endpoints/:id/deliveries List delivery attempts for a webhook endpoint, newest first webhook:manage
GET /healthz Liveness probe (public) public

Create a payment

# a development key was minted for this boot; this service's own start-up output names it
# (id and last four characters) and says how to have the secret printed there
curl -X POST http://localhost:8787/v1/payment_intents \
  -H "Authorization: Bearer $PAYAIDER_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"amount":"15000","currency":"USD","metadata":{"order_id":"SB10293"}}'