Getting Started
API Overview
The CrissCross API provides comprehensive tools for managing accounts, trading currencies, and making local currency payouts. The API is organized into three main sections: Accounts, Trading, and Payouts, allowing you to handle everything from deposits and withdrawals to currency conversion and local payouts.
Products and Functionality
1. Accounts
The Accounts section centralises balance management, deposits, and withdrawals, supporting both trading and payouts. This section provides essential endpoints to manage your funds effectively across multiple currencies.
- Balances: View available, locked, and total balances.
- Deposits: Fund your account with supported currencies (Listed below).
- Withdrawals: Withdraw funds to your bank account or crypto wallet.
2. Trading
The Trading API enables you to convert between major and local currencies. Start by obtaining a quote, and once accepted, initiate the trade to move funds between currencies.
- Get Quote: Retrieve a conversion rate and a
quote_id
for a desired trade. - Accept Quote: Lock in the rate by accepting the quote within the valid timeframe to create the trade.
- History: View past trades for reference and auditing.
Use Case: Ideal for businesses requiring high-volume currency conversions or managing funds across different currencies.
3. Payouts
The Payouts API is designed for distributing funds across regions, supporting both bank and mobile wallet transfers. The Payouts API works alongside the Trading and Accounts sections to ensure sufficient local currency balances for payouts.
- Single and Bulk Payouts: Send individual or batch payouts to bank accounts or mobile wallets.
- Payout History: Track previous payouts by filtering for a specific payout ID or date range.
Use Case: Useful for businesses that manage regular disbursements or large volumes of regional payouts.
Workflow Overview
- Fund Account: Start by funding your CrissCross account with supported currency via the Deposit Endpoint in Accounts.
- Check Balances: Use the Balances Endpoint to view all account balances.
- Trade: Convert funds from major currencies to local currencies or vice versa using the Trading Endpoint.
- Make Payouts: If you have sufficient balance in a supported payout currency you can initiate single or bulk payouts to recipients using the Payouts Endpoint.
- Track Payouts: View payout transaction history with the Payout History Endpoint for tracking and auditing.
Authentication
To access the CrissCross API, include an API key in each request header as apiKey
. If you need an API key, contact your account manager or info@crisscross.money.
- Content-Type: Use
application/json
for all requests. - HTTPS Only: Non-secure requests are not supported.
- Error Handling: Successful requests return an HTTP status code in the 200 range. Unauthorized requests return a 403 error.
Supported Currencies
The list of supported currencies is regularly updated to meet expanding market needs.
Fiat
- Major Currencies: USD, EUR
- Minor Currencies: NGN, XOF, XAF, GHS, KES, ZAR, AED, EGP, SAR
Crypto
- Supported Currencies: USDT, USDC, BTC
- Supported Networks: ERC20, TRC20, BTC
Notes
- Payouts are only supported in Minor Currencies.
- Direct trades between minor currencies (e.g., XOF to NGN) are not supported via the API. If you require trading between minor currencies, this can be arranged over-the-counter (OTC). Please contact us at info@crisscross.money for more information.
Access and Usage
The CrissCross API is governed by our Terms of Service. Ensure you have read and accepted these terms before integrating with our platform.
For any questions, feedback, or recommendations, please contact us at info@crisscross.money.
Base URL
Production:
https://router.crisscross.money/api/v1
Accounts
These endpoints support both trading and payout operations, giving you a unified view and control over your funds across various currencies.
Key Endpoints
- Balances: Check available, locked, and total balances across all supported currencies. This endpoint provides a complete view of your funds held with CrissCross.
- Deposits: Fund your account with our supported fiat and cryptocurrencies.
- Withdrawals: Access funds from your CrissCross account by initiating withdrawals to a bank or crypto wallet.
Trading
The Trading API allows you to execute currency conversions between major and local currencies. Follow these steps to create a trade:
Step 1
- Get a Quote: Start by retrieving a quote for the currency conversion.
- The API will respond with a
quote_id
and the applicable conversion rate. Note: The quote is valid for 5 seconds.
Step 2
- Accept the Quote: To lock in the rate and create the trade, you need to accept the quote using the
quote_id
.
Use the Trading API to:
- Access live rates for supported currency pairs
- Request quotes and lock trades
- View your order history
Request for Quote
Quotes can be requested by supplying a source currency, a destination currency, and either a source or destination amount. Quotes expire after 5 seconds.
Query Parameters
- 'from' is used to denote the source currency parameter,
- 'to' is used to denote the destination currency parameter.
Either 'want' or 'have' can be supplied to indicate the requested trade volume. You can't supply values for both.
- 'want' denotes the desired amount of destination currency.
- 'have' denotes the amount of source currency that is desired to be traded.
Response
The following data is returned in the response body:
- The source and destination currencies that were requested in the query parameters.
- The trade rate (in source currency).
- A quote token that can be used to lock a trade.
- Timestamp of when the quote expires.
- Timestamp of when the quote is requested.
Header Parameters
The API key used for authentication purposes.
Query Parameters
Source currency.
Destination currency.
Responses
Response Attributes
The currency being exchanged from.
The amount of currency being traded from.
The currency to which the trade will be made.
The amount of currency being traded to.
The trade rate represents the exchange rate used for the quote calculation.
The inverse of the trade rate used for the quote calculation.
The spot rate used for the quote calculation.
The inverse of the spot rate used for the quote calculation.
Indicates the type of quote request being made.
Unique identifier for the quote request.
The date and time when the quote request was created.
The expiration date and time of the quote request.
Accept Quote
Once you have requested a quote and wish to accept it, you have 5 seconds to use the Quote ID you received to lock the trade.
Body
- The Quote ID received from the /quote endpoint.
Response
The following data is returned in the response body:
- Order ID.
- The source and destination currencies that were requested in the quote.
- The trade rate (in source currency).
- Quantity of destination currency traded.
- Timestamp of when the trade was locked.
Header Parameters
The API key required for authentication.
Body Parameters
Responses
Response Attributes
The unique identifier for the order associated with the quote.
The currency from which the amount is originating.
The amount in the "from" currency.
The currency to which the amount will be received.
The amount to be received in the "to" currency.
The trade rate at which the quote is accepted.
The inverse of the trade rate for the quote.
The spot rate at which the quote is based.
The inverse of the spot rate for the quote.
The type of quote response received.
The unique identifier for the quote.
The timestamp indicating when the quote was created.
History
Endpoints specific to querying order history.
Order History (Multiple)
Query order history.
Query Parameters
- Perform time-based filtering using start_time and end_time. Supplying a start_time will return all orders that occurred *after* that timestamp. Supplying an end_time will return all orders that occurred *before* that timestamp.
- To is the source currency of the order.
- From is the destination currency of the order.
Response
A list of orders is returned. For each order, the following data is returned.
- Order ID.
- The source and destination currencies that were requested in the quote.
- The trade rate (in source currency).
- Quantity of destination currency traded.
- Timestamp of when the trade was locked.
Header Parameters
The API key required for authentication.
Query Parameters
UNIX timestamp (UTC) that defines the start of the request window. All trades that occured after this timestamp are returned.
UNIX timestamp (UTC) that defines the end of the request window. All trades that occured before this timestamp are returned.
Source currency of the trades
Destination currency of the trades.
Responses
Response Attributes
The unique identifier for the order.
The currency from which the amount is converted.
The amount in the 'from' currency.
The currency to which the amount is converted.
The amount in the 'to' currency.
The trade rate for the order.
The inverse of the trade rate.
The spot rate for the order.
The inverse of the spot rate.
The type of order.
The unique identifier for the quote.
The timestamp when the order was created.
Order History (Single)
Query data relating to a single order. Supply the order ID as a path parameter.
Response
A single order is returned. The following data is returned.
- Order ID.
- The source and destination currencies that were requested in the quote.
- The trade rate (in source currency).
- Quantity of destination currency traded.
- Timestamp of when the trade was locked.
Header Parameters
The API key for authentication.
Responses
Response Attributes
The unique identifier for the order.
The currency from which the amount is converted.
The amount in the 'from_currency'.
The currency to which the amount is converted.
The amount in the 'to_currency'.
The exchange rate used for the trade.
The inverse of the trade rate.
The spot exchange rate.
The inverse of the spot rate.
The type of the order.
The unique identifier for the quote.
The timestamp when the order was created.
Payouts
The Payouts API enables you to send funds to recipients in supported regions via bank accounts or mobile wallets (MoMo). Whether handling individual transactions or large-volume disbursements, the Payouts API provides the flexibility to manage payouts reliably and efficiently.
Key Features
- Single Payouts: Send a one-time payout to a recipient’s bank account or mobile wallet.
- Bulk Payouts: Schedule multiple payouts in a single request, ideal for handling larger batches of disbursements.
Workflow
- Check Balance: Use the Balances Endpoint to confirm sufficient funds in the payout currency.
- Top-up Account (if needed): Convert from major currencies to the local currency using the Trading endpoint.
- Initiate Payout: Send funds using either the single or bulk payout endpoints, depending on your needs.
- Track Payout History: Use the Payout History Endpoint to monitor and review payout transactions, with options to filter by date range or specific payout ID.
The Payouts API is built for businesses that need to move money across regions reliably, whether for operational payments, customer disbursements, or payroll.