Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.clear-box.io/llms.txt

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

This quickstart takes you from zero to a settled test transaction in the sandbox. It mirrors the production flow but uses test credentials and simulated funds.
You’ll need a ClearBox sandbox API key. Generate one from the Dashboard under Settings → API Keys. See Authentication for details.

Prerequisites

  • A ClearBox sandbox account and API key
  • curl or an HTTP client
  • The sandbox base URL: https://sandbox.api.clearbox.example.com

1. Create a verified identity

In production, identity is verified through ClearCheck (Persona). In the sandbox you can create a pre-verified test identity directly.
curl -X POST https://sandbox.api.clearbox.example.com/v1/identities \
  -H "Authorization: Bearer $CLEARBOX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "first_name": "Ada",
    "last_name": "Lovelace",
    "email": "ada@example.com",
    "date_of_birth": "1990-12-10",
    "kyc_status": "approved"
  }'
The response includes an identity_id you’ll use to provision a wallet.
{
  "identity_id": "idn_test_8f2a...",
  "kyc_status": "approved",
  "created_at": "2026-05-28T16:00:00Z"
}

2. Provision a wallet

Create an embedded, non-custodial wallet for the verified identity.
curl -X POST https://sandbox.api.clearbox.example.com/v1/wallets \
  -H "Authorization: Bearer $CLEARBOX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "identity_id": "idn_test_8f2a..." }'
{
  "wallet_id": "wlt_test_5c1d...",
  "wallet_address": "0xA1b2...C3d4",
  "chain": "polygon",
  "balance": { "currency": "USDC", "amount": "0.00" }
}

3. Fund the wallet

In the sandbox, simulate a deposit instead of running a real ACH transfer.
curl -X POST https://sandbox.api.clearbox.example.com/v1/wallets/wlt_test_5c1d.../simulate-deposit \
  -H "Authorization: Bearer $CLEARBOX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "amount": "100.00", "currency": "USDC" }'

4. Issue a card

Derive a spendable virtual card from the wallet balance.
curl -X POST https://sandbox.api.clearbox.example.com/v1/cards \
  -H "Authorization: Bearer $CLEARBOX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "wallet_id": "wlt_test_5c1d...",
    "spend_limit": { "amount": "100.00", "interval": "transaction" }
  }'

5. Simulate a transaction

Simulate a tap at a terminal and watch the mirror ledger authorize it.
curl -X POST https://sandbox.api.clearbox.example.com/v1/transactions/simulate \
  -H "Authorization: Bearer $CLEARBOX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "card_id": "crd_test_9a7b...",
    "amount": "15.00",
    "merchant": "Sandbox Coffee"
  }'
A successful response shows the authorization and the resulting balance.
{
  "transaction_id": "txn_test_2f9e...",
  "status": "approved",
  "authorized_in_ms": 198,
  "wallet_balance_after": { "currency": "USDC", "amount": "85.00" }
}
You’ve run a full ClearBox flow: a verified identity, a funded wallet, an issued card, and a settled transaction.

Where to go next

Link a real bank

Replace the simulated deposit with a live Quiltt connection.

Apple Pay provisioning

Push the issued card into Apple Wallet for tap-to-pay.