Documentation
PoolNode Project and Website Administration API
Embedded PoolNode project activation, ports, endpoints, website, TLS, certificate, template, and app configuration endpoints.
PoolNode Project and Website Administration API
These /api/poolnode/* endpoints are called by the RustMinerSystem administration UI. They are different from the PoolNode user-facing /api/user/* API and are intended for node owners.
PoolNode calls commonly return { status, error, data }. The UI extracts data and treats status: 4 as “project not activated.”
Project application and activation
| Method | Path | Body/purpose |
|---|---|---|
| GET | /api/poolnode/project/info |
Read project state, name, and coin fee configuration. |
| POST | /api/poolnode/project/apply |
Apply with { name, token }. |
| POST | /api/poolnode/project/active |
Activate with { code, token, captcha_token }. |
| POST | /api/poolnode/project/unactive |
Deactivate the current project. |
Deactivation clears project, fee, and port state in the frontend. Back up settlement and website data first.
Node ports and endpoints
| Method | Path | Purpose |
|---|---|---|
| GET | /api/poolnode/ports |
Read PoolNode ports. |
| POST | /api/poolnode/port/new |
Create a port across node servers. |
| POST | /api/poolnode/extra/{port} |
Change public mode and unified wallet for a listen port. |
| DELETE | /api/port/{id} |
Delete a node port through the shared port endpoint. |
| GET | /api/poolnode/endpoints |
Read regions/upstream node endpoints. |
| GET | /api/poolnode/ping/{id} |
Measure endpoint latency. |
| GET | /api/poolnode/project/stats?k={coin} |
Read statistics for one node currency. |
| GET | /api/poolnode/sync/info |
Read sync success, failure, and detail data. |
Some coin checks append ?k=KAS. A create body resembles the normal port payload and includes:
{
"port": 3333,
"name": "Pool Port",
"currency": "PI-BTC",
"pool_address": "<JSON string containing endpoint ID>",
"mode": 1,
"protocol": 0,
"category": "poolnode",
"proxy_addr": ""
}
Extra settings body:
{
"mode": 1,
"proxy_addr": "<public-mode wallet or subaccount>"
}
Website access
| Method | Path | Request/purpose |
|---|---|---|
| GET | /api/poolnode/index/port |
Read the website port. |
| POST | /api/poolnode/index/port |
Change it with { "r": 8080 }. |
| GET | /api/poolnode/route |
Read the website safe route. |
| POST | /api/poolnode/route |
Change it with { "k": "route" }. |
| GET | /api/poolnode/enable/index |
Read public-access state. |
| POST | /api/poolnode/enable/index/{flag} |
Toggle public access; the backend flag is inverted relative to the UI boolean. |
| GET | /api/poolnode/index/tls |
Read TLS state. |
| POST | /api/poolnode/index/tls/{flag} |
Set TLS state. |
Port, route, and TLS changes can restart the service. Be ready to reconnect to the new URL.
Website certificate
| Method | Path | Purpose |
|---|---|---|
| GET | /api/poolnode/cert |
Read the current certificate type. |
| POST | /api/poolnode/cert/upload |
Upload the website PEM certificate and private key. |
| POST | /api/poolnode/cert/reset |
Restore the bundled website certificate. |
The upload body is { pem, key }; both values are Base64-encoded UTF-8 text.
Branding and templates
| Method | Path | Purpose |
|---|---|---|
| GET | /api/poolnode/webconfig |
Read name, logo, notice, and branding data. |
| POST | /api/poolnode/webconfig |
Save website configuration. |
| GET | /api/poolnode/pool/asset/selected |
Read the active template. |
| GET | /api/poolnode/pool/assets |
Read all available templates. |
| GET | /api/poolnode/pool/asset/status |
Read template download state. |
| POST | /api/poolnode/pool/asset |
Select a template. |
| POST | /api/poolnode/pool/asset/reset |
Restore the default template. |
Website configuration is a Base64-encoded JSON document:
{
"k": "<Base64(JSON.stringify(config))>"
}
Template selection:
{
"asset_id": 1,
"item_id": 2
}
App communication configuration
| Method | Path | Purpose |
|---|---|---|
| GET | /api/poolnode/project/url |
Read app API URL, name, and invitation code. |
| POST | /api/poolnode/project/url |
Save the app communication URL. |
{
"api_url": "https://pool.example.com/safe-route",
"refresh": 0
}
