Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.calmtreasury.xyz/llms.txt

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

What is Calm

Calm is a thin layer on top of Bridge.xyz that turns the multi-step “create a customer → accept terms → verify identity → provision a virtual account → display deposit details” sequence into a single React component.
<CalmProvider getAccessToken={getIdentityToken}>
  <DepositFlow />
</CalmProvider>
That’s the whole integration.

How it works

1

The user authenticates with Privy

Your app already does this. The SDK reads the user’s Privy identity token.
2

The SDK bootstraps a session

POST /v1/session verifies the token against Privy’s JWKS, extracts the linked wallet, and issues a short-lived HttpOnly cookie. No API keys.
3

The widget walks the user through onboarding

Register form → Bridge ToS iframe → Bridge KYC iframe → currency picker → virtual account provisioning → deposit instructions.
4

Deposits route to the user's wallet

Fiat lands at the virtual account → Bridge converts to USDC → arrives in the wallet on the chain you picked.

What Calm is not

Not an exchange

We don’t custody funds. Bridge handles compliance, KYC, and payouts.

Not a wallet provider

Bring your own wallet from Privy, MetaMask, Coinbase, WalletConnect — any EVM wallet works.

Next

Quickstart

Drop the SDK into a React app in under five minutes.

Auth model

How Privy identity tokens become Calm session cookies.