Документация Exwell API
Все запросы содержат query-параметр key — API-ключ из партнёрского кабинета. Формат ключа: 32 символа A–Z a–z 0–9. Без ключа или с неверным ключом API отвечает 401.
| API URI | https://exwell.io/v1/api — то же, что https://api.exwell.io/partner/v1/ |
|---|---|
| Ответ | json, кроме XML-фида курсов |
| Авторизация | только key. Параметр refId с сайта API не читает |
| Комиссия | начисляется, только если в кабинете задан Partner Fee Rate. Иначе обмен пройдёт, начисления не будет |
| Ошибки | 401 — нет key (Key parameter is required!) или ключ не найден (User does not exist!). Остальные коды — у метода |
Обмен
Порядок вызовов
- /currencies — какие монеты есть
- /pairs — какие пары открыты
- /rate — курс и лимиты на сумму
- /validate-address — адрес получения
- /exchange-create — заявка, депозитный адрес
- Пользователь отправляет депозит
- /exchange-status — поллинг до финального статуса
GET /currencies — Список валют
Список доступных монет, сетей, min/max и memo/tag.
https://exwell.io/v1/api/currencies?key=Kq8WmP2nXrT5vLcYhB7jFdZuAs4gE9oN
Дополнительных параметров нет.
Ответ 200
{
"XMR": {
"coinName": "Monero",
"minamount": 20.01,
"maxamount": 23724,
"tagname": "",
"network": "Monero",
"available": true
},
"XRP": {
"coinName": "XRP",
"minamount": 6180.12,
"maxamount": 7343941,
"tagname": "TAG",
"network": "Ripple",
"available": true
}
}
Если tagname не пустой — тэг обязателен (destinationTag / refundTag).
GET /pairs — Список пар
Доступные пары: ключ — валюта «откуда», значение — массив «куда».
https://exwell.io/v1/api/pairs?key=Kq8WmP2nXrT5vLcYhB7jFdZuAs4gE9oN
Дополнительных параметров нет.
Ответ 200
{
"ZEC": ["BTC", "USDT", "USDC", "ETH", "BTCLIGHTNING", "USDTTRC20"],
"DASH": ["USDC", "BTC", "ETH", "USDCTRC20"]
}
GET /rate — Курс на сумму
Текущий курс пары. Ставка не включает комиссию майнера за вывод.
https://exwell.io/v1/api/rate?key=Kq8WmP2nXrT5vLcYhB7jFdZuAs4gE9oN&from=ZEC&to=BTC&amount=1000
Параметры
| Параметр | Тип | Пример |
|---|---|---|
| from | string |
ZEC |
| to | string |
BTC |
| amount | float |
1000 |
| fix optional | boolean |
false (по умолчанию) |
Ответ 200
{
"minamount": 100.4,
"maxamount": 121334,
"rate": 0.9835947505534923,
"withdrawalFee": "0.002 BTC",
"fix": false,
"result": true
}
withdrawalFee — ориентировочная комиссия за вывод, плавает.
GET /validate-address — Валидация адреса
Проверяет, что адрес подходит для валюты получения.
https://exwell.io/v1/api/validate-address?key=Kq8WmP2nXrT5vLcYhB7jFdZuAs4gE9oN¤cy=USDT&address=0x651bf10b18d1ecaf7753cfe2457ac1aa23de540b
Параметры
| Параметр | Тип | Пример |
|---|---|---|
| currency | string |
USDT |
| address | string |
0x651bf10b18d1ecaf7753cfe2457ac1aa23de540b |
Ответ 200
{
"result": true
}
GET /exchange-create — Создание обмена
Создаёт заявку. Все поля — в query (GET).
https://exwell.io/v1/api/exchange-create?key=Kq8WmP2nXrT5vLcYhB7jFdZuAs4gE9oN&from=XMR&to=BTC&amount=26.4509&fix=false&destinationAddress=33NWPY7z4vHzMnuyzRJg6hUvMXDw5Y7v9o&refundAddress=87mEgetMnPSMMKsAFRRf7UMKLSdzdke99Rk63PYZv5hYeUmx29gEd9PKbwiQ7ZsYv7AJMKZ3515E
Параметры
| Параметр | Тип | Пример |
|---|---|---|
| from | string |
XMR |
| to | string |
BTC |
| amount | float |
26.4509 |
| fix | boolean |
false |
| destinationAddress | string |
33NWPY7z4vHzMnuyzRJg6hUvMXDw5Y7v9o |
| destinationTag optional | string |
|
| refundAddress optional | string |
87mEgetMnPSMMKsAFRRf7UMKLSdzdke99Rk63PYZv5hYeUmx29gEd9PKbwiQ7ZsYv7AJMKZ3515E |
| refundTag optional | string |
Ответ 200
{
"id": "43c393b8-1dc6-40e3-ad83-d721bf467ac1",
"from": "XMR",
"to": "BTC",
"expectedAmountFrom": "26.4509",
"expectedAmountTo": "0.24118351760777",
"depositAddress": "87mEgetMnPSMMKsAFRRf7UMKLSdzdke99Rk63PYZv5hYeUmx29gEd9PKbwiQ7ZsYv7AJMKZ3515E",
"depositTag": ""
}
GET /exchange-status — Статус обмена
Текущее состояние заявки. Опрашивайте, пока статус не финальный.
https://exwell.io/v1/api/exchange-status?key=Kq8WmP2nXrT5vLcYhB7jFdZuAs4gE9oN&id=43c393b8-1dc6-40e3-ad83-d721bf467ac1
Параметры
| Параметр | Тип | Пример |
|---|---|---|
| id | string |
43c393b8-1dc6-40e3-ad83-d721bf467ac1 |
Ответ 200
{
"status": "deposit_received",
"from": "XMR",
"to": "BTC",
"depositAddress": "87mEgetMnPSMMKsAFRRf7UMKLSdzdke99Rk63PYZv5hYeUmx29gEd9PKbwiQ7ZsYv7AJMKZ3515E",
"depositTag": "",
"depositTxId": "",
"destinationAddress": "33NWPY7z4vHzMnuyzRJg6hUvMXDw5Y7v9o",
"destinationTag": "",
"refundAddress": "87mEgetMnPSMMKsAFRRf7UMKLSdzdke99Rk63PYZv5hYeUmx29gEd9PKbwiQ7ZsYv7AJMKZ3515E",
"refundTag": "",
"expectedAmountFrom": "26.4509",
"expectedAmountTo": "0.24118351760777",
"amountFrom": "26.4509",
"date": "01.06.2023 10:24:30",
"txId": null,
"amountTo": null,
"result": true
}
Статусы:
waiting_deposit — ожидание депозита
deposit_received — депозит получен
exchanging — обмен
sending — отправка
success — готово
time_expired — время ожидания депозита вышло
failed — ошибка
sending_failed — ошибка отправки
reverted — средства возвращены клиенту
Курсы в формате XML
Фид курсов всех открытых пар. Не путать с JSON /rate (одна пара и сумма). Ответ application/xml: корень <rates>, элементы <item>.
v1 и v2 отдают одни и те же данные. Отличие — имена тегов минимума и максимума (лимиты по валюте from):
| v1 | v2 | |
|---|---|---|
| URL | https://exwell.io/v1/api/rate.xml |
https://api.exwell.io/partner/v2/rate.xml |
| минимум | <minamount> |
<frommin> |
| максимум | <maxamount> |
<frommax> |
Остальные теги одинаковые: from, to, in, out, amount, param. Префикс сайта /v1/api на v2 не мапится.
Порядок
- Подставить
keyв URL фида - Периодически забирать XML
GET /rate.xml — Курсы XML v1
Публичный URI — тот же префикс /v1/api.
https://exwell.io/v1/api/rate.xml?key=Kq8WmP2nXrT5vLcYhB7jFdZuAs4gE9oN
Дополнительных параметров нет.
Ответ 200 application/xml
<rates>
<item>
<from>BTC</from>
<to>USDTTRC20</to>
<in>1</in>
<out>68420.15</out>
<minamount>0.001</minamount>
<maxamount>5</maxamount>
<amount>150000</amount>
<param>floating</param>
</item>
</rates>
| Тег | Тип | Смысл |
|---|---|---|
| from | string |
валюта отправки |
| to | string |
валюта получения |
| in | int |
входной коэффициент, всегда 1 |
| out | string |
курс: сколько to за in единиц from |
| minamount | string |
минимум по from |
| maxamount | string |
максимум по from |
| amount | string |
резерв |
| param | string |
всегда floating |
GET /partner/v2/rate.xml — Курсы XML v2
Те же пары и значения, что у v1. Лимиты — теги frommin / frommax. Префикс сайта /v1/api сюда не мапится — вызывайте хост API.
https://api.exwell.io/partner/v2/rate.xml?key=Kq8WmP2nXrT5vLcYhB7jFdZuAs4gE9oN
Дополнительных параметров нет.
Ответ 200 application/xml
<rates>
<item>
<from>BTC</from>
<to>USDTTRC20</to>
<in>1</in>
<out>68420.15</out>
<frommin>0.001</frommin>
<frommax>5</frommax>
<amount>150000</amount>
<param>floating</param>
</item>
</rates>
| Тег | Тип | Смысл |
|---|---|---|
| from | string |
валюта отправки |
| to | string |
валюта получения |
| in | int |
входной коэффициент, всегда 1 |
| out | string |
курс: сколько to за in единиц from |
| frommin | string |
минимум по from (в v1 — minamount) |
| frommax | string |
максимум по from (в v1 — maxamount) |
| amount | string |
резерв |
| param | string |
всегда floating |
Кошелёк
Адреса кабинета (main и test) и USDT-баланс внутри ресурса кошелька. Аренда TRX Energy списывается с этого баланса, не on-chain с адреса клиента. Тестовая сеть TRON — Nile (в ответе TESTNET).
Порядок, если нужна энергия
- GET /wallet — адреса MAINNET и TESTNET
- Депозит USDT TRC20 на адрес нужной сети
- GET /wallet/balance — хватает ли USDT
- Дальше — раздел TRX Energy
GET /wallet — Кошельки main и test
Адреса партнёра: MAINNET и TESTNET (Nile).
https://exwell.io/v1/api/wallet?key=Kq8WmP2nXrT5vLcYhB7jFdZuAs4gE9oN
Дополнительных параметров нет.
Ответ 200
[
{
"address": "TExWKszFWYTKZH8LYiovAPKzS3L9MLZ4kw",
"type": "MAIN",
"blockchain": "TRON",
"network": "MAINNET"
},
{
"address": "TYsbVzAGJrDvDm8LxngY1uBYxHzpQKWzRv",
"type": "MAIN",
"blockchain": "TRON",
"network": "TESTNET"
}
]
GET /wallet/balance — Баланс
Доступный баланс внутри ресурса. address — свой, из GET /wallet.
https://exwell.io/v1/api/wallet/balance?key=Kq8WmP2nXrT5vLcYhB7jFdZuAs4gE9oN&address=TExWKszFWYTKZH8LYiovAPKzS3L9MLZ4kw&asset=USDT
Параметры
| Параметр | Тип | Пример |
|---|---|---|
| address | string |
свой TRON-адрес |
| asset optional | string |
USDT (по умолчанию) |
Ответ 200
{
"balance": 12.50,
"asset": "USDT"
}
Ошибки: 404 — чужой адрес.
GET /wallet/transaction — Транзакции кошелька
Депозиты и списания. При аренде энергии сначала HOLD, затем SUCCESS.
https://exwell.io/v1/api/wallet/transaction?key=Kq8WmP2nXrT5vLcYhB7jFdZuAs4gE9oN&address=TExWKszFWYTKZH8LYiovAPKzS3L9MLZ4kw&pageNumber=0&pageSize=10
Параметры
| Параметр | Тип | Пример |
|---|---|---|
| address | string |
свой TRON-адрес |
| pageNumber optional | int |
0 |
| pageSize optional | int |
10 |
Ответ 200
{
"content": [
{
"serviceType": "TRX_ENERGY",
"amount": -0.86,
"createdAt": "2026-08-26T12:00:00",
"asset": "USDT",
"status": "SUCCESS"
}
],
"totalElements": 1,
"totalPages": 1,
"number": 0,
"size": 10
}
serviceType: DEPOSIT, TRX_ENERGY. status: HOLD, SUCCESS.
Ошибки: 404 — чужой адрес.
TRX Energy
Аренда энергии TRON. Списание с USDT-баланса кабинета. Query network=TESTNET — Nile; MAINNET или без network — основная сеть (оценка, аренда, список и статус заказа). Nile-заказ ищите с network=TESTNET.
Порядок вызовов
- /wallet/trx-energy/info — лимиты
- /wallet/trx-energy/energy-required — цена;
address= получатель энергии - POST /wallet/trx-energy — заказ, сразу
PROCESS - GET /wallet/trx-energy/{orderId} — поллинг
PROCESS→SUCCESS/ERROR
GET /wallet/trx-energy/info — Лимиты аренды
Периоды и min/max energy. Баланса здесь нет — смотрите /balance.
https://exwell.io/v1/api/wallet/trx-energy/info?key=Kq8WmP2nXrT5vLcYhB7jFdZuAs4gE9oN
Дополнительных параметров нет.
Ответ 200
{
"periods": ["H1", "D1", "D3", "D30"],
"minEnergy": 10000,
"maxEnergy": 1000000
}
Поле periods — справочно. В теле аренды period нет.
GET /wallet/trx-energy/energy-required — Оценка
Цена аренды. address — адрес получателя энергии (не обязан быть кошельком партнёра). Без energyAmount система считает потребность этого адреса сама. Без network — MAINNET.
https://exwell.io/v1/api/wallet/trx-energy/energy-required?key=Kq8WmP2nXrT5vLcYhB7jFdZuAs4gE9oN&address=TExWKszFWYTKZH8LYiovAPKzS3L9MLZ4kw&energyAmount=65000&network=MAINNET
Параметры
| Параметр | Тип | Пример |
|---|---|---|
| address | string |
TRON-адрес получателя |
| energyAmount optional | int |
65000 |
| network optional | string |
MAINNET или TESTNET |
Ответ 200
{
"recipientAddress": "TExWKszFWYTKZH8LYiovAPKzS3L9MLZ4kw",
"energyRequired": 65000,
"price": 0.86,
"priceSymbol": "USDT"
}
price — к списанию, уже с наценкой.
Ошибки: 409 — битый адрес или объём вне лимитов.
POST /wallet/trx-energy — Аренда
Создаёт заказ. Ответ сразу со статусом PROCESS — дальше поллинг по id в той же сети (без network статус ищется в MAINNET).
https://exwell.io/v1/api/wallet/trx-energy?key=Kq8WmP2nXrT5vLcYhB7jFdZuAs4gE9oN&network=MAINNET
Body application/json
{
"recipients": [
{
"address": "TExWKszFWYTKZH8LYiovAPKzS3L9MLZ4kw",
"energy": 65000
}
]
}
Параметры
| Параметр | Тип | Пример |
|---|---|---|
| network optional | string |
MAINNET или TESTNET |
| recipients body | object[] |
[{"address":"TAddr...","energy":65000}] |
Ответ 200
[
{
"id": 48,
"recipientAddress": "TExWKszFWYTKZH8LYiovAPKzS3L9MLZ4kw",
"rentEnergy": 65000.0,
"sellingPrice": 0.86,
"sellingPriceSymbol": "USDT",
"status": "PROCESS",
"createdAt": "2026-08-26T12:00:00"
}
]
Ошибки: 409 — мало баланса; объём вне лимитов (info); битый адрес; больше 10 получателей.
GET /wallet/trx-energy/{orderId} — Статус ордера
Поллинг одного заказа. Без network или MAINNET — основная сеть; Nile — network=TESTNET.
https://exwell.io/v1/api/wallet/trx-energy/48?key=Kq8WmP2nXrT5vLcYhB7jFdZuAs4gE9oN
Параметры
| Параметр | Тип | Пример |
|---|---|---|
| orderId path | int |
48 |
| network optional | string |
MAINNET или TESTNET |
Ответ 200
{
"id": 48,
"recipientAddress": "TExWKszFWYTKZH8LYiovAPKzS3L9MLZ4kw",
"rentEnergy": 65000.0,
"sellingPrice": 0.86,
"sellingPriceSymbol": "USDT",
"status": "SUCCESS",
"createdAt": "2026-08-26T12:00:00"
}
Статусы: PROCESS — делегируется, SUCCESS — энергия на адресе, ERROR — не получилось.
Ошибки: 404 или 409 — Order not found.
GET /wallet/trx-energy — Список ордеров
История аренды. Тот же путь, что у POST — метод GET. network=TESTNET — Nile; без network или MAINNET — основная сеть.
https://exwell.io/v1/api/wallet/trx-energy?key=Kq8WmP2nXrT5vLcYhB7jFdZuAs4gE9oN&pageNumber=0&pageSize=10&network=MAINNET
Параметры
| Параметр | Тип | Пример |
|---|---|---|
| pageNumber optional | int |
0 |
| pageSize optional | int |
10 |
| network optional | string |
MAINNET или TESTNET |
Ответ 200
{
"content": [
{
"id": 48,
"recipientAddress": "TExWKszFWYTKZH8LYiovAPKzS3L9MLZ4kw",
"rentEnergy": 65000.0,
"sellingPrice": 0.86,
"sellingPriceSymbol": "USDT",
"status": "SUCCESS",
"createdAt": "2026-08-26T12:00:00"
}
],
"totalElements": 1,
"totalPages": 1,
"number": 0,
"size": 10
}
Если возникнут вопросы по интеграции, мы с радостью ответим.
© 2022-2026 exwell.io