Authentication

The Chain API uses API keys to authenticate requests. You can manage your API keys from the Chain Dashboard.

API Key Types

sk_sandbox_... Sandbox

Use sandbox keys for testing and development. No real money is moved.

sk_live_... Live

Live keys move real funds. Keep these secret and never expose in client-side code.

Making Authenticated Requests

Include your API key in the Authorization header as a Bearer token.

curl https://api.chain.com/v1/wallets \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json"

Required Headers

Parameter Type Description
Authorization required string Bearer token with your API key: Bearer sk_live_...
Content-Type required string Must be application/json for request bodies.
X-Business-Id string Required when operating in multi-business context.
X-Idempotency-Key string Unique key to safely retry requests without side effects.

API Key Scopes

API keys can be scoped to limit access to specific resources. When creating an API key, specify which scopes it should have.

Scope Description
cards:read List and retrieve card details.
cards:write Issue new cards.
wallets:read List and retrieve wallet details.
wallets:write Create new wallets.
funding:read List funding transactions.
funding:write Create funding requests.
payouts:read List payout transactions.
payouts:write Create new payouts.
payees:read List registered payees.
payees:write Register new payees.
bank_accounts:read List linked bank accounts.
bank_accounts:write Create Plaid link tokens to connect bank accounts.
ledger:read Query ledger entries.
webhooks:read List webhook endpoints.
webhooks:write Create and delete webhook endpoints.

Multi-Business Context

If your account manages multiple businesses, include the X-Business-Id header to scope requests.

curl https://api.chain.com/v1/wallets \
  -H "Authorization: Bearer sk_live_..." \
  -H "X-Business-Id: biz_abc123"

Rate Limits

Rate limits are applied per API key. If you exceed the limit, you'll receive a 429 Too Many Requests response.

Plan Rate Limit Burst
Sandbox 100 requests/min 20 requests/sec
Production 1,000 requests/min 100 requests/sec
Enterprise Custom Custom

Pax Dollar

USDP

Ripple USD

RLUSD

Dollar

USD

Tether

USDT

Pounds

GBP

Euro

Eur