Lock pricing and routing
Kaito Core API (2.0.0)
Core payment operations: Quotes, Payments, Payouts, and FX.
Rail Types: CRYPTO_CRYPTO (on-chain), FIAT_CRYPTO (on-ramp), CRYPTO_FIAT (off-ramp), FIAT_FIAT (cross-border).
Typical Flow: Get rates -> Create quote -> Execute payment/payout -> Track status.
Destination Types (Payments): handle, phone, address.
Beneficiary Types (Payouts): bank_account, cash_pickup, mobile_money.
Overview
URL
Kaito Developer Support
License
Languages
Servers
Mock server
https://developer.kaito.io/_mock/core/
Production
https://api.kai2.io/
Sandbox
https://sandbox.api.kai2.io/
Bodyapplication/jsonrequired
Enum"FIAT_FIAT""FIAT_CRYPTO""CRYPTO_FIAT""CRYPTO_CRYPTO"
Example: "CRYPTO_CRYPTO"
- Mock serverhttps://developer.kaito.io/_mock/core/v1/payments
- Productionhttps://api.kai2.io/v1/payments
- Sandboxhttps://sandbox.api.kai2.io/v1/payments
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://developer.kaito.io/_mock/core/v1/payments \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: string' \
-d '{
"railType": "CRYPTO_CRYPTO",
"amount": 25.5,
"currency": "USDT",
"destination": {
"type": "handle",
"value": "@recipient"
},
"network": "polygon",
"quoteId": "string",
"metadata": {}
}'Response
application/json
{ "paymentId": "pay_01JH...", "status": "created", "createdAt": "2019-08-24T14:15:22Z", "railType": "CRYPTO_CRYPTO", "amount": 0, "currency": "string", "destination": { "type": "handle", "value": "@recipient" }, "network": "polygon", "quoteId": "string", "providerRef": "string", "txHash": "string" }
- Mock serverhttps://developer.kaito.io/_mock/core/v1/payments
- Productionhttps://api.kai2.io/v1/payments
- Sandboxhttps://sandbox.api.kai2.io/v1/payments
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://developer.kaito.io/_mock/core/v1/payments?status=created&railType=CRYPTO_CRYPTO&createdAfter=2019-08-24T14%3A15%3A22Z&createdBefore=2019-08-24T14%3A15%3A22Z&limit=50&cursor=string' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'Response
application/json
{ "items": [ { … } ], "pagination": { "nextCursor": "cursor_abc123" } }
- Mock serverhttps://developer.kaito.io/_mock/core/v1/payments/{paymentId}
- Productionhttps://api.kai2.io/v1/payments/{paymentId}
- Sandboxhttps://sandbox.api.kai2.io/v1/payments/{paymentId}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://developer.kaito.io/_mock/core/v1/payments/{paymentId}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'Response
application/json
{ "paymentId": "pay_01JH...", "status": "created", "createdAt": "2019-08-24T14:15:22Z", "railType": "CRYPTO_CRYPTO", "amount": 0, "currency": "string", "destination": { "type": "handle", "value": "@recipient" }, "network": "polygon", "quoteId": "string", "providerRef": "string", "txHash": "string" }