Crypto Exchange API
Godex API ver.1 allows you to get programming access to the services of Godex exchange platform. Some of the requests have such parameters as 'coin_from' or ‘coin_to’, which is coin ticker in uppercase. Examples: ‘BTC’, ‘ETH’, ‘XMR’, ‘IOTA’, ‘CLOAK’. This list is constantly growing as we’re adding new coins. All requests needs to be executed using HTTPS, this is a security measure.
Extra ID is an additional field for wallet addresses of currencies that may use additional ID for transaction processing (XRP, STEEM/SBD, XLM, DCT, XEM, XMR). This parameter should be filled only if the coin has this additional identifier. In any other case this parameter is not filled or not sent at all. All requests needs to be executed using HTTPS, this is a security measure. For every request to https://api.godex.io/api/v1/ following parameters should be used in headers:
Content-Type: application/json
Accept: application/json
API URL
Environment | REST |
---|---|
PROD | https://api.godex.io/api/v1/ |
Authorization
Some requests requires API authorization key. There are also requests where this authorization is not mandatory, but it should be included in order to access such features like assigning transactions to the user's personal account and getting information from the user's account. To set up API authorisation, following parameter should be added in headers:
public-key: {partners_token}
public-key can be obtained in the user's personal account or by sending a request to godex support [email protected].
The next parameter should be Included in the API query:
affiliate_id
Your affiliate id can be also obtained in the user's personal affiliate account.
Get a List of Coins
Example request:
curl -X GET "https://api.godex.io/api/v1/coins" \
-H "Accept: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.godex.io/api/v1/coins",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
$requestHeaders = ['Content-type: application/json'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.godex.io/api/v1/coins');
curl_setopt($ch, CURLOPT_HTTPHEADER, $requestHeaders);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
Example response:
[{
"code": "BTC",
"name": "Bitcoin",
"disabled": 0,
"icon": "https://godex.io/storage/coins/BTC.png",
"has_extra": 0,
"extra_name": null,
"explorer": null,
},
{
"code": "ETH",
"name": "Ethereum",
"disabled": 0,
"icon": "https://godex.io/storage/coins/ETH.png",
"has_extra": 0,
"extra_name": null,
"explorer": null,
}]
HTTP Request
GET /api/v1/coins
This returns the list of coins, available for exchange with selected coin at given time, or gets entire list of coins. Response also contains such parameters as extra id name, if it exists, For example, destination tag for Ripple, message for XEM or payment id for Monero. In addition, it provides icon links.
Response:
Name | Type | Description |
---|---|---|
code | string | Coin short name (code) |
name | string | Currency full name |
disabled | int | The availability of the coins. 0 - available, 1 - unavailable |
icon | string | The link to the coin logo |
has_extra | int | 1 if coin may have an extra ID in addition to the address, 0 if it doesn’t |
extra_name | string|null | Name of the extra ID |
explorer | string|null | Currency blockchain explorer URL. It is used for checking transaction status in block explorer |
Coin Info
Example request:
curl -X POST "https://api.godex.io/api/v1/info" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{ "from": "BTC", "to": "ETH", "amount": 1, "float": true, "network_from": "BTC", "network_to": "XMR" }'
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.godex.io/api/v1/info",
"method": "POST",
"data": {
"from": "BTC",
"to": "ETH",
"amount": 1,
"float": true,
"network_from": "BTC",
"network_to": "XMR"
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
$requestHeaders = [
'Content-type: application/json'
];
$ch = curl_init('https://api.godex.io/api/v1/info');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
"from" : "BTC",
"to":"ETH",
"amount": 1,
"float": true,
"network_from": "BTC",
"network_to": "XMR"])
);
curl_setopt($ch, CURLOPT_HTTPHEADER, $requestHeaders);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
The above command returns JSON structured like this:
{
"min_amount": 0.01,
"max_amount": 0,
"amount": 28.94050772,
"fee": 0,
"float": true
"rate_uuid": "574e3a43-6e15-4675-892d-16800d0253e7"
"rate_expired_at": "1716373571661"
"rate": 28.94050772
"networks_from": [{"network":"ZEC","has_tag":0}, {"network":"BNB","has_tag":1}, {"network":"BSC","has_tag":0}]
"networks_to": [{"network":"BTC","has_tag":0}]
"coin_from": {
"code": "BTC",
"name": "Bitcoin",
"icon": null,
"min_amount": null,
"max_amount": null,
"default_amount": "0.008000000000",
"price_change_24h": 2.99,
"is_active": 1,
"disabled": 0}
"coin_to": {
"code": "XMR",
"name": "Monero",
"icon": null,
"min_amount": null,
"max_amount": null,
"default_amount": "3.720000000000",
"price_change_24h": 0.05,
"is_active": 1,
"disabled": 0}
"network_from": {
"network": "BTC",
"code": "BTC",
"name": "Bitcoin",
"is_active": 1,
"is_default": 1,
"has_extra": 0,
"extra_name": null,
"explorer": "https:\/\/blockchair.com\/bitcoin\/transaction\/",
"contract_address": null}
"network_to": {
"network": "XMR",
"code": "XMR",
"name": "Monero",
"is_active": 1,
"is_default": 1,
"has_extra": 0,
"extra_name": null,
"explorer": "https:\/\/localmonero.co\/blocks\/search\/",
"contract_address": null}
}
HTTP Request
POST api/v1/info
Gets current rate, calculates final amount that user will get, and also it sets minimum and maximum amounts for deposit.
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
from | string | required | Coin code from |
to | string | required | Coin code to |
amount | numeric | required | Amount of currency “from” |
float | boolean | optional | true - the rate is floating, false - the rate is fixed |
network_from | string | optional | coin from network |
network_to | string | optional | coin to network |
Response
name | Type | Description |
---|---|---|
min_amount | float | Minimum possible amount to be sent |
max_amount | float | Maximum possible amount to be sent; usually we do not have upper limits |
amount | float | The final amount that user will receive after the exchange |
fee | float | Service fee (in destination currency) |
rate | float | Current exchange rate offered by godex |
networks_from | array | Array of networks objects for coin from |
network | string | Name of network |
has_tag | int | 1 if coin may have an extra ID in addition to the address, 0 if it doesn’t |
networks_to | array | Array of networks objects for coin to |
float | boolean | true - the rate is floating, false - the rate is fixed |
coin_from | object | coin from data |
coin_to | object | coin to data |
network_from | object | network from data |
network_to | object | network to data |
rate_expired_at | string | rate’s expiration date |
withdrawal_fee | string | withdrawal fee |
rate_uuid | string | rate uuid |
Coin Info Revert
Example request:
curl -X POST "https://api.godex.io/api/v1/info-revert" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{ "from": "BTC", "to": "XMR", "amount": 75, "float": true, "network_from": "BTC", "network_to": "XMR" }'
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.godex.io/api/v1/info-revert",
"method": "POST",
"data": {
"from": "BTC",
"to": "XMR",
"amount": 75,
"float": true,
"network_from": "BTC",
"network_to": "XMR"
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
$requestHeaders = [
'Content-type: application/json'
];
$ch = curl_init('https://api.godex.io/api/v1/info-revert');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
"from" : "BTC",
"to":"XMR",
"amount": 75,
"float": true,
"network_from": "BTC",
"network_to": "XMR"])
);
curl_setopt($ch, CURLOPT_HTTPHEADER, $requestHeaders);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
The above command returns JSON structured like this:
{
"min_amount": 0.76271832,
"max_amount": 0,
"amount": 1.0569014,
"fee": 0,
"rate": 74.57565357
"float": true
"rate_uuid": "574e3a43-6e15-4675-892d-16800d0253e7"
"rate_expired_at": "1716373571661"
"expired_at": "1718698866018"
"rate": 28.94050772
"networks_from": [{"network":"ZEC","has_tag":0}, {"network":"BNB","has_tag":1}, {"network":"BSC","has_tag":0}]
"networks_to": [{"network":"BTC","has_tag":0}]
"coin_from": {
"code": "BTC",
"name": "Bitcoin",
"icon": null,
"min_amount": null,
"max_amount": null,
"default_amount": "0.008000000000",
"price_change_24h": 2.99,
"is_active": 1,
"disabled": 0}
"coin_to": {
"code": "XMR",
"name": "Monero",
"icon": null,
"min_amount": null,
"max_amount": null,
"default_amount": "3.720000000000",
"price_change_24h": 0.05,
"is_active": 1,
"disabled": 0}
"network_from": {
"network": "BTC",
"code": "BTC",
"name": "Bitcoin",
"is_active": 1,
"is_default": 1,
"has_extra": 0,
"extra_name": null,
"explorer": "https:\/\/blockchair.com\/bitcoin\/transaction\/",
"contract_address": null}
"network_to": {
"network": "XMR",
"code": "XMR",
"name": "Monero",
"is_active": 1,
"is_default": 1,
"has_extra": 0,
"extra_name": null,
"explorer": "https:\/\/localmonero.co\/blocks\/search\/",
"contract_address": null}
}
HTTP Request
POST api/v1/info-revert
This method is used when you want to get the exact amount of specific coins. For example, when a customer needs to pay the bill with 5 XMR (coin ‘to’), and he needs to know how much BTC (coin ‘from’) he should send. The request gets current rate, calculates the amount of coins that user should send to receive the desired amount of ‘target’ currency, and also it sets the minimum and the maximum amounts for the deposit.
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
from | string | required | Coin code from |
to | string | required | Coin code to |
amount | numeric | required | Amount of currency “to” |
float | boolean | optional | true - the rate is floating, false - the rate is fixed |
network_from | string | optional | coin from network |
network_to | string | optional | coin to network |
Response
name | Type | Description |
---|---|---|
min_amount | float | Minimum possible amount to be sent |
max_amount | float | Maximum possible amount to be sent; usually we do not have upper limits |
amount | float | The final amount that the user need send for exchange |
fee | float | Service fee (in destination currency) |
rate | float | Current exchange rate offered by godex |
float | boolean | true - the rate is floating, false - the rate is fixed |
coin_from | object | coin from data |
coin_to | object | coin to data |
network_from | object | network from data |
network_to | object | network to data |
rate_expired_at | string | rate’s expiration date |
withdrawal_fee | string | withdrawal fee |
rate_uuid | string | rate uuid |
networks_from | array | Array of networks objects for coin from |
networks_to | array | Array of networks objects for coin to |
expired_at | string | rate’s expiration date |
Transaction statuses
Transaction statuses
wait | The exchange has just been created and it’s waiting for coins to reach the deposit wallet |
confirmation | The transaction appears in mempool and now it is waiting for necessary network confirmations to start. |
confirmed | User’s payment is confirmed, the exchange process is about to start. |
exchanging | The exchange process is running. |
sending | Currency is being sent to the recipient address. |
sending_confirmation | Outgoing transaction is waiting for network confirmations. |
success | The exchange is completed and currency is successfully sent to the recipient address. |
overdue | Deposit receiving time for this transaction has expired. |
error | Transaction has failed. In most cases, the amount was sent differs from specified one when creating the transaction. |
refunded | Exchange was failed and coins were refunded to user's wallet. |
Create Transaction
Example request:
curl -X POST "https://api.godex.io/api/v1/transaction" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{ "coin_from": "LTC", "coin_to": "ETH", "deposit_amount": "1", "withdrawal": "0x5aadfa328D778383d1134F7530f9feaC676E74B80efCa", "withdrawal_extra_id": "qbGDbH9gwrAkJTM6gxsfQpWYMfe8zRuZsSpoU77sx73peCPbzdZaUWW9tKWbBDs3hmeV", "return": "LsZK2wfxvXrfsfB6L39qmCcV5DK29ismmAwN41", "return_extra_id": "qbGDbH9gwrAkfJTM6gxsfQpWYMfe8zRuZsSpoU77sx73peCPbzdZaUWW9tKWbBDs3hmeV", "affiliate_id": "yWSiyDh93J7NPDNY", "coin_to_network": null, "coin_from_network": "ZEC", "float":true }'
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.godex.io/api/v1/transaction",
"method": "POST",
"data": {
"coin_from": "LTC",
"coin_to": "ETH",
"deposit_amount": 1,
"withdrawal": "0x5aadfa328D778383d1134F7530f9feaC676E74B80efCa",
"withdrawal_extra_id": "qbGDbH9gwrAkJTM6gxsfQpWYMfe8zRuZsSpoU77sx73peCPbzdZaUWW9tKWbBDs3hmeV",
"return": "LsZK2wfxvXrfsfB6L39qmCcV5DK29ismmAwN41",
"return_extra_id": "qbGDbH9gwrAkfJTM6gxsfQpWYMfe8zRuZsSpoU77sx73peCPbzdZaUWW9tKWbBDs3hmeV",
"coin_to_network": null,
"coin_from_network": "ZEC",
"float":true
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
$requestHeaders = [
'Content-type: application/json'
];
$ch = curl_init('https://api.godex.io/api/v1/transaction');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
"coin_from" : "LTC",
"coin_to":"ETH",
"deposit_amount": 1,
"withdrawal": 0x5aadfa328D778383d1134F7530f9feaC676E74B80efCa,
"withdrawal_extra_id": qbGDbH9gwrAkJTM6gxsfQpWYMfe8zRuZsSpoU77sx73peCPbzdZaUWW9tKWbBDs3hmeV,
"return": LsZK2wfxvXrfsfB6L39qmCcV5DK29ismmAwN41,
"return_extra_id": qbGDbH9gwrAkfJTM6gxsfQpWYMfe8zRuZsSpoU77sx73peCPbzdZaUWW9tKWbBDs3hmeV,
"affiliate_id": yWSiyDh93J7NPDNY,
"coin_to_network": null,
"coin_from_network": "ZEC",
"float":true])
);
curl_setopt($ch, CURLOPT_HTTPHEADER, $requestHeaders);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
The above command returns JSON structured like this:
{
"status": wait,
"coin_from": "LTC",
"coin_to": "ETH",
"deposit_amount": 1,
"withdrawal": "0x5aadfa328D778383d1134F7530f9feaC676E74B80efCa",
"withdrawal_extra_id": "qbGDbH9gwrAkJTM6gxsfQpWYMfe8zRuZsSpoU77sx73peCPbzdZaUWW9tKWbBDs3hmeV",
"return": "LsZK2wfxvXrfsfB6L39qmCcV5DK29ismmAwN41",
"return_extra_id": "qbGDbH9gwrAkfJTM6gxsfQpWYMfe8zRuZsSpoU77sx73peCPbzdZaUWW9tKWbBDs3hmeV",
"withdrawal_amount": 0.25281436,
"deposit": "LsZK2wfxvXrdffsfB6L39qmCcV5DK29ismmAwN41",
"deposit_extra_id": null,
"rate": 0.26011493,
"fee": 0.00730057,
"transaction_id": "5bb4d99cd44a5",
"float": true,
}
HTTP Request
POST api/v1/transaction
This call allows to request creating an exchange transaction. You choose coin pair you’d like to exchange, provide sender’s withdrawal address and specify amount of coins you want to swap. Godex returns address and extra id (if needed) to deposit to, final amount, fee and some other parameters.
To receive affiliate bonuses from transaction, the next parameter should be Included in the API query: affiliate_id.
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
coin_from | string | required | Coin code from |
coin_to | string | required | Coin code to |
deposit_amount | numeric | required | Amount to be exchanged |
withdrawal | string | required | Destination address, it is used for sending exchanged coins |
withdrawal_extra_id | string | optional | Additional ID for destination wallet addresses of currencies that use extra ID for transaction processing |
return | string | optional | The address user sends coins from, or another one that may be used as a refund address, if it is necessary |
return_extra_id | string | optional | Additional ID for refund wallet addresses of currencies that use extra ID for transaction processing |
coin_from_network | string | optional | Network name of coin from |
coin_to_network | string | optional | Network name of coin to |
float | boolean | optional | true - the rate is floating, false - the rate is fixed |
Response
Name | Type | Description |
---|---|---|
transaction_id | string | Unique identifier for transaction assigned by godex |
status | string | Transaction status is used to notify user about progress of the exchange process. See *transaction statuses for detailed description |
coin_from | string | Coin to exchange from |
coin_to | string | Coin to exchange to |
deposit_amount | float | Amount of coins to be exchanged, specified by user |
withdrawal_amount | float | This is expected amount that user will receive when exchange is completed |
deposit | string | Deposit address to which user sends the currency |
deposit_extra_id | string|null | Additional ID for deposit wallet addresses of currencies that use extra ID for transaction processing. Important: sending coins without using extra id (when it is provided) may result in money loss! |
withdrawal | string | Destination address, it is used for sending exchanged coins |
withdrawal_extra_id | string|null | Additional ID for destination wallet addresses of currencies that use extra ID for transaction processing |
rate | float | Current exchange rate offered by godex |
fee | float | Service fee (in destination currency) |
return | string | The address user sends coins from, or another one that may be used as a refund address, if it is necessary |
return_extra_id | string|null | Additional ID for refund wallet addresses of currencies that use extra ID for transaction processing |
final_amount | float | It differs from withdrawal_amount if real deposit amount is not equal to amount specified by user. In this case, user receives this amount. |
hash_in | string | Incoming transaction hash |
hash_out | string | Outcoming transaction hash |
float | boolean | true - the rate is floating, false - the rate is fixed |
Create Transaction Revert (by withdrawal amount)
Example request:
curl -X POST "https://api.godex.io/api/v1/transaction-revert" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{ "coin_from": "LTC", "coin_to": "ETH", "withdrawal_amount": "1", "withdrawal": "0x0", "withdrawal_extra_id": null, "affiliate_id": "yWSiyDh93J7NPDNY" }'
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.godex.io/api/v1/transaction-revert",
"method": "POST",
"data": {
"coin_from": "LTC",
"coin_to": "ETH",
"withdrawal_amount": 1,
"withdrawal": "0x0",
"withdrawal_extra_id": null,
"affiliate_id": "yWSiyDh93J7NPDNY"
},
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
$requestHeaders = [
'Content-type: application/json'
];
$ch = curl_init('https://api.godex.io/api/v1/transaction-revert');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
"coin_from" : "LTC",
"coin_to":"ETH",
"withdrawal_amount": 1,
"withdrawal": "0x0",
"withdrawal_extra_id": null,
"affiliate_id": yWSiyDh93J7NPDNY])
);
curl_setopt($ch, CURLOPT_HTTPHEADER, $requestHeaders);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
The above command returns JSON structured like default request click here
HTTP Request
POST api/v1/transaction-revert
Same us Create Transaction, but without "deposit_amount" and required "withdrawal_amount".
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
deposit_amount | numeric | required | Amount to be exchanged |
withdrawal_amount | numeric | required | Amount to be received |
Response
Same us Create Transaction
Get Transaction
Example request:
curl -X GET "https://api.godex.io/api/v1/transaction/{id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.godex.io/api/v1/transaction/{id}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
$requestHeaders = ['Content-type: application/json'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.godex.io/api/v1/transaction/{id}');
curl_setopt($ch, CURLOPT_HTTPHEADER, $requestHeaders);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
Example response:
{
"created_at": "2024-06-18T11:48:18.000000Z",
"status": "wait",
"transaction_id": "fb43d8da477as3e375",
"coin_from": "ETH",
"coin_to": "BTC",
"deposit_amount": 4,
"withdrawal_amount": 0.35552848,
"rate": 0.08931962,
"fee": 0.00175,
"deposit": "0xbf595543984538e606e94ac1644cb63b69273d506dffb334",
"deposit_extra_id": null,
"withdrawal": "LcXGHfldb5szxJtj6d3fvY6btD3FA7V7f4L8GsoG4io",
"withdrawal_extra_id": null,
"return": "DJHda6CherXgE4R9xU52pnt36y3M8oYiWRndfsvopqgf",
"return_extra_id": null,
"final_amount": 18.55209531,
"hash_in": null,
"hash_out": null,
"real_deposit_amount": 0.021020074485,
"real_withdrawal_amount": 0.021020074485,
"is_float": 1,
"coin_from_network": "BTC",
"coin_to_network": "ARBITRUM",
"coin_from_name": "Bitcoin",
"coin_to_name": "Ethereum",
"coin_from_explorer_url": "https://blockchair.com/bitcoin/transaction/",
"coin_to_explorer_url": "https://arbiscan.io/tx/",
"need_confirmations": 1,
"return_network_code":: null,
"return_explorer_url":: null,
"confirmations": 0,
"coin_from_icon": "https://gdx-prod.s3.eu-north-1.amazonaws.com/coins/1WAAPTr9nKbBxTy7C8P5fuqm7FvRhDwqOm7qeEFR.png",
"coin_to_icon": "https://gdx-prod.s3.eu-north-1.amazonaws.com/coins/16m5aOiHxH0HPCUna4B09wjBJmLKTsMNNjZjhmzD.png",
}
HTTP Request
GET api/v1/transaction/{id}
Gets detailed information about a single transaction. One of returned parameters is ‘rate’, which is current rate offered by godex. It may differ from market rate, and also may change rapidly depending on the markets.
Options:
Name | Type | Description |
---|---|---|
id | required|string | Unique identifier for transaction assigned by godex |
Response:
Name | Type | Description |
---|---|---|
transaction_id | string | Unique identifier for transaction assigned by godex |
status | string | Transaction status is used to notify user about progress of the exchange process. See *transaction statuses for detailed description |
coin_from | string | Coin to exchange from |
coin_to | string | Coin to exchange to |
deposit_amount | float | Amount of coins to be exchanged, specified by user |
withdrawal_amount | float | This is expected amount that user will receive when exchange is completed |
deposit | string | Deposit address to which user sends the currency |
deposit_extra_id | string|null | Additional ID for deposit wallet addresses of currencies that use extra ID for transaction processing. Important: sending coins without using extra id (when it is provided) may result in money loss! |
withdrawal | string | Destination address, it is used for sending exchanged coins |
withdrawal_extra_id | string|null | Additional ID for destination wallet addresses of currencies that use extra ID for transaction processing |
rate | float | Current exchange rate offered by godex |
fee | float | Service fee (in destination currency) |
return | string | The address user sends coins from, or another one that may be used as a refund address, if it is necessary |
return_extra_id | string|null | Additional ID for refund wallet addresses of currencies that use extra ID for transaction processing |
return_extra_id | string|null | Additional ID for refund wallet addresses of currencies that use extra ID for transaction processing |
final_amount | string|null | It differs from withdrawal_amount if real deposit amount is not equal to amount specified by user. In this case, user receives this amount. |
hash_in | string|null | Incoming transaction hash |
hash_out | string|null | Outcoming transaction hash |
real_deposit_amount | string|null | Displays received deposit amount. It may differ from the amount specified by user. |
real_withdrawal_amount | string|null | If the received deposit is different, the final amount is being recalculated using the same rate. |
execution_time | string|null | The time in seconds spent on the exchange. It is measured from the moment funds are received until the output transaction is sent to the recipient’s wallet. |
is_float | int | 1 - the rate is floating, 0 - the rate is fixed |
coin_from_network | string | coin from network |
coin_to_network | string | Coin to network |
coin_from_name | string | Coin from name |
coin_to_name | string | Coin to name |
coin_from_explorer_url | string | Coin from explorer url |
coin_to_explorer_url | string | Coin to explorer url |
need_confirmations | int | The number of network confirmations needed to initiate the exchange |
confirmations | array | the number of passed confirmations |
coin_from_icon | string | Coin from icon |
coin_to_icon | string | Coin to icon |
created_at | string | Transaction creation date |
return_network_code | string | Network code of refund coin |
return_explorer_url | string | Explorer url of refund coin |
final_amount | string | This is final amount that user will receive when exchange is completed |
Get List of Transactions
Example request:
curl -X GET "https://api.godex.io/api/v1/transactions/{id},{id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.godex.io/api/v1/transactions/{id},{id}",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
$requestHeaders = ['Content-type: application/json'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.godex.io/api/v1/transactions/{id},{id}');
curl_setopt($ch, CURLOPT_HTTPHEADER, $requestHeaders);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
Example response:
[
{
"status": "wait",
"transaction_id": "fb43d8da477as3e375",
"coin_from": "ETH",
"coin_to": "BTC",
"deposit_amount": 4,
"withdrawal_amount": 0.35552848,
"rate": 0.08931962,
"fee": 0.00175,
"deposit": "0xbf595543984538e606e94ac1644cb63b69273d506dffb334",
"deposit_extra_id": null,
"withdrawal": "LcXGHfldb5szxJtj6d3fvY6btD3FA7V7f4L8GsoG4io",
"withdrawal_extra_id": null,
"return": "DJHda6CherXgE4R9xU52pnt36y3M8oYiWRndfsvopqgf",
"return_extra_id": null,
"hash_in": null,
"hash_out": null,
"real_deposit_amount": 0.021020074485,
"real_withdrawal_amount": 0.021020074485,
},
{
"status": "wait",
"transaction_id": "ol43d8da477as3n8te",
"coin_from": "ETH",
"coin_to": "BTC",
"deposit_amount": 4,
"withdrawal_amount": 0.35552848,
"rate": 0.08931962,
"fee": 0.00175,
"deposit": "0xbf595543984538e606e94ac1644cb63b69273d506dffb334",
"deposit_extra_id": null,
"withdrawal": "LcXGHfldb5szxJtj6d3fvY6btD3FA7V7f4L8GsoG4io",
"withdrawal_extra_id": null,
"return": "DJHda6CherXgE4R9xU52pnt36y3M8oYiWRndfsvopqgf",
"return_extra_id": null,
"hash_in": null,
"hash_out": null,
"real_deposit_amount": 0.021020074485,
"real_withdrawal_amount": 0.021020074485,
}
]
HTTP Request
GET api/v1/transactions/{id},{id}
Returns detailed information about multiple transactions. The unique transaction identifiers are separated by commas.
Options:
Name | Type | Description |
---|---|---|
id | required|string | Unique identifier for transaction assigned by godex |
Response:
Name | Type | Description |
---|---|---|
transaction_id | string | Unique identifier for transaction assigned by godex |
status | string | Transaction status is used to notify user about progress of the exchange process. See *transaction statuses for detailed description |
coin_from | string | Coin to exchange from |
coin_to | string | Coin to exchange to |
deposit_amount | float | Amount of coins to be exchanged, specified by user |
withdrawal_amount | float | This is expected amount that user will receive when exchange is completed |
deposit | string | Deposit address to which user sends the currency |
deposit_extra_id | string|null | Additional ID for deposit wallet addresses of currencies that use extra ID for transaction processing. Important: sending coins without using extra id (when it is provided) may result in money loss! |
withdrawal | string | Destination address, it is used for sending exchanged coins |
withdrawal_extra_id | string|null | Additional ID for destination wallet addresses of currencies that use extra ID for transaction processing |
rate | float | Current exchange rate offered by godex |
fee | float | Service fee (in destination currency) |
return | string | The address user sends coins from, or another one that may be used as a refund address, if it is necessary |
return_extra_id | string|null | Additional ID for refund wallet addresses of currencies that use extra ID for transaction processing |
return_extra_id | string|null | Additional ID for refund wallet addresses of currencies that use extra ID for transaction processing |
final_amount | string|null | It differs from withdrawal_amount if real deposit amount is not equal to amount specified by user. In this case, user receives this amount. |
hash_in | string|null | Incoming transaction hash |
hash_out | string|null | Outcoming transaction hash |
real_deposit_amount | string|null | Displays received deposit amount. It may differ from the amount specified by user. |
real_withdrawal_amount | string|null | If the received deposit is different, the final amount is being recalculated using the same rate. |
execution_time | string|null | The time in seconds spent on the exchange. It is measured from the moment funds are received until the output transaction is sent to the recipient’s wallet. |
Transaction Status
Example request:
curl -X GET "https://api.godex.io/api/v1/transaction/5bb38dea41f88/status" \
-H "Accept: application/json" \
-H "Content-Type: application/json"
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.godex.io/api/v1/transaction/{id}/status",
"method": "GET",
"headers": {
"accept": "application/json"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
$requestHeaders = ['Content-type: application/json'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.godex.io/api/v1/transaction/{id}/status');
curl_setopt($ch, CURLOPT_HTTPHEADER, $requestHeaders);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
Example response:
status
HTTP Request
GET api/v1/transaction/{id}/status
Allows to check the current status of the transaction as a string.
Options:
Name | Type | Description |
---|---|---|
id | required|string | Unique identifier for transaction assigned by godex |
Response:
Return transaction status
User Info
In order to use these API requests you must have an authorization token. You can receive in your godex account settings or contact the support.
Get Balance
Example request:
curl -X GET "https://api.godex.io/api/v1/balance" \
-H "Content-Type: application/json" \
-H "public-key: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6Ij"
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.godex.io/api/v1/balance",
"method": "GET",
"headers": {
"accept": "application/json"
"public-key": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6Ij"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
$requestHeaders = ['Content-type: application/json', 'Content-type: application/json', 'public-key: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6Ij'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.godex.io/api/v1/balance');
curl_setopt($ch, CURLOPT_HTTPHEADER, $requestHeaders);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
Example response:
100,00
HTTP Request
GET api/v1/balance
Represents the current user’s accumulated balance in BTC.
Options:
Parameters are not needed, but it requires Authorization api key.
Answer:
Will return the current balance in the string
Get a balance story
Example request:
curl -X GET "https://api.godex.io/api/v1/history" \
-H "Content-Type: application/json" \
-H "public-key: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6Ij"
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.godex.io/api/v1/history",
"method": "GET",
"headers": {
"accept": "application/json",
"public-key": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6Ij"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
$requestHeaders = ['Content-type: application/json', 'public-key: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6Ij'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.godex.io/api/v1/history');
curl_setopt($ch, CURLOPT_HTTPHEADER, $requestHeaders);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
Example response:
[
{
"amount": "0.35552848",
"type": "transaction",
"source_id": "72cb3f954cff",
"created_at": "2018-09-17 04:48:35",
},
{
"amount": "0.2187264",
"type": "affiliate",
"source_id": "b0c6cd6ccc90",
"created_at": "2018-09-15 04:48:35",
},
{
"amount": "0.1034893",
"type": "withdrawal",
"source_id": "eedb9a09356e",
"created_at": "2018-09-13 10:50:34",
}
]
HTTP Request
GET api/v1/history
Gets the history of the user's balance changes. This can be accrual of funds from the affiliate program, from user's transactions, and also withdrawals. In addition it returns the transaction ID and the date of a specific balance change
Options:
Parameters are not needed, but it requires Authorization api key.
Response:
array of objects
Name | Type | Description |
---|---|---|
amount | float | Balance change |
type | string | Type of balance change: Transaction - income from exchange made by user; Affiliate - income from exchange made by affiliate link Withdrawal - funds withdrawal |
source_id | int | Unique identifier for transaction assigned by godex |
created_at | string | Date and time when transaction was created |
Get All Transaction
Example request:
curl -X GET "https://api.godex.io/api/v1/transactions" \
-H "Content-Type: application/json" \
-H "public-key: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6Ij"
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.godex.io/api/v1/transactions",
"method": "GET",
"headers": {
"accept": "application/json",
"public-key": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6Ij"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
$requestHeaders = ['Content-type: application/json, 'Content-type: application/json', 'public-key: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6Ij'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.godex.io/api/v1/transactions');
curl_setopt($ch, CURLOPT_HTTPHEADER, $requestHeaders);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
Example response:
[
{
"transaction_id": "5b758efb69fbaYjef",
"status": "wait",
"coin_from": "BTC",
"coin_to": "ETH",
"deposit_amount": "1",
"withdrawal_amount": "0.04342730",
"deposit": "",
"withdrawal": "37ZdZAQgKiuyKENJjJK1XfJmgJ3HFcEiorScaVx",
"created_at": "2018-08-17 14:52:32"
},
{
"transaction_id": "5bsp76a6dfw1b54046",
"status": "wait",
"coin_from": "XEM",
"coin_to": "XRP",
"deposit_amount": "300",
"withdrawal_amount": "101.46818249",
"deposit": "",
"withdrawal": "Udfk883JF38MVlvdfsqp46kvHJMlw",
"created_at": "2018-08-17 10:40:27"
}
]
HTTP Request
GET api/v1/transactions
Gets an array, containing list of all transactions and their parameters, like transaction id, status, coin pair, date of creation and others.
Options:
Parameters are not needed, but it requires Authorization api key.
Answer:
array of objects
Name | Type | Description |
---|---|---|
transaction_id | string | Unique identifier for transaction assigned by godex |
status | string | Transaction status |
coin_from | string | Coin code from |
coin_to | string | Coin code to |
deposit_amount | float | Amount of coins to be exchanged, specified by user |
withdrawal_amount | float | This is expected amount that user will receive when exchange is completed |
deposit | string | Deposit address to which user sends the currency |
withdrawal | string | The address user sends coins from. |
created_at | Date and time when transaction was created |
Get Affiliate Transactions
Example request:
curl -X GET "https://api.godex.io/api/v1/affiliate/history" \
-H "Content-Type: application/json" \
-H "public-key: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6Ij"
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.godex.io/api/v1/affiliate/history",
"method": "GET",
"headers": {
"accept": "application/json",
"public-key": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6Ij"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
$requestHeaders = ['Content-type: application/json, 'Content-type: application/json', 'public-key: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6Ij'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.godex.io/api/v1/affiliate/history');
curl_setopt($ch, CURLOPT_HTTPHEADER, $requestHeaders);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
Example response:
[
{
"transaction_id": "5b758efb69fbaYjef",
"status": "wait",
"coin_from": "BTC",
"coin_to": "ETH",
"deposit_amount": "1",
"withdrawal_amount": "0.04342730",
"deposit": "",
"withdrawal": "37ZdZAQgKiuyKENJjJK1XfJmgJ3HFcEiorScaVx",
"rate": "29.43135400",
"fee": "0",
"user_id": "33",
"affiliate_id": "KUZ6fSFVnmTaVIRW",
"created_at": "2018-08-17 14:52:32"
},
{
"transaction_id": "5bsp76a6dfw1b54046",
"status": "wait",
"coin_from": "XEM",
"coin_to": "XRP",
"deposit_amount": "300",
"withdrawal_amount": "101.46818249",
"deposit": "",
"withdrawal": "Udfk883JF38MVlvdfsqp46kvHJMlw",
"rate": "29.43135400",
"fee": "0",
"user_id": "33",
"affiliate_id": "KUZ6fSFVnmTaVIRW",
"created_at": "2018-08-17 10:40:27"
}
]
HTTP Request
GET api/v1/affiliate/history
Returns the array of data for transactions made by the user with the specific affiliate id.
Options:
Parameters are not needed, but it requires Authorization api key.
Name | Type | Description |
---|---|---|
coin_from (Optional) | string | Ticker for a currency from |
coin_to (Optional) | string | Ticker for a destination currency |
status (Optional) | string | Transaction status (see the list of available statuses) |
limit (Optional) | integer | Amount of transactions to be displayed (default: 10) |
offset (Optional) | integer | Number of transactions to skip |
Answer:
array of objects
Name | Type | Description |
---|---|---|
transaction_id | string | Unique identifier for transaction assigned by godex |
status | string | Transaction status |
coin_from | string | Coin code from |
coin_to | string | Coin code to |
deposit_amount | float | Amount of coins to be exchanged, specified by user |
withdrawal_amount | float | This is expected amount that user will receive when exchange is completed |
deposit | string | Deposit address to which user sends the currency |
withdrawal | string | The address user sends coins from. |
created_at | Date and time when transaction was created |