Welcome to the Kaito APIs. This portal provides OpenAPI specs, quickstarts, and security details so you can build, test, and launch on Kaito.
Kaito provides API-based connectivity as a payment rail to move value across regions and rails:
- FIAT <-> FIAT — Cross-border fiat transfers
- FIAT <-> CRYPTO — On-ramp to crypto
- CRYPTO <-> FIAT — Off-ramp to fiat
- CRYPTO <-> CRYPTO — On-chain transfers
You integrate once with the Kaito API, and Kaito handles routing, provider selection, fallbacks, and settlement orchestration.
| Option | Description | Use Case |
|---|---|---|
| API Direct | Full control via REST API | Backend integrations |
| JavaScript SDK | @kaito/checkout-sdk | Web applications |
| Hosted Checkout | Redirect to Kaito | Quick integration |
| iFrame Embed | Widget in your app | Custom UI |
| Environment | Base URL | Purpose |
|---|---|---|
| Production | https://api.kai2.io | Live transactions |
| Sandbox | https://sandbox.api.kai2.io | Testing with mock data |
Quotes, payments, payouts, and FX operations.
| Feature | Description |
|---|---|
| Quotes | Lock pricing and routing for a limited time window |
| Execution Plans | Preview the multi-hop execution path |
| Payments | Execute on-ramp (FIAT_CRYPTO) and on-chain (CRYPTO_CRYPTO) payments |
| Payouts | Execute off-ramp (CRYPTO_FIAT) and cross-border (FIAT_FIAT) payouts |
| FX Rates | Indicative exchange rates |
| FX Quotes | Firm, executable FX quotes |
| Corridors | Supported country pairs and rails |
Spec: core.yaml
Identity verification, wallet management, and directory services.
| Feature | Description |
|---|---|
| Identity (KYC) | Individual identity verification |
| Identity (KYB) | Business verification |
| Wallets | Custodial wallet creation and management |
| Directory Resolution | Resolve handles, phone numbers, emails to wallet addresses |
| Handles | Manage user handles/aliases |
| Contacts | Address book management |
Spec: users.yaml
Payment acceptance and banking services for merchants.
| Feature | Description |
|---|---|
| Charges | In-person payment acceptance (NFC, QR, Alias) |
| Refunds | Full or partial refunds |
| Merchants | Merchant account management |
| Settlements | View settlement history and status |
| Balances | Available and pending balances |
| Reconciliation | Daily reports (CSV, XLSX, JSON) |
| Fees | Fee breakdown and summaries |
Spec: merchant.yaml
Webhooks and blockchain gateway operations.
| Feature | Description |
|---|---|
| Webhook Endpoints | Register and manage webhook subscriptions |
| Event Types | List available event types |
| Fee Estimation | Estimate network fees before transactions |
| Transaction Broadcast | Submit signed transactions to blockchain networks |
Spec: platform.yaml
| Mechanism | Description |
|---|---|
| OAuth2 | Client credentials from https://auth.kai2.io/oauth2/token |
| mTLS | Client certificate required on every request |
| Scopes | Request only needed scopes (e.g., payments:write) |
| Idempotency | Idempotency-Key header for safe retries |
| Webhooks | HMAC-SHA256 signature verification |
# 1. Get access token
curl -X POST https://auth.kai2.io/oauth2/token \
-d "grant_type=client_credentials" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET" \
-d "audience=https://api.kai2.io"
# 2. Create a quote
curl -X POST https://sandbox.api.kai2.io/v1/quotes \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"railType": "FIAT_CRYPTO",
"sender": { "amount": "100", "currency": "USD" },
"receiver": { "currency": "USDT" },
"corridor": "US-GT"
}'
# 3. Execute payment
curl -X POST https://sandbox.api.kai2.io/v1/payments \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Idempotency-Key: unique-key-123" \
-H "Content-Type: application/json" \
-d '{
"railType": "FIAT_CRYPTO",
"amount": 100,
"currency": "USD",
"destination": { "type": "address", "value": "0x..." },
"quoteId": "qt_01JH..."
}'- Auto-generate clients from OpenAPI specs (TypeScript, Python, Java, Go)
- Import specs into Postman/Insomnia
- Overview — Key concepts and architecture
- Payment Rail — How Kaito works as a rail
- Embedded Experiences — SDK, Checkout, iFrame
- Use Cases — Example flows
- Webhooks — Event delivery and signatures
- Errors & Tracing — Error handling
Last updated: 2025-12-22