Exchange Rate
Retrieve exchange rates for cryptocurrency pairs with fixed or floating rates
Endpoint
/v1/rateThis endpoint does not require authentication
Purpose
The exchange rate endpoint allows you to retrieve current exchange rates between any two supported cryptocurrencies. You can choose between fixed rates (locked for a period) or floating rates (real-time market rates).
Fixed vs Float Rates
Fixed Rate
- • Rate is locked for 15 minutes
- • Higher fee (typically 1%)
- • Guaranteed exchange amount
- • Best for users who want certainty
- • Rate expires if not used
Float Rate
- • Real-time market rate
- • Lower fee (typically 0.5%)
- • Final amount may vary
- • Best for users who want best rate
- • Rate updates continuously
Query Parameters
| Parameter | Required | Description |
|---|---|---|
| from | Yes | Source currency code (e.g., BTC, USDT, BNB) |
| to | Yes | Destination currency code |
| from_network | Yes* | Source network (required for tokens, e.g., ERC20, TRC20) |
| to_network | Yes* | Destination network (required for tokens) |
| amount | Yes | Amount to exchange (numeric) |
| rate_type | No | Rate type: "fixed" or "float" (default: "float") |
| direction | No | "from" (default) or "to" - direction of amount calculation |
* Network parameters are required for ERC20, TRC20, BEP20 tokens. Not required for native currencies like BTC, ETH.
Direction Parameter
The direction parameter determines how the amount is interpreted:
direction=from (Default)
Calculate how much you'll receive when sending a specific amount:
GET /v1/rate?from=BTC&to=USDT&amount=0.1&direction=from
Response: {
"rate": 83134.00,
"from_amount": 0.1,
"to_amount": 8313.40,
"fee": 83.13,
"fee_percent": 1.0
}"If I send 0.1 BTC, how much USDT will I receive?"
direction=to
Calculate how much you need to send to receive a specific amount:
GET /v1/rate?from=BTC&to=USDT&amount=1000&direction=to
Response: {
"rate": 83134.00,
"from_amount": 0.01204,
"to_amount": 1000.00,
"fee": 10.00,
"fee_percent": 1.0
}"How much BTC do I need to send to receive 1000 USDT?"
Request Examples
Basic Rate Query
curl -X GET "https://api.mintmove.io/v1/rate?from=BTC&to=USDT&amount=0.1&rate_type=fixed" \
-H "Content-Type: application/json"With Networks
curl -X GET "https://api.mintmove.io/v1/rate?from=USDT&from_network=ERC20&to=USDT&to_network=TRC20&amount=1000" \
-H "Content-Type: application/json"Response Example
{
"success": true,
"data": {
"rate": 831.34,
"from": "BNB",
"from_network": "BEP20",
"to": "USDT",
"to_network": "ERC20",
"from_amount": 1.202887,
"to_amount": 1000.00,
"rate_type": "fixed",
"fee": 10.00,
"fee_percent": 1.0,
"expires_at": "2025-01-27T11:40:00Z",
"min_amount": 0.01,
"max_amount": 1000.0
}
}Response Fields
| Field | Description |
|---|---|
| rate | Exchange rate (1 from = rate to) |
| from_amount | Amount to send (in source currency) |
| to_amount | Amount to receive (in destination currency) |
| fee | Exchange fee amount |
| fee_percent | Exchange fee percentage |
| expires_at | Rate expiration time (ISO 8601, fixed rates only) |
| min_amount / max_amount | Minimum and maximum exchange amounts |
Error Responses
Invalid Currency Pair
{
"error": true,
"error_code": "INVALID_PAIR",
"message": "Currency pair BTC/INVALID is not supported"
}Amount Out of Range
{
"error": true,
"error_code": "AMOUNT_OUT_OF_RANGE",
"message": "Amount must be between 0.01 and 1000.0",
"min_amount": 0.01,
"max_amount": 1000.0
}Network Mismatch
{
"error": true,
"error_code": "NETWORK_MISMATCH",
"message": "Network TRC20 is not supported for currency BTC"
}