A worked example with @cai.com — from signup to first hosted-action payment to a stored vault credential
A worked example, end to end. About six minutes from cai.com/app to a working agent that has an @cai.com email, a funded wallet, a stored vault credential, and an installed MCP server. This post walks through every step with the actual commands and the actual API calls.
Step 1 — Sign up
Go to cai.com/app. Enter your name, your existing email, paste the 6-digit code CAI sends, set a password. Done. About 2 minutes.
What you have at the end: an @cai.com email, an empty wallet, an empty vault, and an API key with the read scopes.
Step 2 — Receive your first @cai.com email
Forward a test mail to your new address from your old email. It arrives in the CAI inbox. Send a reply to your old address from @cai.com — through the dashboard's compose UI, or via the API:
curl -X POST https://api.cai.com/functions/v1/send-email \ -H "Authorization: Bearer ***" \ -H "Content-Type: application/json" \ -d '{ "to": "you@youroldaddress.com", "subject": "Hello from @cai.com", "body": "Testing the new address." }' The send goes through. The reply arrives in your old inbox. The @cai.com address is live.
Step 3 — Top up the wallet
Open the account dashboard, click "Add funds," pick a chain. Base is fastest for testing. Pick a token — USDC is the default. Then either send from an external wallet to the CAI custodial address on the chosen chain, or buy with MoonPay (fiat on-ramp, partial-live, third-party KYC and region limits apply).
Your wallet has a $200/day auto-limit while CAI completes its security audit. New recipients and new devices always require confirmation on the hosted-action page. Think of it like cash in your pocket — perfect for daily spending. The vault product (multi-sig, time-locks) is coming for larger balances.
After the deposit confirms, check the balance:
curl -X POST https://api.cai.com/functions/v1/get-wallet-balances \ -H "Authorization: Bearer ***" \ -H "Content-Type: application/json" \ -d '{"chains": ["base"], "tokens": ["USDC"]}' The response includes the new balance. About 2 minutes for the deposit to confirm on Base.
Step 4 — Confirm a hosted-action payment
Now the agent side. The agent (or you, via curl) initiates a transfer:
curl -X POST https://api.cai.com/functions/v1/wallet-custodial-transfer \ -H "Authorization: Bearer ***" \ -H "Content-Type: application/json" \ -d '{ "to_address": "0xYourOtherAddress", "amount": "1.00", "chain": "base", "token": "USDC" }' The response includes a hosted-action URL. Open the URL on your phone. The page shows the recipient, the amount, the chain. Tap "Confirm." The transfer executes.
After the user confirms, the agent checks the activity feed for the receipt:
curl -X GET https://api.cai.com/functions/v1/wallet-activity-list \ -H "Authorization: Bearer ***" The response includes the completed transfer with its on-chain tx hash and status. The agent can then show the receipt to the user.
Step 5 — Store a site credential in the vault
Open the account dashboard, click "Vault," add a credential for a site you use often. The form is (site, username, password). The credential is encrypted at rest.
The agent can now list saved credentials:
curl -X GET https://api.cai.com/functions/v1/user-site-credentials \ -H "Authorization: Bearer ***" The response shows the metadata for each saved credential. The actual credential value is delivered through the user-confirmation hosted-action flow when the agent needs to use it.
Step 6 — Install the MCP server (optional)
The final step is the agent side. Install the MCP server:
npm i -g @cailab/mcp Add the server to your MCP host (OpenClaw, Hermes, Codex, Cursor). The config is:
{ "mcpServers": { "cai": { "command": "cai-mcp", "env": { "CAI_API_KEY": "your-api-key-from-the-dashboard" } } } } Restart the host. The CAI tools appear in the agent's tool surface. The agent can now call get_identity, get_wallet_balances, wallet_custodial_transfer, vault_get_site_credential, and the rest of the CAI surface — without you pasting a private key in chat.
Total time
Six minutes from signup to a working agent. About 2 minutes for the signup, 30 seconds for the test email, 2 minutes for the deposit, 30 seconds for the hosted-action test, 30 seconds for the vault credential, 30 seconds for the MCP install.
Apply at cai.com/app. The contract is cai.com/skill.md. The npm package is @cailab/mcp.
If you ran the end-to-end walkthrough above and a step failed
Comment below with:
- What you ran — the install command, the request, the MCP host config. Copy the actual command or request.
- What you expected — one sentence.
- What you got — the error message, the empty response, the unexpected behavior. Paste it verbatim.
- Your environment — OS, Node version, the MCP host (OpenClaw / Hermes / Codex / Cursor / other), the CAI account tier if relevant.
Every comment on this article gets read. Bug reports will be replied to within 24 hours. Friction points shape what we document next.
Documentation: cai.com/skill.md · cai.com/developers.html · cai.com/app to sign up.

