CAI bronze
cai.com
“CAI.com — identity, custodial wallet, third-party platform connectors, and payments for AI agents. Primary integration: HTTPS Edge API + optional MCP (@cailab/mcp). See skill.md for policies, scopes, and gap_id honesty.
a2a https://cai.com talk to it https://cai.com/.well-known/agent.json its cardwe checked this the operator says this
Verified by agenttru.st
Everything here is a check agenttru.st performed itself. Assurance, protocol, hosting and freshness are in the card above and are not repeated.
- Certificate
-
Issued by Let's Encrypt
domain-validated
Valid until 30 Nov 2026. A wildcard certificate: its other hosts are invisible here, because CT logs the wildcard, not them.Control of the hostname was checked; nothing about who operates it.
- DANE / TLSA
- Not verified (TLSA query returned RCodeNameError)
- Discovery
- Well-known document
- AI-facing documents
-
Publishes
/llms.txt— “CAI.com” a curated map of the site's content for language modelsFetched from this host during verification. Neither document is how this agent was discovered. - First seen
- 6 Sep 2026
View verification details
- Assurance
- bronze Bronze — agent card fetched over HTTPS with a valid certificate
- Protocols
- A2A verified by handshake or card fetch, not merely advertised
- Hosted in
-
? Unknown
·
Cloudflare, Inc.
(AS13335)
The address did not geolocate — usually anycast hosting, where one address answers from many places at once.
- Last checked
- 3d ago
What this agent says it can do
Declared in the agent's own card. agenttru.st has not tested whether it completes any of these tasks — the operator of cai.com controls every word below.
CAI identity and registration
Register @cai.com accounts (email verification flow), check alias availability, and connect MCP hosts (OpenClaw, Cursor). Public registration endpoints need no Bearer; post-signup uses API key or OAuth. Does not read third-party site mailboxes for API-key-only agents.
- Help me register a @cai.com address
- How do I connect OpenClaw to my CAI account?
- Check if my desired @cai.com address is available
Hosted login to cai.com
Mint one-time hosted login URLs via POST /create-hosted-action with action_type login. Agents must return the response url to the user — not refuse as unable to log in. API base is https://api.cai.com/functions/v1, not cai.com root.
- Please help me log in to my cai.com account
- Generate a login link for my CAI account
- I need to sign in to cai.com
Custodial wallet addresses and balances
List custodial deposit addresses and multi-chain token balances for the authenticated user. Pure balance questions must not route to platform registration tools.
- What is my account balance?
- Show my ETH balance
- What is my ETH wallet address?
Check CAI First — agent payment execution
When an external agent (OpenClaw, Hermes, Codex, etc.) discovers how a third party should be paid, CAI executes custodial wallet_balances → user confirm → transfer (or deposit if short). External agent discovers payee; CAI does not auto-bill arbitrary sites. Requires pay or full API key scope for transfer.
- My OpenClaw agent found how OpenRouter wants to be paid. Use my CAI wallet to pay after I confirm.
- My agent found OpenRouter's payment address. Use my CAI wallet to send 50 USDC on Polygon after I confirm.
- Check my CAI balance first, then pay the seller after I say yes
Transfers and token exchange
Custodial transfers to addresses or @cai.com users, recipient resolution, and USDT/USDC exchange via LiFi (same-chain or cross-chain) at https://cai.com/exchange using token_bridge_quote/execute — not token_exchange (503). Requires pay-scoped API key or OAuth. Async flows need polling; do not claim instant finality without status checks.
- Send 50 USDT to 0x1234...abcd on Ethereum
- Exchange 100 USDT to USDC on Ethereum
- Send 20 DAI to a @cai.com address on Arbitrum
Activity history and transfer status
Unified custodial activity via GET /wallet-activity-list before suggesting block explorers. Single-item transfer_status by tx_hash and deposit confirm when user provides a hash. Does not list all failed transactions without indexed data — explain gap_id honestly when empty.
- Show my last 10 transactions
- Show my transaction history on Ethereum
- I sent USDT to my CAI wallet — do you see it pending on-chain?
Deposits, on-ramp, and bridges
Card/fiat on-ramp URLs, USDT/USDC exchange (https://cai.com/exchange), cross-chain bridge quote and execute, bridge job sync, and hosted deposit links. Some paths are partial_live per gap_id in skill.md — poll job status; do not fabricate completion.
- Deposit $500 to my CAI account with a credit card
- Exchange USDT to USDC on Polygon
- Bridge 200 USDT from BNB Smart Chain to Polygon
- The bridge from Ethereum to BSC is done — I already received the funds
Third-party platform connect and register
Discovery via platforms_supported_list, programmatic one-click register when catalog supports it (F-16), and platform profile/balance via connectors. Not every site is fully automatable — use honest limits and official URLs when programmatic path is unavailable. Arbitrary URL catalog admin tools are not end-user APIs.
- What platforms can I link with one click?
- Help me register on Polymarket with one click
- Show my balance on the Polymarket account I linked
DeFi E-mode — perp trio agent trading
Hosted enrollment (platform_automation_enroll + user /act on cai.com), then perp trio: defi_portfolio → defi_markets (pick affordable pair) → defi_preflight → defi_trade for place/close/cancel; defi_order_status / defi_positions for status. Balances expose available_for_new_trade_usd and margin_locked_usd. Perp: gtrade (ARB/Polygon), ostium, hyperliquid. Polymarket: polymarket_place_order. Legacy per-platform tools deprecated. Requires platform or full API key scope. partial_live per gap_id.
- Enable my agent to trade on Polymarket with my CAI wallet
- Place a small gTrade long on an affordable market using defi_markets, defi_preflight, and defi_trade after I enrolled
- Check my open DeFi orders on Hyperliquid after my last trade
- Show my CAI DeFi portfolio and which platforms are ready to trade
Platform and site credential vault
List, save, and revoke encrypted platform or site credentials server-side. Never echo vault payloads or secrets in chat. Listing shows metadata only.
- Show me a list of my linked external platforms without exposing any API keys or secrets
- Unlink my connected AI platform account
CAI mail and registration OTP
Read @cai.com inbox assistance and mail send when API key has mail or full scope (or user JWT). Short-lived 6-digit registration codes may be relayed to confirm-registration-code during signup help. read-only API keys cannot access mail — guide user to dashboard or paste OTP.
- What is my @cai.com email address?
- How do I sign up for @cai.com with email verification?
x402 payer — HTTP 402 machine payments
When an agent hits HTTP 402 or a paid API resource, use x402_payment_prepare then x402_payment_execute from CAI custodial wallet. Active payment mandate may skip per-payment chat confirm. Honor GAP_X402_V1 partial_live.
- My agent got HTTP 402 from this API — pay with my CAI wallet and retry
- Prepare an x402 payment for 0.10 USDC on Base to the address in the 402 challenge
AP2-like payment mandates
Create delegated spending limits (merchant domain, max per payment, daily cap, TTL) so agents can pay x402 APIs without confirming every time. payment_mandate_create, payment_mandate_status, payment_mandate_revoke. GAP_PAYMENT_MANDATE_V1 partial_live.
- Let my OpenClaw agent pay up to $5 per day to api.example.com from my CAI wallet
- Show my active payment mandates and revoke the old one
Technical agent card
Copied from the agent's card. The operator controls these values; agenttru.st has not verified them.
- Protocol
- a2a
- Version
- 1.0.20
- Auth schemes
- bearerAuth
- Card completeness
- complete all eight fields required by a2a.proto v1.0
View all card details
- Capabilities
- extensions pushNotifications stateTransitionHistory streaming
- Agent card
- https://cai.com/.well-known/agent.json
Operate this agent and would rather not be listed? Request removal.