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.
Balances
View your account balances across supported currencies. Instantly retrieve information on available, locked, and total balances to effectively manage your funds.
Features:
- Available Balance: The amount that is free and can be used for trading, withdrawals or payouts.
- Locked Balance: The portion of the total balance currently involved in ongoing trades, pending deposits, or unprocessed withdrawals.
- Total Balance: The sum of available and locked balances for each currency.
- Negative Balance Support: A flag indicating if negative balances are allowed for a specific currency.
Example Use Case:
Use the Balances API to check your account status before initiating trades, withdrawals or payouts, ensuring you have sufficient funds available.
Supported Currencies:
The balances endpoint covers all currencies supported by CrissCross
Deposits
Fund your account with both fiat and cryptocurrency. Use our endpoints to securely generate deposit addresses, retrieve bank account details, and monitor your deposit history.
Supported Deposit currencies
Supported currencies can be found in Getting Started
Features:
- Retrieve a crypto deposit address by specifying the currency and network (e.g., USDT on ERC20).
- Get bank account details for fiat deposits.
- Query deposit history, including timestamps, amounts, and status, for easy tracking.
Note:
Ensure that your deposit transactions follow the provided instructions to avoid delays. For any issues or questions, please contact us at info@crisscross.money.
Withdrawals
Request and track withdrawals from your account, whether you’re withdrawing fiat or cryptocurrency. Manage your funds with reliable and secure transfers to your preferred destinations.
Supported Withdrawal Options
Supported currencies can be found in Getting Started
Features:
- Request Withdrawals: Initiate withdrawals by specifying the amount, currency, and, for crypto, the withdrawal address. Fiat withdrawals will be processed to your registered bank account.
- Track Withdrawal History: Retrieve detailed logs of your withdrawal requests, including timestamps, amounts, and statuses.
Withdrawal Types:
- FIAT: Withdraw funds to your linked bank account.
- CRYPTO: Send funds to the specified crypto address.
Note:
Ensure that all withdrawal details are accurate to avoid delays. For assistance, contact info@crisscross.money
Request Withdrawal
Request a fiat or crypto withdrawal. If you request a fiat withdrawal, it will be made to the bank account you submitted when onboarding.
Body
- The amount you wish to withdraw.
- The currency you wish to withdraw.
- The type of withdrawal. This can be:
- FIAT for a fiat withdrawal.
- CRYPTO for a crypto withdrawal.
- For a CRYPTO withdrawal, specify a withdrawal address. Only TRC and ERC withdrawals are available so a network is not required.
Response
The response body contains the following:
- The UUID of the withdrawal.
- The time the withdrawal was received.
- The currency of the withdrawal.
- The amount of the withdrawal.
- The type of withdrawal. This can be:
- FIAT for a fiat withdrawal.
- CRYPTO for a cryptocurrency withdrawal.
- The withdrawal address if it is a crypto withdrawal.
- The status of the withdrawal. This can be:
- 'successful'
- 'pending'
- 'failed'
Header Parameters
The apiKey is a header parameter used for authentication and authorization purposes when making requests to the POST /withdrawal endpoint.
Body Parameters
The amount parameter indicates the quantity of funds to be withdrawn from the brokerage account.
The currency parameter specifies the type of currency for the withdrawal amount.
The type parameter specifies the method of withdrawal, such as bank transfer or check.
The withdrawal_address is the destination address where the funds will be sent when requesting a withdrawal.
Withdrawal History
Query the withdrawal history for your brokerage account.
Query Parameters
- Perform time-based filtering using start_time and end_time. Supplying a start_time will return all withdrawals that occurred *after* that timestamp. Supplying an end_time will return all orders that occurred *before* that timestamp.
- 'currency' is the currency of the withdrawal.
Response
A list of withdrawals is returned. Each withdrawal contains:
- The UUID of the withdrawal.
- The time the withdrawal was received.
- The currency of the withdrawal.
- The amount of the withdrawal.
- The type of withdrawal. This can be:
- FIAT for a fiat withdrawal.
- CRYPTO for a cryptocurrency withdrawal.
- The withdrawal address if it is a crypto withdrawal.
- The status of the withdrawal. This can be:
- 'successful'
- 'pending'
- 'failed'
Header Parameters
The API key used for authentication and authorization purposes.
Query Parameters
UNIX timestamp (UTC) that defines the start of the request window. All withdrawals that occured after this timestamp are returned.
UNIX timestamp (UTC) that defines the start of the request window. All withdrawals that occurred before this timestamp are returned.
Currency of the withdrawal
Responses
Response Attributes
The unique identifier for the withdrawal transaction.
The date and time when the withdrawal transaction was created.
The amount of currency involved in the withdrawal transaction.
The currency in which the withdrawal transaction was made.
The current status of the withdrawal transaction.
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
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.