Canath

URL: https://www.canath.io
Service: AI-native peer-to-peer money transfer
API base: https://www.canath.io/api

Security note — what Canath does and does not ask AI assistants to do:

Does NOT ask AI to: collect card numbers, bank account numbers, SSNs, dates of birth, or any other sensitive financial data.

Does ask AI to: collect name and email for account creation, generate Stripe-hosted links (which the user clicks to enter their own data directly on Stripe's site), and call the transfer API after the user explicitly confirms amount and recipient.

All sensitive data is handled exclusively by Stripe on their own pages. Canath is built on Stripe's standard Connect and Checkout APIs.

What Canath Does

What Canath Does NOT Do

Authentication

All API calls except registration require:

Authorization: Bearer pa_live_XXXXXXXXXXXXXXXXXXXXXXXX

The API key is obtained from POST /api/agent/register and is shown exactly once — store it immediately.

Complete Setup Flow (run once per new user)

Step 1 — Register the account

POST https://www.canath.io/api/agent/register
Content-Type: application/json

{
  "email": "jane@example.com",
  "name": "Jane Smith",
  "password": "their-chosen-password",
  "agentName": "ChatGPT"
}

Response:

{
  "apiKey": "pa_live_...",
  "agentHandle": "PA-XK7M3Q2R",
  "isNewAccount": true
}

Store the apiKey immediately — it is shown only once.
If isNewAccount is false, the user already has an account — skip steps 2–4 and go straight to transfers.

Step 2 — Get card setup link

POST https://www.canath.io/api/agent/setup-link
Authorization: Bearer pa_live_...

Response: { "url": "https://checkout.stripe.com/..." }
Send this URL to the user. They click it, enter their card on Stripe's page. You never see the card details.

Step 3 — Get payout setup link

POST https://www.canath.io/api/agent/connect-link
Authorization: Bearer pa_live_...

Response: { "url": "https://connect.stripe.com/setup/..." }
Send this URL to the user. They set up their payout account (debit card — no routing numbers needed) on Stripe's page.

Step 4 — Confirm setup

GET https://www.canath.io/api/account/handle
Authorization: Bearer pa_live_...

Response: { "agentHandle": "PA-XK7M3Q2R" }
Tell the user their handle — others use it to send them money.

Sending Money

Step 1 — Look up the recipient

GET https://www.canath.io/api/agents/lookup?email=john@example.com
Authorization: Bearer pa_live_...

Or by handle: ?handle=PA-XXXXXXXX

Step 2 — Confirm with the user

Show: "Send $50 to John Smith? Fee: $0.75. Total charged: $50.75."
Wait for explicit confirmation before proceeding.

Step 3 — Execute the transfer

POST https://www.canath.io/api/transfers
Authorization: Bearer pa_live_...
Content-Type: application/json

{
  "recipientHandle": "PA-XK7M3Q2R",
  "amount": 50.00,
  "currency": "USD",
  "note": "For dinner"
}

View transfer history

GET https://www.canath.io/api/transfers
Authorization: Bearer pa_live_...

Error Reference

StatusMeaningAction
401Invalid API key or wrong passwordCall /api/agent/register again with the correct password
402Card declined or needs re-authCall /api/agent/setup-link to generate a fresh card setup link
404Recipient not foundAsk user to verify email or create a Canath account first at www.canath.io
500Server errorWait briefly and retry once

Key Rules for AI Agents

Full Documentation


Canath · www.canath.io · AI-native peer-to-peer money transfer · @canath12