Skip to main content

FX Trading Operations API

This section documents endpoints fintechs use to generate quotes, execute trades, and track trade status for FX trading.
All endpoints require fintech API key authentication and IP allowlist verification.

FX Trading Operations API — Endpoints Overview


Get Quote

Get a price quote for trading. Returns matched orders from the orderbook with pricing and liquidity information. Quote is valid for 5 minutes.

Execute Trade

Execute a trade using a quote ID or direct trade parameters. Initiates the FX trade flow: requested → locked → signed → settling → completed.
There are three execution modes:
  • Mode 1 (Quote): Use quoteId from /fx/quote for price consistency
  • Mode 2 (Direct): Provide pair, side, cngnAmount for current market price
  • Mode 3 (Targeted): Use orderId to execute against a specific LP order at exact price
Ensure the cNGN to trade is in your Fintech Smart Wallet /getfintechwallet

Get Trade Status

Get the current status of a trade. Use this to track trade progress through the execution flow.

Path Parameters


List Trades

List your fintech’s trades with optional filters. Returns paginated list of trades.

Query Parameters


Create Market Order

Execute an immediate market order at the current best available price. Market orders are matched against existing limit orders in the orderbook.
Market Order Execution:
  • Executes immediately at best available price from limit orders
  • Automatically handles settlement based on your auto-signing configuration
  • Trade is locked in escrow during settlement process
  • Your wallet must have sufficient balance for the trade

Trade Status Lifecycle

Trades follow a specific status lifecycle:

Status Flow


Common Errors


Notes

Important information about FX trading:
  • All amounts use 6 decimal places for cNGN and stablecoins
  • Token amount field names are dynamic based on the trading pair (usdcAmount, usdtAmount, etc.)
  • Quotes expire after 5 minutes
  • Trade locks expire after 5 minutes
  • All timestamps are in ISO 8601 format (UTC)
  • Status and side parameters are case-insensitive in query strings