RustChain API Reference β Canonical Documentation
Base URL: https://50.28.86.131 (self-signed cert, use -k with curl)
All examples use the external HTTPS endpoint. Internally on VPS, use http://localhost:8099.
Public Endpoints (No Authentication Required)
Health & Status
| Endpoint |
Method |
Purpose |
/health |
GET |
Node health check |
/ready |
GET |
Readiness probe |
Example:
curl -sk https://50.28.86.131/health
Response:
{
"ok": true,
"version": "2.2.1-rip200",
"uptime_s": 4313,
"db_rw": true,
"backup_age_hours": 17.15,
"tip_age_slots": 0
}
Epoch Information
| Endpoint |
Method |
Returns |
/epoch |
GET |
Current epoch, slot, pot, enrolled miners |
Example:
curl -sk https://50.28.86.131/epoch
Response:
{
"epoch": 75,
"slot": 10800,
"blocks_per_epoch": 144,
"epoch_pot": 1.5,
"enrolled_miners": 10
}
Network Data
| Endpoint |
Method |
Description |
/api/miners |
GET |
List active miners with architecture, multiplier, attestation times |
/api/nodes |
GET |
Connected attestation nodes |
Example:
curl -sk https://50.28.86.131/api/miners
Response (truncated):
[
{
"miner": "eafc6f14eab6d5c5362fe651e5e6c23581892a37RTC",
"device_arch": "G4",
"device_family": "PowerPC",
"hardware_type": "PowerPC G4 (Vintage)",
"antiquity_multiplier": 2.5,
"entropy_score": 0.0,
"last_attest": 1771187406,
"first_attest": null
}
]
Wallet Queries
| Endpoint |
Method |
Description |
/wallet/balance?miner_id=NAME |
GET |
Check RTC balance for miner wallet |
Example:
curl -sk 'https://50.28.86.131/wallet/balance?miner_id=scott'
Response:
{
"ok": true,
"miner_id": "scott",
"amount_rtc": 42.5
}
Block Explorer
| Endpoint |
Method |
Purpose |
/explorer |
GET |
Web UI for block/transaction browsing |
Open in browser: https://50.28.86.131/explorer
Authenticated Endpoints (Require X-Admin-Key Header)
# All admin endpoints require this header:
-H "X-Admin-Key: rustchain_admin_key_2025_secure64"
| Endpoint |
Method |
Purpose |
/wallet/transfer |
POST |
Internal RTC transfer (admin only) |
/rewards/settle |
POST |
Trigger epoch settlement |
Example - Admin Transfer:
curl -sk -X POST https://50.28.86.131/wallet/transfer \
-H "X-Admin-Key: rustchain_admin_key_2025_secure64" \
-H "Content-Type: application/json" \
-d '{"from_miner":"scott","to_miner":"pffs1802","amount_rtc":5.0}'
Common Mistakes (What NOT to Do)
β Wrong Endpoints That Don't Exist
/balance/{address} β Use /wallet/balance?miner_id=NAME instead
/miners?limit=N β No pagination; use /api/miners for full list
/block/{height} β Use /explorer web UI instead
/tx/{txid} β Use /explorer web UI instead
/blocks β Not an endpoint; check /epoch for block info
/api/balance β Use /wallet/balance?miner_id=...
β Wrong Field Names
When reading responses, use EXACT field names:
Epoch response (CORRECT):
{
"epoch": 75,
"slot": 10800,
"blocks_per_epoch": 144,
"epoch_pot": 1.5,
"enrolled_miners": 10
}
NOT:
- β
epoch_number (it's epoch)
- β
current_slot (it's slot)
- β
per_epoch_pot (it's epoch_pot)
- β
total_miners (it's enrolled_miners)
Miner object (CORRECT):
{
"miner": "wallet_id",
"device_arch": "G4",
"device_family": "PowerPC",
"antiquity_multiplier": 2.5,
"last_attest": 1771187406
}
NOT:
- β
miner_id (it's miner)
- β
architecture (it's device_arch)
- β
multiplier (it's antiquity_multiplier)
- β
last_attestation (it's last_attest)
Wallet Format Rules
RTC wallets are simple text identifiers (UTF-8 strings, 1-256 chars):
Valid wallet names:
- β
scott
- β
pffs1802
- β
liu971227-sys
- β
my-wallet-2025
- β
sophia-nas-c4130
NOT valid wallet names (will be rejected):
- β Solana addresses:
4TRdr... (use as-is without modification)
- β Ethereum addresses:
0x2A91...
- β Ed25519 public keys:
88c394...
- β Bitcoin addresses:
1A1z...
RIP-200 Attestation Endpoints
For miner integration, see Miner Integration Guide.
| Endpoint |
Method |
Purpose |
/attest/submit |
POST |
Submit hardware attestation |
/lottery/eligibility?miner_id=NAME |
GET |
Check reward eligibility |
HTTPS Certificate Warning
The node uses a self-signed certificate. When using curl, add -k flag:
# β
Correct
curl -sk https://50.28.86.131/health
# If you want to verify the cert, get it first:
openssl s_client -connect 50.28.86.131:443 -showcerts
Response Status Codes
| Code |
Meaning |
| 200 |
β
Success |
| 400 |
β Bad request (check your JSON syntax) |
| 401 |
β Unauthorized (missing or invalid X-Admin-Key) |
| 404 |
β Endpoint doesn't exist |
| 500 |
β Server error (check node logs) |
Node Infrastructure
Primary Node (RIP-200 Consensus):
- Address: 50.28.86.131 (LiquidWeb VPS)
- HTTPS Port: 443 (nginx proxy)
- Internal Port: 8099 (Flask app)
- Version: 2.2.1-rip200
Secondary Node (Ergo Anchor):
- Address: 50.28.86.153 (LiquidWeb VPS)
- Note: Serves different services, not mirrored
Tertiary Node (Community):
- Address: 76.8.228.245 (Ryan's Proxmox)
- Tailscale: 100.88.109.32:8099
- Status: Community-operated
For Contributors
When submitting RustChain integration code:
- Always test endpoints first using the examples above
- Use exact field names from response JSON
- Handle HTTP 401 errors gracefully (node may restart)
- Don't hardcode IP addresses β use documented URLs
- Reference this issue in your PR if you're adding new API usage
Questions? Comment below or open an issue tagged documentation.
Last updated: 2026-02-15. Epoch 75, 10 enrolled miners, 1.5 RTC/epoch.
RustChain API Reference β Canonical Documentation
Base URL:
https://50.28.86.131(self-signed cert, use-kwith curl)All examples use the external HTTPS endpoint. Internally on VPS, use
http://localhost:8099.Public Endpoints (No Authentication Required)
Health & Status
/health/readyExample:
Response:
{ "ok": true, "version": "2.2.1-rip200", "uptime_s": 4313, "db_rw": true, "backup_age_hours": 17.15, "tip_age_slots": 0 }Epoch Information
/epochExample:
Response:
{ "epoch": 75, "slot": 10800, "blocks_per_epoch": 144, "epoch_pot": 1.5, "enrolled_miners": 10 }Network Data
/api/miners/api/nodesExample:
Response (truncated):
[ { "miner": "eafc6f14eab6d5c5362fe651e5e6c23581892a37RTC", "device_arch": "G4", "device_family": "PowerPC", "hardware_type": "PowerPC G4 (Vintage)", "antiquity_multiplier": 2.5, "entropy_score": 0.0, "last_attest": 1771187406, "first_attest": null } ]Wallet Queries
/wallet/balance?miner_id=NAMEExample:
curl -sk 'https://50.28.86.131/wallet/balance?miner_id=scott'Response:
{ "ok": true, "miner_id": "scott", "amount_rtc": 42.5 }Block Explorer
/explorerOpen in browser: https://50.28.86.131/explorer
Authenticated Endpoints (Require
X-Admin-KeyHeader)/wallet/transfer/rewards/settleExample - Admin Transfer:
Common Mistakes (What NOT to Do)
β Wrong Endpoints That Don't Exist
/balance/{address}β Use/wallet/balance?miner_id=NAMEinstead/miners?limit=Nβ No pagination; use/api/minersfor full list/block/{height}β Use/explorerweb UI instead/tx/{txid}β Use/explorerweb UI instead/blocksβ Not an endpoint; check/epochfor block info/api/balanceβ Use/wallet/balance?miner_id=...β Wrong Field Names
When reading responses, use EXACT field names:
Epoch response (CORRECT):
{ "epoch": 75, "slot": 10800, "blocks_per_epoch": 144, "epoch_pot": 1.5, "enrolled_miners": 10 }NOT:
epoch_number(it'sepoch)current_slot(it'sslot)per_epoch_pot(it'sepoch_pot)total_miners(it'senrolled_miners)Miner object (CORRECT):
{ "miner": "wallet_id", "device_arch": "G4", "device_family": "PowerPC", "antiquity_multiplier": 2.5, "last_attest": 1771187406 }NOT:
miner_id(it'sminer)architecture(it'sdevice_arch)multiplier(it'santiquity_multiplier)last_attestation(it'slast_attest)Wallet Format Rules
RTC wallets are simple text identifiers (UTF-8 strings, 1-256 chars):
Valid wallet names:
scottpffs1802liu971227-sysmy-wallet-2025sophia-nas-c4130NOT valid wallet names (will be rejected):
4TRdr...(use as-is without modification)0x2A91...88c394...1A1z...RIP-200 Attestation Endpoints
For miner integration, see Miner Integration Guide.
/attest/submit/lottery/eligibility?miner_id=NAMEHTTPS Certificate Warning
The node uses a self-signed certificate. When using curl, add
-kflag:Response Status Codes
Node Infrastructure
Primary Node (RIP-200 Consensus):
Secondary Node (Ergo Anchor):
Tertiary Node (Community):
For Contributors
When submitting RustChain integration code:
Questions? Comment below or open an issue tagged
documentation.Last updated: 2026-02-15. Epoch 75, 10 enrolled miners, 1.5 RTC/epoch.