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.

Once a user is verified through ClearCheck, ClearBox provisions an embedded smart-contract wallet for them. The wallet is non-custodial and invisible to the user — there’s no seed phrase, no gas prompt, and no raw transaction signing. It’s created through Crossmint’s wallet infrastructure and tied to the user’s ClearBox identity.

Flow at a glance

1

Create the wallet

The ClearBox backend requests a smart-contract wallet from Crossmint for the verified user.
2

Receive the wallet address

Crossmint returns the wallet address and smart-contract identifier.
3

Associate it with the user

ClearBox stores the wallet address against the user’s identity record in its database.

1. Create the wallet

Call Crossmint’s wallet endpoint from the ClearBox backend. ClearBox uses a non-custodial, user-linked wallet so the user controls the funds through ClearBox’s delegation model.
POST https://www.crossmint.com/api/2025-06-09/wallets
X-API-KEY: <CROSSMINT_SERVER_API_KEY>
Content-Type: application/json
{
  "type": "smart",
  "config": {
    "adminSigner": { "type": "api-key" }
  },
  "linkedUser": "email:ada@example.com"
}
Crossmint returns the wallet, including its on-chain address.
{
  "type": "smart",
  "address": "0xA1b2...C3d4",
  "linkedUser": "email:ada@example.com"
}
Crossmint abstracts keys and gas. ClearBox optionally sponsors gas so the user never holds native tokens. See Crossmint Wallets for custody models and signer options.

2. Associate the wallet with the user

Store the returned address against the ClearBox identity so every later object — funding, card, transaction — resolves back to one user.
PATCH /v1/identities/idn_8f2a...
{
  "wallet_address": "0xA1b2...C3d4",
  "wallet_chain": "polygon",
  "onboarding_state": "wallet_ready"
}
The user now has a wallet with a 0.00 balance, ready to be funded.

Fund the wallet (ACH)

Move fiat into the wallet as USDC.

Issue a card

Derive a spendable card from the balance.

Reference

The Crossmint API version (2025-06-09) and request shape above follow Crossmint’s public wallet API. Confirm the current version against Crossmint’s docs and replace /v1/identities with your ClearBox program endpoint.