Developers · REST API v1

Automate your crypto-fiat operations

A RESTful JSON API for creating exchanges and settlement transfers to your own bank account or wallet, checking status, and receiving real-time webhook updates — in USD and a wide range of other fiat currencies.

Full API documentation Request access
quickstart.sh
# Create an exchange
curl -X POST https://api.inxy.io/v1/exchanges \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from_asset": "USDT",
    "from_amount": "250000.00",
    "to_currency": "USD",
    "settle_to": "bank_account",
    "callback_url": "https://you/webhooks"
  }'
Protocol
REST · JSON
Auth
API key (Bearer)
Updates
Webhooks
Currencies
USD & more fiat
Base URL

All requests use HTTPS

Every endpoint is relative to the version-1 base URL. Requests and responses are JSON.

https://api.inxy.io/v1
Authentication

Bearer API key

Pass your secret API key in the Authorization header. Keep keys server-side; never expose them in client code.

Authorization: Bearer <API_KEY>
Reference

Core endpoints

POST/v1/exchangesCreate a crypto-to-fiat or fiat-to-crypto exchange
GET/v1/exchanges/{id}Retrieve the status and details of an exchange
POST/v1/transfersCreate a settlement transfer to your own bank account or wallet
GET/v1/transfers/{id}Retrieve the status of a transfer
POST/v1/quotesRequest a firm quote before committing an exchange
GET/v1/currenciesList supported currencies and assets
GET/v1/ratesGet indicative exchange rates

This is a high-level overview. See the full API documentation for parameters, pagination and complete schemas.

Example

Create an exchange

Request an exchange with a firm rate, fund it from your side, and receive a webhook as it executes and settles to your bank account or wallet.

POST /v1/exchanges
POST /v1/exchanges
Authorization: Bearer <API_KEY>
Content-Type: application/json

{
  "from_asset": "USDT",
  "from_amount": "250000.00",
  "to_currency": "USD",
  "settle_to": "bank_account",
  "callback_url": "https://you/webhooks"
}
Webhooks

Real-time status updates

We send a signed POST to your callback_url whenever an exchange or transfer changes state. Verify the signature header before trusting the payload.

{
  "event": "exchange.settled",
  "id": "exch_8fK2c1Qd",
  "status": "settled",
  "reference": "TR-10432"
}
Status lifecycle

Exchange states

awaiting_fundsWaiting for you to fund the exchange
processingFunds received — rate locked, executing
settledDelivered to your bank account or wallet
expiredNot funded within the quote window
Errors

Standard HTTP status codes

CodeMeaning
400Bad request — a parameter is missing or invalid
401Unauthorized — the API key is missing or invalid
404Not found — the resource does not exist
409Conflict — duplicate order_id or state conflict
429Too many requests — rate limit exceeded

Ready to integrate?

Explore the full reference, or contact our team to request API access for your business.

Full API documentation Request access