# Apa API Reference

Canonical: https://apa.app/developers/api-reference
OpenAPI: https://apa.app/openapi.json
Base URL: `https://apa.app/v1`
Auth: `Authorization: Bearer sk_live_...`
Content type: `application/json`

## Core facts

- Apa is non-custodial.
- Checkout sessions and payment links settle to a saved `payout_wallet_id`.
- Live payment creation does not accept arbitrary raw payout addresses.
- Checkout sessions expose `payment_link_id` when created from a hosted link.
- `deposit_addresses` is an array of direct payment targets with `asset`, `network`, `address`, `kind` and optional `reference`.
- Direct exact asset/network payments are 0%.
- Routed asset or network conversions are 1.5%.

## Main endpoints

- `POST /v1/auth/nonce`: get a wallet-sign-in nonce.
- `POST /v1/auth/verify`: verify wallet signature and create a session.
- `POST /v1/auth/email/start`: send a one-time email login code.
- `POST /v1/auth/email/verify`: verify the email code and create a session.
- `POST /v1/payout-wallets`: create a payout wallet.
- `GET /v1/payout-wallets`: list payout wallets.
- `GET /v1/payout-wallets/:id`: retrieve a payout wallet.
- `POST /v1/checkout/sessions`: create a hosted checkout session.
- `GET /v1/checkout/sessions/:id`: retrieve a checkout session.
- `POST /v1/payment-links`: create a hosted payment link.
- `GET /v1/payment-links/:id`: retrieve a payment link.
- `GET /v1/routes/quote`: preview route type, fee and expected output.
- `GET /v1/payments`: list payments.
- `GET /v1/payments/:id`: retrieve a payment.
- `POST /v1/payments/:id/refund`: record a merchant-sent refund.
- `POST /v1/webhook-endpoints`: register a webhook endpoint.
- `GET /v1/webhook-endpoints`: list webhook endpoints.
- `DELETE /v1/webhook-endpoints/:id`: delete a webhook endpoint.
- `POST /v1/webhooks/test`: send a test webhook event.

## Supported pay assets

- ETH on Ethereum
- SOL on Solana
- USDC on Solana
- ETH on Base
- USDC on Base
- USDC on Ethereum
- USDT on Ethereum
- USDT on Solana
- BTC on Bitcoin
- BNB on BNB Chain
- POL on Polygon
- ETH on Arbitrum
- AVAX on Avalanche
- TRX on Tron
- USDT on Tron
- USDC on Polygon
- USDC on Arbitrum

## Receive assets

- USDC on Solana
- USDC on Base
- USDC on Ethereum
- USDC on Polygon
- USDC on Arbitrum
- USDT on Ethereum
- ETH on Ethereum
- SOL on Solana
