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

ParameterTypeDescription
AuthorizationrequiredstringBearer token with your API key: Bearer sk_live_...
Content-TyperequiredstringMust be application/json for request bodies.
X-Business-IdstringRequired when operating in multi-business context.
X-Idempotency-KeystringUnique 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.

ScopeDescription
cards:readList and retrieve card details.
cards:writeIssue new cards.
wallets:readList and retrieve wallet details.
wallets:writeCreate new wallets.
funding:readList funding transactions.
funding:writeCreate funding requests.
payouts:readList payout transactions.
payouts:writeCreate new payouts.
payees:readList registered payees.
payees:writeRegister new payees.
bank_accounts:readList linked bank accounts.
bank_accounts:writeCreate Plaid link tokens to connect bank accounts.
ledger:readQuery ledger entries.
webhooks:readList webhook endpoints.
webhooks:writeCreate and delete webhook endpoints.

Multi-Business Context

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

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

Rate Limits

Rate limiting

Rate limits are applied per API key. If you exceed the limit, you'll receive a 429 Too Many Requests response.
PlanRate LimitBurst
Sandbox100 requests/min20 requests/sec
Production1,000 requests/min100 requests/sec
EnterpriseCustomCustom
globe
icon

Pax Dollar

USDP

icon

Ripple USD

RLUSD

icon

Dollar

USD

icon

Tether

USDT

icon

Pounds

GBP

icon

Euro

Eur