Skip to main content

Base URL

https://api.chipipay.com/v1

Authentication

All API requests require two headers:
HeaderValueDescription
x-api-keypk_xxxxYour Chipi public API key
AuthorizationBearer sk_prod_xxxxYour secret key (server-side) or user JWT (client-side)
curl -H "x-api-key: pk_xxxx" \
     -H "Authorization: Bearer sk_prod_xxxx" \
     https://api.chipipay.com/v1/skus
For detailed instructions on obtaining your API keys, see the API Quickstart.

API Endpoints

Wallets

MethodEndpointDescription
GET/chipi-wallets/by-userGet wallet by user ID
GET/chipi-wallets/token-balanceGet token balance
PATCH/chipi-wallets/update-encryption-detailsUpdate wallet encryption

Transactions

MethodEndpointDescription
POST/transactions/record-sendRecord a send transaction
GET/transactions/transaction-listGet transaction history

Services (SKUs)

MethodEndpointDescription
GET/skusList available services
GET/skus/{id}Get a single service
POST/sku-purchasesPurchase a service
GET/sku-purchases/{id}Get purchase status

Exchanges

MethodEndpointDescription
GET/exchanges/usd-amountConvert currency to USD

Notifications and Webhooks

When you purchase a service, you’ll receive status updates via webhooks or email at the URL and email address you configured in your dashboard.

Steps to set up your webhook

  • For setting up webhooks and email notifications, see the API Quickstart.

Rate Limits

API requests are limited to 100 requests per minute per API key.

Error Handling

The API uses standard HTTP status codes to indicate success or failure:
  • 200 - Success
  • 400 - Bad Request
  • 401 - Unauthorized
  • 404 - Not Found
  • 429 - Rate Limited
  • 500 - Internal Server Error
Error responses include a JSON object with an error and message field:
{
  "error": "invalid_request",
  "message": "The request was invalid"
}