Документация
API fees, дохода и subaccounts PoolNode
Fee account, доход, payout address, small withdrawal, subaccount fee и rebate endpoints PoolNode.
API fees, дохода и subaccounts PoolNode
Эта глава описывает fees, доход, адреса, withdrawal и subaccounts, необходимые API clients. Revenue email, коды, wallet addresses и transaction hashes являются sensitive и должны скрываться.
PoolNode может возвращать { status, error, data } или прямые данные. См. envelope PoolNode.
Fee проекта по монете
POST /api/poolnode/project/config
{
"email": "[email protected]",
"coin": "PI-BTC",
"r": 0.01
}
r — дробь 0–1; 0.01 означает 1%.
Доход и записи
| Метод | Путь | Основные поля body |
|---|---|---|
| POST | /api/poolnode/profit |
email, coin. |
| POST | /api/poolnode/address/info |
email. |
| POST | /api/poolnode/rewards |
email, coin, page, size. |
| POST | /api/poolnode/payouts |
email, coin, page, size. |
Frontend распознает состояния all, yesterday, paid, unpaid. Списки используют:
{
"records": [],
"total": 0,
"page_no": 1
}
Изменение payout address
Отправка email code:
POST /api/poolnode/send/user/mail
{
"address": "[email protected]",
"token": "<captcha или verification token>"
}
Сохранение адреса и threshold:
POST /api/poolnode/update/address
{
"email": "[email protected]",
"code": "123456",
"coin": "PI-BTC",
"amount": "0.01",
"address": "<payout wallet>"
}
Текущий frontend отправляет amount строкой.
Small withdrawal
| Метод | Путь | Body |
|---|---|---|
| POST | /api/poolnode/withdrawal/can/apply |
{ email, coin }; проверить возможность. |
| POST | /api/poolnode/withdrawal/logs |
{ email, coin }; история заявок. |
| POST | /api/poolnode/withdrawal/submit |
{ email, coin }; отправить заявку. |
Frontend интерпретирует eligibility как [status, payload]. При status=0 payload — доступный баланс; при status=-3 — время следующей заявки.
Fees subaccounts
Запрос subaccounts:
POST /api/poolnode/subaccount/configs
{
"page": 1,
"size": 20,
"coin": "PI-BTC",
"name": "<необязательный фильтр>"
}
Настройка fee:
POST /api/poolnode/subaccount/config
{
"sid": 1,
"coin": "PI-BTC",
"action": 0,
"r": 0.01
}
Настройка rebate:
POST /api/poolnode/subaccount/rebate
{
"sid": 1,
"coin": "PI-BTC",
"email": "[email protected]",
"action": 0,
"r": 0.005
}
Используются коды PoolNode: BTC обычно PI-BTC, LTC — VA-LTC.
Полные поля ответов
Fee проекта
email — revenue email владельца. coin берется из project/info.data.config[].coin. Успешный save возвращает business success или HTTP 200; повторите project info и проверьте config[].r.
Profit и address
/api/poolnode/profit возвращает в data:
[
{ "status": "all", "profit": 0 }
]
status: all, yesterday, paid, unpaid; profit — соответствующая сумма. Отсутствующее состояние считайте нулем.
/api/poolnode/address/info возвращает:
| Поле | Тип | Значение |
|---|---|---|
coin |
string | Код валюты PoolNode. |
address |
string | Текущий revenue address. |
amount |
string/number | Минимальная сумма payout. |
Перед edit найдите запись по coin.
Rewards и payouts
Оба ответа имеют { records, total, page_no }.
Поля reward records[]:
| Поле | Тип | Значение |
|---|---|---|
day |
string | День дохода. |
avg_hashrate |
number/string | Средний hashrate за день. |
day_profit |
number/string | Доход за день. |
r |
number/string | Примененный fee ratio. |
status |
number/string | Enum состояния reward. |
account_type |
number/string | Enum типа account. |
Поля payout records[]:
| Поле | Тип | Значение |
|---|---|---|
created_at |
string | Время payout record. |
amount |
number/string | Сумма payout. |
trans_id |
string | On-chain transaction hash. |
status |
number/string | Enum состояния payout. |
account_type |
number/string | Enum типа account. |
total — общее число строк, page_no — подтвержденная сервером страница. Нумерация начинается с 1.
Обновление address
coin берется из address info или project config. После успешного update повторите /api/poolnode/address/info и проверьте address, amount. Mail endpoint возвращает только delivery result, а не код.
Small withdrawal
Eligibility response: [status, payload].
| Status | Значение |
|---|---|
0 |
Можно подать заявку; payload — balance. |
-1 |
Нет доступного small balance. |
-2 |
Balance есть, но payout address не задан. |
-3 |
После предыдущей заявки прошло недостаточно времени; payload — связанное время. |
-4 |
Недостаточно account permissions. |
В withdrawal/logs.data[] frontend использует updated_at, amount, status, hash. status=1 означает ожидание оплаты; при status=0 UI может показать transaction hash. Непосредственно перед submit повторите eligibility query.
Subaccounts
Query возвращает { records, total, page_no }. Поля records[]:
| Поле | Тип | Значение и повторное использование |
|---|---|---|
id |
number/string | ID subaccount, используется как sid. |
name |
string | Имя subaccount. |
created_at |
string | Время регистрации. |
hashrate |
number/string | Текущий hashrate. |
r |
number/string | Independent fee ratio. |
rb_r |
number/string | Rebate ratio. |
rb_email |
string/null | Revenue email для rebate. |
tick |
string/null | Read-only fragment для observer link PoolNode. |
action=0 сохраняет. Для subaccount fee action=1 восстанавливает default узла; frontend отправляет compatibility value r=0.03. Для rebate action=1 удаляет rebate. После успеха повторите query текущей страницы.
Зависимости полей
| Input | Источник |
|---|---|
coin |
GET /api/poolnode/project/info → data.config[].coin или поддерживаемый список PoolNode. |
email |
Revenue email caller; config[].email можно использовать для display verification. |
address / amount |
Запись того же coin из /api/poolnode/address/info. |
sid |
/api/poolnode/subaccount/configs → records[].id. |
Rebate email при removal |
Текущий records[].rb_email. |
