ShadowEX API Docs

Notes

API Key required for POST (newexchange) endpoint, create one here.

Earnings are calculated weekly, and are 0.5% per exchange

Main endpoint is api.shadowex.exchange


Sections

/coins

/coins

/coininfo

/rates

/rates/fixed

/newexchange

/newexchange/fixed

/update

List of currencies - ENDPOINT

https://api.shadowex.exchange/coins

GET

This API endpoint provides a list of supported coins for trading, encompassing both source and destination options. The response is organized by coin "id" and "name". The "id" is used when making requests to other endpoints, such as rates and newexchange to specify the currency, the "name" is the full name of the currency & its network if it is on multiple networks, such as Tether (ERC20) or Tether (TRC20)
Input Parameters
None required
Example Request
https://api.shadowex.exchange/coins
Example Response
[ { "id": "btc", "name": "Bitcoin" }, { "id": "eth", "name": "Ethereum" }, { "id": "ethbsc", "name": "Ethereum (Binance Smart Chain)" }, { "id": "etharb", "name": "Ethereum (Arbitrum)" }, { "id": "ethop", "name": "Ethereum (Optimism)" } ]

Coin Info ENDPOINT

https://api.shadowex.exchange/coininfo

GET

Get the information on a single currency, including if it extraIdRequired is true or false. If extraIdRequired is true, then you will need to provide the "extraid" alongside the address when making a request to the newexchange endpoint.
Parameters
Name Type Description
coin_id Required ID of the coin, example: 'btc', 'eth', 'usdterc20'
Example Request
https://api.shadowex.exchange/coininfo?coin_id=xlm
Example Response
{"id":"xlm","name":"Stellar","extraIdRequired":true}

Rates ENDPOINT

https://api.shadowex.exchange/rates

GET

The `/rates` endpoint delivers estimated exchange rates for currency pairs. specify the desired `fromCurrency` and `toCurrency` and the 'amount' of 'fromCurrency' to convert to 'toCurrency'.
Parameters
Name Type Description
fromCurrency Required Currency exchanging From
toCurrency Required Currency exchanging To
amount Required Amount of fromCurrency to send
Example Request
https://api.shadowex.exchange/rates?fromCurrency=btc&toCurrency=eth&amount=1
Example Response
{"amount":1,"estimatedToAmount":27.2828985999999995,"pair":"btc_eth"}

Fixed Rates ENDPOINT

https://api.shadowex.exchange/rates/fixed

GET

The `/rates/fixed` endpoint delivers fixed exchange rates for currency pairs, fixed rates are updated every 5 minutes, so requesting an exchange using the fixed exchange endpoint after estimating the fixed exchange amount can be done without the issue of the output amount being different. specify the desired `fromCurrency` and `toCurrency` and the 'amount' of 'fromCurrency' to convert to 'toCurrency'.
Parameters
Name Type Description
fromCurrency Required Currency exchanging From
toCurrency Required Currency exchanging To
amount Required Amount of fromCurrency to send
Example Request
https://api.shadowex.exchange/rates/fixed?fromCurrency=btc&toCurrency=eth&amount=1
Example Response
{"amount":10,"estimatedToAmount":265.22854,"pair":"btc_eth"}

Create Exchange - ENDPOINT https://api.shadowex.exchange/newexchange

POST

This endpoint creates an en exchange. Upon successful execution, the endpoint provides details of the transaction. This endpoint is POST only and requires an API key, posted in the header as 'x-shadowex-api-key'
Authentication
Name Required Description
x-shadowex-api-key Required Your API Key, POST in the header
Parameters in JSON Request


In the response of this ENDPOINT


depositaddress is the address to deposit the coins exchanging from
extraIddeposit is the extra ID, such as memo, if it is required, if it is not required
receiveaddress is the address the output will be sent too
extraIdireceive is the extra id such as memo for the output address, which was provided as 'extraid' in the request, if it is required for currencies that require memos.
fromAmount is the amount to send
toAmount Is the amount estimation of the output.
Name Required Description
fromCurrency Required Currency to exchange from
toCurrency Required Currency to exchange to.
address Required receiving address toCurrency will be sent to when exchange is complete
amount Required Amount of fromCurrency to send that will be exchanged toCurrency
refund Optional Address of fromCurrency that if the exchange fails refund will be sent to, this is optional, as we will manually refund failed exchanges if it is not provided.
extraid Optional Only required if the currency being exchanged too, 'toCurrency', requires an extraid, such as a memo (example, xlm), the /coininfo endpoint describes this.
Example Request
{ "fromCurrency":"eth", "toCurrency":"btc", "amount":1, "address":"1LjkXhRydQq5VVXAADr8YGdGKAChtkRX9Q", "refund":"0x7E1860973d06E4d1616476C542aA1679d29373d9", "extraid":"" }
Example Response
{ "id": "5icd499l5l", "depositaddress": "0xa615914c184f87d38aa4BdcA0C9352B5f44bCdA0", "extraIddeposit": null, "receiveaddress": "1LjkXhRydQq5VVXAADr8YGdGKAChtkRX9Q", "extraIdireceive": null, "fromCurrency": "eth", "toCurrency": "btc", "fromAmount": 1, "toAmount": 0.0357154000000000013126 }

Create Fixed Exchange - ENDPOINT https://api.shadowex.exchange/newexchange/fixed

POST

This endpoint is the exact same as the above /newexchange, only that it creates a fixed rate exchange.This endpoint is POST only and requires an API key, posted in the header as 'x-shadowex-api-key'

Update Exchange - ENDPOINT

https://api.shadowex.exchange/update

GET

Returns updates on an exchange by its 'id'.
Parameters
Name Required Description
id Required The 'id' in the response of newexchange
Example Request
https://api.shadowex.exchange/update?id=5icd499l5l
Example Response
{"id":"5icd499l5l","status":"waiting_deposit","depositaddress":"0xa615914c184f87d38aa4BdcA0C9352B5f44bCdA0","extraIddeposit":null,"receiveaddress":"1LjkXhRydQq5VVXAADr8YGdGKAChtkRX9Q","extraIdireceive":null,"fromCurrency":"eth","toCurrency":"btc","fromAmount":1,"toAmount":0.035715400000000001312638886474815080873668193817138671875}


STATUS RESPONSES*:

'waiting_deposit' - awaiting deposit to our address

'confirming' - Confirming the input transaction

'processing' - Exchanging the coins

'waiting_send' - Funds are sent but not confirmed

'complete' - exchange is complete

'failed' - Exchange failed

'refund' - exchange has been refunded

'further_info' - Exchange is on hold, contact support