API Key Setup
- Some endpoints will require an API Key. Please refer to this page regarding API key creation.
- Never share your API key/secret key to ANYONE.
| Security Type | Description |
|---|---|
| NONE | Endpoint can be accessed freely. |
| TRADE | Endpoint requires sending a valid API-Key and signature. |
Main wallet
A Main wallet is your default wallet, you will be able to deposit, withdraw and make trade.
Trade wallet
Here you can transfer your assets to separate them for better accounting.
There is now a Postman collection containing the API endpoints for quick and easy use.
This is recommended for new users who want to get a quick-start into using the API.
For more information please refer to this page: Efex API Postman
4XX return codes are used for malformed requests; the issue is on the sender's side.403 return code is used when the WAF Limit (Web Application Firewall) has been violated.429 return code is used when breaking a request rate limit.418 return code is used when an IP has been auto-banned for continuing to send requests after receiving 429 codes.5XX return codes are used for internal errors; the issue is on Efex's side.The error payload on API and SAPI is as follows:
{
"message": "Invalid symbol."
}GET endpoints, parameters must be sent as a query string.POST, PUT, and DELETE endpoints, the parameters may be sent in the request body with content typeapplication/form-data.SIGNED endpoints require an additional parameter, signature, to be sent in the request body.HMAC SHA256 signatures. The HMAC SHA256 signature is a keyed HMAC SHA256 operation. Use your secretKey as the key and totalParams as the value for the HMAC operation.signature is not case sensitive.totalParams is defined as the query string concatenated with the request body.SIGNED endpoint also requires a parameter, timestamp, to be sent which should be the millisecond timestamp received from server by calling get timestamp api.receive_window, may be sent to specify the number of milliseconds after timestamp the request is valid for.The logic is as follows:
if ((serverTime - timestamp) < recvWindow){
// process request
} else {
// reject request
}Serious trading is about timing. Networks can be unstable and unreliable, which can lead to requests taking varying amounts of time to reach the servers. With receive_window, you can specify that the request must be processed within a certain number of milliseconds or be rejected by the server.
/get-timestampResponse:
{
"timestamp": 1630133102
}/v1/trade-botPlace Buy or sell Order
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Parameters:
| Name | Type | Mandatory | Description |
|---|---|---|---|
| symbol | STRING | YES | crypto pair symbol like "BTC_USDT". |
| order_type | INT | YES | 1-LIMIT,2-MARKET,3-STOP-LIMIT,4-OCO |
| order_by | INT | NO | PASS WHEN order_by is 2.Values for order by are 1 - ORDER BY QTY,2- ORDER BY AMOUNT |
| price | FLOAT | YES | Price is require for LIMIT, STOP-LIMIT and OCO type order |
| side | INT | YES | 1-BUY,2-SELL |
| qty | FLOAT | YES | Qty is not required to pass when you are placing market type order by amount order else it is required |
| amount | FLOAT | YES | Amount is only required to pass when you are placing market type order by amount order else it is not required |
| trigger_price | FLOAT | NO | Trigger Price is require for STOP-LIMIT and OCO type order |
| limit_price | FLOAT | NO | Limit Price is require for OCO type order |
| is_hidden | INT | NO | If you do not wish to display your order in the order book, please enter '1' in this field; otherwise, enter '0'. (Only LIMIT orders). |
| timestamp | MILLISECOND | YES | one you received from get timestamp api |
| receive_window | INT | Yes | max 20000. |
| signature | STRING | YES | will be in this sequence
IF ORDER_TYPE == 1
"symbol:order_type:price:qty:side:timestamp:receive_window"
IF ORDER_TYPE == 2 AND ORDER_BY == 1
"symbol:order_type:order_by:qty:side:timestamp:receive_window"
IF ORDER_TYPE == 2 AND ORDER_BY == 2
"symbol:order_type:order_by:amount:side:timestamp:receive_window"
IF ORDER_TYPE == 3
"symbol:order_type:price:qty:trigger_price:side:timestamp:receive_window"
IF ORDER_TYPE == 4
"symbol:order_type:price:qty:limit_price:trigger_price:side:timestamp:receive_window" |
Response:
{
"message": "Sell Order Place Successfully"
}/v1/get-open-buy-sell-orderGet All Active Buy Sell Trades
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| symbol | BTC_USDT | Pass Pair Symbol Like given Above |
| type | 0 | 0-All,1-Buy,2-Sell |
| page | 1 | Page is required to pass and it start with 1 and max 10 you can pass. |
| per_page | 1 | per_page is required to pass and it start with 1 and max 100 you can pass. |
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
| signature | STRING | will be in this sequence "Symbol:type" |
Response:
{
"trades": {
"sell": [
{
"price": 46705.6958,
"qty": "3.02968500",
"total": "141503.54597982"
}
],
"buy": [
{
"price": 46034.6299,
"qty": "0.19120000",
"total": "8801.82123688"
}
]
}
}/v1/get-user-open-orderGet All User Active Buy Sell Trades
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| symbol | BTC_USDT | Pass Pair Symbol Like given Above |
| type | 0 | 0-All,1-Buy,2-Sell |
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
| signature | STRING | will be in this sequence "Symbol:type" |
Response:
{
"trades": [
{
"id": 716880,
"time": "11:36:03", //time is in utc
"date": "16/03/2023", //date is in utc
"symbol": "BNB/USDT", //pair code
"order_type": 1,
"type": 1, //Buy Order
"price": "360.90000000",
"amount": "1.00000000", // qty
"total": "360.90000000",
"limit": "-",
"confirm_qty": "0.00000000",
"table": 1
},
]
}/v1/cancel-user-tradeCancel User Active Buy Sell Trade
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| id | Trade ID | Pass Open Trade id you wish to cancel |
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
| signature | STRING | will be in this sequence "id" |
Response:
{
"message": "Order Cancel Successfully"
}/v1/cancel-bulk-orderBulk Cancel User Active Buy Sell Trade
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| type | Order Type | 0-all, 1-Limit, 2-Market, 3-Stop Limit |
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
| signature | STRING | will be in this sequence "Type" |
Response:
{
"message": "Order Cancel Successfully"
}/v1/check-user-balanceCheck User Balance for particular Currency
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| symbol | USDT | Pass Currency Code to get Balance particular Currency Balance else pass "ALL" for all currency |
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
| signature | STRING | will be in this sequence "symbol" |
Response:
{
"balance": "xxxxx.xxxxxxxx" //user balance of that coin is display
}/v1/get-market-priceGet Market Price of single or all pair
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| symbol | DOGE_USDT | Optional if given only that pair price will come |
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
Response:
[
{
"currency_pair": "ETH/BTC",
"last_trade_price": "0.07408300"
},
{
"currency_pair": "BNB/USDT",
"last_trade_price": "360.70000000"
},
{
"currency_pair": "BTC/USDT",
"last_trade_price": "16978.63460900"
},
{
"currency_pair": "DOGE/USDT",
"last_trade_price": "0.10085000"
},
]/v1/get-user-all-orderCheck User all spot order
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| symbol | USDT_IRR | Optional.Pass Currency Pair Name to get Order of particular Pair Balance |
| page | 1 | Page is required to pass and it start with 1 and max 10 you can pass. |
| per_page | 1 | per_page is required to pass and it start with 1 and max 100 you can pass. |
| type | 0 | 0-All,1-Buy,2-Sell |
| from_timestamp | TIMESTAMP | Pass a timestamp to receive transactions from a specific time until the current date. |
| to_timestamp | TIMESTAMP | Pass a timestamp to receive transactions to a specific time.. |
| tradeId | INT | Pass a tradeId to get a specific order. |
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
| signature | STRING | will be in this sequence "from_timestamp:to_timestamp:page:per_page" |
Response:
{
"trades": []
}/v1/get-recent-orderGet Recent Orders of single pair
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| symbol | DOGE_USDT | Pass Pair Symbol Like given Above |
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
| page | INT | Optional max 20 record will come in one page in descending order. |
Response:
[
{
"price": 602.3923,
"qty": 0.174474,
"datetime": "2024-08-15T05:33:28.2501302",
"isGreen": true
},
{
"price": 584.7289,
"qty": 0.112505,
"datetime": "2024-08-15T05:30:27.2423365",
"isGreen": false
},
{
"price": 603.1283,
"qty": 0.155497,
"datetime": "2024-08-15T05:27:28.6631559",
"isGreen": true
}
]Below we have mention status code and there name in table for deposit and withdraw crypto transaction
Status Code:
| Code | Name |
|---|---|
| 0 | Pending |
| 1 | Completed |
| 2 | Waiting for admin approval |
| 3 | Cancel by Admin |
| 4 | Processing |
| 5 | Cancel by User |
/v1/get-available-currencyGet Available Currency list
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
Response:
{
"message": "Available Currency List receive successfully",
"currency_list": [
{
"code": "BTC",
"name": "Bitcoin",
"deposite_status": 1,
"withdraw_status": 1,
"withdraw_fees": 10,
"min_withdraw_amount": 0.001,
"max_withdraw_amount": 0.31635748,
"decimal_point": 8,
"currency_type": "Crypto Currency",
"network_list": [
{
"network": "Bitcoin",
"protocol": "Bitcoin",
"symbol": "BTC",
"avg_time": 10,
"withdraw_fees": 0.0002,
"withdraw_type": 0,
"address_regex": 0
},
{
"network": "Binance Smart Chain",
"protocol": "BEP20",
"symbol": "BTC_BSC",
"avg_time": 2,
"withdraw_fees": 0.0002,
"withdraw_type": 0,
"address_regex": 0
},
{
"network": "Ethereum",
"protocol": "ERC20",
"symbol": "BTC_ERC",
"avg_time": 2,
"withdraw_fees": 0.0007,
"withdraw_type": 0,
"address_regex": 0
}
]
},
{
"code": "IRR",
"name": "Iran's Rial",
"deposite_status": 1,
"withdraw_status": 1,
"withdraw_fees": 0,
"min_withdraw_amount": 10,
"max_withdraw_amount": 100,
"decimal_point": 0,
"currency_type": "Fiat Currency"
},
]
}/v1/get-deposit-transaction-listGet Recent 500 Crypto deposit Transaction list
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| page | INT | max 10 record will come in one page in descending order |
| currency_code | STRING | Optional. You can skip this if you don't want to receive a transaction list sorted by specific assets. |
| destination_address | STRING | Optional. You can skip this if you don't want to receive a transaction list sorted by specific destination address. |
| from_timestamp | TIMESTAMP | Optional. Pass a timestamp if you want to receive transactions from a specific time until the current date. |
| to_timestamp | TIMESTAMP | Optional. Pass a timestamp if you want to receive transactions to a specific time. |
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
Response:
{
"message": "Transaction List receive successfully",
"total_transaction_count": 19,
"transaction_list": [
{
"currency_code": "USDT",
"amount": "10.00000000",
"address_from": "TNGozGijqxTyTip6gaasd9cuV4PJouBo1u",
"address_to": "TF32u9nxn4CyZEQxtgHgmPmgtdAFq3g3rE",
"unique_id": "2109251129268",
"tx_id": "df21ee17241504ba56138a57a0d79aad2bd6b467768af4270ff80601b7757095",
"confirmation": 1,
"error_reason": null,
"status": 1,
"created_at": "2021-09-25T16:59:40.000000Z"
},
]
}/v1/get-withdraw-transaction-listGet Recent 500 Crypto Withdraw Transaction list
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| page | 1 | max 10 record will come in one page in descending order |
| currency_code | STRING | Optional. You can skip this if you don't want to receive a transaction list sorted by specific assets. |
| destination_address | STRING | Optional. You can skip this if you don't want to receive a transaction list sorted by specific destination address. |
| from_timestamp | TIMESTAMP | Optional. Pass a timestamp if you want to receive transactions from a specific time until the current date. |
| to_timestamp | TIMESTAMP | Optional. Pass a timestamp if you want to receive transactions to a specific time. |
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
Response:
{
"message": "Transaction List receive successfully",
"total_transaction_count": 5,
"transaction_list": [
{
"currency_code": "XRP",
"amount": "2.00000000",
"address_from": "rL7XrqvegsepuSs9FL35vpShr8yhubDDUc",
"address_to": "rUzWJkXyEtT8ekSSxkBYPqCvHpngcy6Fks",
"unique_id": "2109241155752",
"tx_id": "456F7E536D48E71110E70412F8EACEF414DD7ED8F23A31B6DF565DE5D15D6544",
"error_reason": null,
"status": 1,
"created_at": "2021-09-24T17:25:56.000000Z"
},
]
}/v1/create-withdraw-transactionCreate Crypto withdraw transaction
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| currency_code | DOGE | assets currency code which you need to withdraw |
| fromAddress | from assets address | Optional.Please provide the address from which you would like to send the assets. Please note that the amount will be deducted from the system wallet and not from the address you provide. |
| fromMemo | from assets memo | Optional.pass NULL if there is no memo |
| toAddress | to assets address | pass address to which you need to receive |
| memo | to assets memo | Optional.pass NULL if there is no memo |
| network | DOGE | Enter Network Symbol which you get from currency list api for particular network |
| amount | 10 | Amount of assets to withdraw. |
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
| signature | STRING | will be in this sequence "fromAddress:from_memo:toAddress:memo:currency_code:network:amount:receive_window" |
Response:
{
"message": "Withdrawal Request Sent Successfully",
"unique_transaction_id": "99580491-9fb3-4625-b66f-770a492504fb"
}/v1/generate-deposit-wallet-addressGenerate Deposit Wallet Address
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| currency | DOGE | Assets currency code for which you need to generate address |
| network | NULL | pass Network (Symbol which you get from currency list api for particular network) if you want to generate address for particular network else leave null for generating all available network address |
| generate_new_address | TRUE | Required.Boolean TRUE OR FALSE is value for this.Pass True if you want to generate new address else pass false |
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
| signature | STRING | will be in this sequence if network is not null "currency:network" else "currency" |
Response:
{
"message": "Address Generated Successfully",
"address_data": [
{
"address": "0xfa9efdde29c50f2e660e13d50d9c99131bcc469c",
"symbol": "USDT",
"destination_tag": "",
"memo": "",
"message": "",
"protocol": "ERC20"
},
{
"address": "TKPj8LsVYAbsHmApfnxGZfeRcEiUVSNM4p",
"symbol": "USDT_TRON",
"destination_tag": "",
"memo": "",
"message": "",
"protocol": "TRC20"
}
]
}/v1/get-iban-account-detailsGet IBAN Account Details
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| account_no | account no | Please provide the account number from which you would like to get account details. |
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
| signature | STRING | will be in this sequence "account_no" |
Response:
{
"message": "Get IBAN account no details",
"data": {
"bank_name": "بانک صادرات ایران",
"IBAN": "IR840191110000111643351114",
"deposit": "1111643351114",
"deposit_description": "حساب فعال است",
"account_name": "سیامک سیفی",
"first_name": "سیامک",
"last_name": "سیفی"
}
}/v1/withdraw/get-fiat-transaction-listGet Recent 500 Fiat Withdraw Transaction list
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| page | 1 | max 10 record will come in one page in descending order |
| account_no | STRING | Optional. You can skip this if you don't want to receive a transaction list sorted by specific account no. |
| from_timestamp | TIMESTAMP | Optional. Pass a timestamp if you want to receive transactions from a specific time until the current date. |
| to_timestamp | TIMESTAMP | Optional. Pass a timestamp if you want to receive transactions to a specific time. |
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
Response:
{
"message": "Fiat Withdraw Transaction List receive successfully",
"total_transaction_count": 10,
"transaction_list": [
{
"unique_id": "2309010432437",
"unique_transaction_id": "9a06dd65-41df-4727-ba9f-0a076e54e4a1",
"currency_code": "IRR",
"amount": "100",
"account_no": "123456789123456789123456",
"payment_id": "12121212",
"transaction_id": "313113133113313",
"status": "Completed",
"error_reason": null,
"created_at": "2023-09-01T04:32:28.000000Z"
},
]
}/v1/withdraw/create-fiat-transactionCreate Fiat Withdraw Transaction
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| account_no | assets account no | Please provide the account number from which you would like to receive the assets. Please note that the amount will be deducted from the system wallet. |
| payment_id | assets payment id | Optional.pass NULL if there is no payment id |
| amount | 10 | Amount of assets to withdraw. |
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
| signature | STRING | will be in this sequence "account_no:payment_id:amount" If there is no payment ID, the sequence will be "account_no:amount" |
Response:
{
"message": "Withdrawal Request Sent Successfully",
"unique_transaction_id": "99580491-9fb3-4625-b66f-770a492504fb"
}/v1/ecurrency/get-transaction-listGet Recent 500 Ecurrency Transaction list
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| page | 1 | max 10 record will come in one page in descending order |
| currency | PMV | Optional. You can skip this if you don't want to receive a transaction list sorted by specific currency. (WMZ, PMD, PMV, PSV) |
| type | STRING | Optional. You can skip this if you don't want to receive a transaction list sorted by specific type. |
| from_timestamp | TIMESTAMP | Optional. Pass a timestamp if you want to receive transactions from a specific time until the current date. |
| to_timestamp | TIMESTAMP | Optional. Pass a timestamp if you want to receive transactions to a specific time. |
| timestamp | MILISECOUND | one you recived from get timestamp api |
| receive_window | INT | max 20000. |
Response:
{
"message": "Ecurrency Transaction List receive successfully",
"total_transaction_count": 10,
"transaction_list": [
{
"unique_id": "2309010432437",
"type": "Withdraw",
"unique_transaction_id": "9a06dd65-41df-4727-ba9f-0a076e54e4a1",
"currency_code": "PMD",
"amount": "100",
"account_no": "123456789123456789123456",
"voucher_code": "",
"voucher_secret": "",
"transaction_id": "313113133113313",
"status": "Completed",
"error_reason": null,
"created_at": "2023-09-01T04:32:28.000000Z"
},
]
}/v1/ecurrency/create-deposit-transactionCreate Ecurrency Deposit Transaction
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| currency | PMV | assets currency code which you need to deposit (PMV, PSV) |
| voucher_number | 123456789 | Optional.pass NULL if there is currency_code is PSV |
| voucher_code | 123456789 | pass voucher_code to which you need to redeem |
| amount | 10 | Amount of assets to withdraw. |
| timestamp | MILISECOUND | one you recived from get timestamp api |
| receive_window | INT | max 20000. |
| signature | STRING | If PMV will be in this sequence "currency:voucher_number:voucher_code:amount:receive_window" If PSV is no voucher_number, the sequence will be "currency:voucher_code:amount:receive_window" |
Response:
{
"message": "Deposit Request Sent Successfully",
"unique_transaction_id": "99580491-9fb3-4625-b66f-770a492504fb"
}/v1/ecurrency/create-withdraw-transactionCreate Ecurrency Withdraw Transaction
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| currency | PMD | assets currency code which you need to deposit (WMZ, PMD, PMV, PSV) |
| account_no | assets account no | Optional. Please provide the account number from which you would like to receive the assets. |
| amount | 10 | Amount of assets to withdraw. |
| timestamp | MILISECOUND | one you recived from get timestamp api |
| receive_window | INT | max 20000. |
| signature | STRING | Will be in this sequence "currency:account_no:amount:receive_window" If PMV, PSV is no account_no, the sequence will be "currency:amount:receive_window" |
Response:
{
"message": "Withdrawal Request Sent Successfully",
"unique_transaction_id": "99580491-9fb3-4625-b66f-770a492504fb"
}/v1/rapid/get-reserveGet Reserve Rate
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| type | STRING | Value will be BUY OR SELL |
| amountFrom | FLOAT | Pass Amount you want to give. |
| pair | STRING | Enter Pair name like BTC/USDT. |
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
| signature | STRING | will be in this sequence "type:amountFrom:pair:receive_window" |
Response:
{
"status": 1,
"rate": 49325.345193959
}/v1/rapid/create-tradeGet Reserve Rate
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| type | STRING | Value will be BUY OR SELL |
| amountFrom | FLOAT | Pass Amount you want to give. |
| pair | STRING | Enter Pair name like BTC/USDT. |
| send_type | INT | Pass 1 - Internal and 2 - External |
| receive_type | INT | Pass 1 - Internal and 2 - External |
| address | STRING | IF Receive type is 2 then send address where you want to receive assets |
| memo | STRING | IF receive type is 2 and assets as memo then pass in this variable |
| send_network | STRING | If the send type is 2 and the currency is crypto, then pass in this variable. |
| receiver_network | STRING | If the receive type is 2 and the currency is crypto, then pass in this variable. |
| account_no | STRING | If the receive type is 2 and the currency is ecurrency, then pass in this variable. |
| voucher_number | STRING | If the send type is 2 and the currency is ecurrency voucher, then pass in this variable. |
| voucher_code | STRING | If the send type is 2 and the currency is ecurrency voucher, then pass in this variable. |
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
| signature | STRING | will be in this sequence
string = "type:amountFrom:pair:send_type:receive_type:receive_window"
if send_type == 2: //crypto currency
string += send_network
if receive_type == 2: //crypto currency
string += address
if not empty(memo):
string += memo
if not empty(receiver_network):
string += receiver_network |
Response:
{
"from_currency_id": 1,
"to_currency_id": 3,
"send_currency_network" => 'BTC,
"receive_currency_network" => 'USDT',
"send_amount": "0.10000000",
"receive_amount": "4883.20917000",
"withdraw_fee": "0.00000000",
"commission_fee": "49.32534519",
"deposit_address": null,
"deposite_destination_tag": null,
"deposite_memo": null,
"receive_address": "",
"receiver_memo": "",
"transaction_id": "2306061056608",
"rate": "49325.34519000",
"payment_status": "Confirmed",
"receive_status": "Pending",
"payment_mode": "Internal Wallet",
"receive_mode": "Internal Wallet"
}/v1/rapid/transaction-detail/transaction_idGet Reserve Rate
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
Response:
{
"from_currency_id": 1,
"to_currency_id": 3,
"send_currency_network" => 'BTC,
"receive_currency_network" => 'USDT',
"send_amount": "0.10000000",
"receive_amount": "4883.20917000",
"withdraw_fee": "0.00000000",
"commission_fee": "49.32534519",
"deposit_address": null,
"deposite_destination_tag": null,
"deposite_memo": null,
"receive_address": "",
"receiver_memo": "",
"transaction_id": "2306061056608",
"rate": "49325.34519000",
"payment_status": "Confirmed",
"receive_status": "Pending",
"payment_mode": "Internal Wallet",
"receive_mode": "Internal Wallet"
}/v1/rapid/get-currencyGet Reserve Rate
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
Response:
[
{
"currency_code": "BTC",
"min_amount_internal": "0.00010000",
"max_amount_internal": "12.00000000",
"min_amount_external": "0.0001000000",
"max_amount_external": "1.0000000000",
"commission_type": "Fixed",
"commission_value": "0.00000000",
"network": [
{
"network": "bitcoin",
"protocol": "btc",
"symbol": "BTC",
"address_regex": "bc1[qQp][a-zA-HJ-NP-Z0-9]{14,72}",
"withdraw_type": "Percentage",
"withdraw_fees": "1.00000000"
}
]
},
{
"currency_code": "USDT",
"min_amount_internal": "2.00000000",
"max_amount_internal": "200000.00000000",
"min_amount_external": "3.0000000000",
"max_amount_external": "100000.0000000000",
"commission_type": "Percentage",
"commission_value": "2.00000000",
"network": [
{
"network": "tron",
"protocol": "TRC20",
"symbol": "USDT_TRON",
"address_regex": "T[a-zA-Z1-9]{33}",
"withdraw_type": "Percentage",
"withdraw_fees": "1.00000000"
},
{
"network": "ethereum",
"protocol": "ERC20",
"symbol": "USDT",
"address_regex": "^0x[a-fA-F0-9]{40}$",
"withdraw_type": "Percentage",
"withdraw_fees": "1.00000000"
},
{
"network": "Polygon",
"protocol": "ERC20",
"symbol": "USDT_MATIC",
"address_regex": "^0x[a-fA-F0-9]{40}$",
"withdraw_type": "Percentage",
"withdraw_fees": "2.00000000"
}
]
},
]/v1/rapid/get-feesGet Reserve Rate
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
Response:
{
"spot": [
{
"pair": "ETH/BTC",
"maker_fee": 0.1,
"taker_fee": 0.1
},
{
"pair": "BTC/USDT",
"maker_fee": 0.1,
"taker_fee": 0.1
},
],
"Rapid": [
{
"currency_code": "BTC",
"commission": "0.10000000 %"
},
{
"currency_code": "ETH",
"commission": "0.10000000 %"
},
{
"currency_code": "USDT",
"commission": "0.10000000 %"
},
{
"currency_code": "IRR",
"commission": "0.10000000 %"
},
]
}/v1/rapid/get-rapid-currency-rateGet Reserve Currency Pair Wise Rate
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
| type | STRING | It will be either "BUY" OR "SELL". |
| pair | STRING | Currency Pair Name in following format "BTC/USDT". |
| amount | INT | amount of currency you want to buy or sell. |
| signature | STRING | "type:amount:pair" |
Response:
{
"rate": 42956.0407708915
}/v1/rapid/get-transaction-listGet All Rapid Transactions
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
| page | INT | max 10. |
Response:
{
"message": "Transaction List receive successfully",
"total_transaction_count": 1,
"transaction_list": [
{
"from_currency_id": 2,
"to_currency_id": 3,
"send_currency_network": null,
"receive_currency_network": null,
"send_amount": "0.01000000",
"receive_amount": "39.16742000",
"withdraw_fee": "1.00000000",
"commission_fee": "0.39563049",
"deposit_address": null,
"deposite_destination_tag": null,
"deposite_memo": null,
"receive_address": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"receiver_memo": "",
"transaction_id": "xxxxxxxxxxxxxxx",
"rate": "4056.30492000",
"payment_status": "Pending",
"receive_status": "Pending",
"payment_mode": "External Wallet",
"receive_mode": "External Wallet"
}
]
}/v1/check-user-trade-balanceGet Reserve Rate
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| symbol | STRING | Currency Code like btc |
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
| signature | STRING | will be in this sequence "symbol" |
Response:
{
"balance": xxx
}/v1/transfer-wallet-main-tradeTransfer Wallet Balance between main wallet and trade wallet
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| currency_code | STRING | Currency Code like btc |
| from | STRING | Value will be "spot" or "trade" |
| to | STRING | Value will be "spot" or "trade" |
| amount | Float | Amount to be transfer between wallet |
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
| signature | STRING | will be in this sequence "currency_code:from:to:amount" |
Response:
{
"message": "Amount transfer from main wallet to trade wallet"
}/v1/address-managment/list-addressGet all save address
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
Response:
[
{
"currency_code": "USDT",
"label": "save address 1",
"address": "address1",
"network": "TRC20",
"memo": null
},
{
"currency_code": "BTC",
"label": "save address 2",
"address": "address2",
"network": null,
"memo": null
},
]/v1/address-managment/add-addressAdd address to address managment
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| currency_code | STRING | Currency Code like btc |
| label | STRING | Unique identification to address which you want to give |
| address | STRING | address which you want to save |
| network | STRING | Like ERC20 or TRC20 |
| memo | STRING | IF Address has memo then only add else pass "NULL" |
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
| signature | STRING | will be in this sequence "currency_code:label:address".
if network present then "currency_code:label:address:network".
if memo present then "currency_code:label:address:memo".
if network and memo both present then "currency_code:label:address:network:memo" |
Response:
{
""message": "The address has already been taken."
}/v1/address-managment/validate-addressValidate address
Headers:
| Key | Value |
|---|---|
| Accept | application/json |
| api-key | Your Api Key |
Params:
| Key | Value | Description |
|---|---|---|
| currency_code | STRING | Currency Code like btc |
| address | STRING | address which you want to validate |
| network | STRING | Like ERC20 or TRC20 |
| timestamp | MILLISECOND | one you received from get timestamp api |
| receive_window | INT | max 20000. |
| signature | STRING | will be in this sequence "currency_code:address".
if network present then "currency_code:address:network". |
Response:
{
"is_farhad_deposit_address":true,
"message": "Address is valid",
"status": 1
}GET /v1/get-recent-order to get Recent Order listPOST /v1/ecurrency/get-transaction-list to get Ecurrency transaction listPOST /v1/ecurrency/create-deposit-transactionto create Ecurrency deposit transactionPOST /v1/ecurrency/create-withdraw-transactionto create Ecurrency withdraw transactionGET /v1/get-user-all-order to get user all spot orderPOST /v1/rapid/get-rapid-currency-rate to get rapid pair wise ratePOST /v1/rapid/get-transaction-list Get All Rapid Transaction ListPOST /v1/withdraw/create-fiat-transaction to create Fiat withdraw transactionPOST /v1/withdraw/get-fiat-transaction-list to get Fiat withdraw transaction listGET /v1/get-available-currency to get available currency listPOST /v1/get-iban-account-details to get IBAN account detailsPOST /v1/address-managment/add-address to add new addressGET /v1/address-managment/list-address to get all saved addressPOST /v1/address-managment/validate-address to validate addressGET /v1/check-user-trade-balance to get user trade balancePOST /v1/transfer-wallet-main-trade to transfer balance between main wallet to trade walletPOST /v1/generate-deposit-wallet-address to generate deposit wallet addressPOST /v1/get-deposit-transaction-list to get deposit transaction listPOST /v1/get-withdraw-transaction-list to get withdraw transaction listPOST /v1/create-withdraw-transaction to create withdraw transactionPOST /v1/rapid/get-reserve to get reserve ratePOST /v1/rapid/create-trade to create rapid transactionGET /v1/rapid/transaction-detail/transaction_id to get rapid transactionGET /v1/rapid/get-currency to get rapid Currency ListGET /v1/rapid/get-fees to get Currency Wise FeesGET /get-timestamp to get server timestampPOST /v1/trade-bot to make buy and sell spot orderGET /v1/get-open-buy-sell-order Get All Active Buy Sell TradesGET /v1/get-user-open-order Get All User Active Buy Sell TradesGET /v1/cancel-user-trade Cancel User Active Buy Sell TradeGET /v1/cancel-bulk-order Bulk Cancel User Active Buy Sell TradeGET /v1/check-user-balance Check User Balance for particular CurrencyGET /v1/get-market-price Get Market Price of single or all pair