API Reference
Integrate ShadeSwap's anonymous exchange into your application
Become a ShadeSwap Reseller
Integrate anonymous cryptocurrency exchange into your platform and earn profit on every swap. Set your own markup, track orders in real-time, and withdraw earnings instantly via your dashboard.
- • Customizable markup: Set profit margin per transaction
- • 170+ cryptocurrencies supported
- • Real-time order tracking and automatic profit calculations
- • No KYC required - fully anonymous exchanges
Introduction
ShadeSwap Reseller API enables you to integrate anonymous cryptocurrency exchange directly into your platform. Create swaps programmatically, apply custom markups, and earn profit on every transaction. Our exchange engine supports 170+ cryptocurrencies without KYC requirements.
Base URL
https://shadeswap.io/api/v1Authentication
All API requests require authentication via your unique API key. Include it in the X-API-Key header of every request. Connect your Solana wallet and get your API key from the reseller dashboard.
curl -H "X-API-Key: shade_abc123xyz789..." \
https://shadeswap.io/api/v1/estimate?from=btc&to=xmr&amount=0.1How Reseller Markup Works
Set your markup in basis points (1 bps = 0.01%). For example, 150 bps = 1.5% markup on exchange amounts.
- • Original exchange: User sends 1 BTC → receives 50 XMR
- • With 1.5% markup: User sends 1 BTC → receives 49.25 XMR
- • Your profit: 0.75 XMR automatically tracked in dashboard
- • Withdraw earnings anytime to your wallet
Endpoints
/currenciesReturns a list of all supported cryptocurrencies with their network information.
Response
{
"currencies": [
{
"ticker": "btc",
"name": "Bitcoin",
"network": "btc",
"hasExtraId": false,
"isAvailable": true
},
{
"ticker": "eth",
"name": "Ethereum",
"network": "eth",
"hasExtraId": false,
"isAvailable": true
},
{
"ticker": "xmr",
"name": "Monero",
"network": "xmr",
"hasExtraId": false,
"isAvailable": true
}
]
}/estimateGet an estimated exchange amount for a given pair.
Parameters
fromCurrencySource currency ticker (e.g., "btc")toCurrencyDestination currency ticker (e.g., "xmr")fromAmountAmount to exchangeExample
curl "https://api.shadeswap.io/v1/estimate?fromCurrency=btc&toCurrency=xmr&fromAmount=0.1"Response
{
"fromCurrency": "btc",
"toCurrency": "xmr",
"fromAmount": 0.1,
"toAmount": 45.234567,
"rate": 452.34567,
"fee": "0.5%",
"validUntil": "2026-01-14T12:30:00Z"
}/exchangeCreate a new anonymous exchange order. Returns a deposit address where user sends funds. Your markup is automatically applied to the output amount, and profit is tracked in your dashboard.
Request Body
{
"from": "btc",
"to": "xmr",
"amount": "0.1",
"address": "888tNkZrPN6JsEgekjMnABU4TBzc2Dt29EPAvkRxbANsAnjyPbb3iQ1YBRk1UXcdRsiKc9dhwMVgN5S9cQUiyoogDavup3H",
"extraId": null,
"refundAddress": "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh",
"refundExtraId": null
}extraId - Optional: Payment ID for currencies that require it (XMR, XRP, etc.)
refundAddress - Recommended: Address for refunds if exchange fails
Response
{
"id": "abc123xyz789",
"payinAddress": "bc1qrandomgeneratedaddress123456",
"payinExtraId": null,
"payoutAddress": "888tNkZrPN6...",
"fromCurrency": "btc",
"toCurrency": "xmr",
"fromAmount": 0.1,
"toAmount": 44.5567,
"status": "waiting"
}Note: The toAmount already includes your markup. User will receive this amount, and the difference between original exchange rate and marked-up rate is your profit.
/exchange/:idGet the current status of an exchange.
Status Values
waitingWaiting for depositconfirmingDeposit received, awaiting confirmationsexchangingExchange in progresssendingSending to destinationfinishedExchange completefailedExchange failed (refund initiated)Rate Limits
| Tier | Requests/min | Exchanges/day |
|---|---|---|
| Public | 60 | 100 |
| With API Key | 300 | Unlimited |
Error Handling
All errors return a consistent JSON structure:
{
"error": {
"code": "INVALID_ADDRESS",
"message": "The provided destination address is not valid for XMR"
}
}