# Calm ## Docs - [Errors](https://docs.calmtreasury.xyz/api/errors.md): Stable error codes. Branch on err.code, not message. - [POST /v1/session](https://docs.calmtreasury.xyz/api/session.md): Bootstrap a session from a Privy identity token. Returns the wallet + sets a cookie. - [Virtual account routes](https://docs.calmtreasury.xyz/api/virtual-account.md): Create + read the virtual account bound to the wallet. - [Wallet routes](https://docs.calmtreasury.xyz/api/wallets.md): Register, read state, and fetch hosted ToS / KYC URLs. - [Changelog](https://docs.calmtreasury.xyz/changelog.md): Versioned changes to the API and SDK. - [Authentication](https://docs.calmtreasury.xyz/concepts/auth.md): Privy identity tokens become Calm session cookies. No API keys. - [State machine](https://docs.calmtreasury.xyz/concepts/state-machine.md): Every step DepositFlow can be in, and how transitions happen. - [Introduction](https://docs.calmtreasury.xyz/introduction.md): Fiat-to-crypto onramp infrastructure for partners. Drop in our SDK, ship a deposit flow in minutes. - [Quickstart](https://docs.calmtreasury.xyz/quickstart.md): Ship a fiat-to-crypto deposit flow in five minutes. - [Composing your own flow](https://docs.calmtreasury.xyz/sdk/composing.md): Bring your own UI with useCalm() and the individual step components. - [React](https://docs.calmtreasury.xyz/sdk/react.md): + — the prebuilt widget. - [Vanilla client](https://docs.calmtreasury.xyz/sdk/vanilla.md): Use the SDK without React — same surface, just promises.