RustChain API Reference
February 28, 2026 ยท View on GitHub
Base URL: https://rustchain.org (Primary Node)
Authentication: Read-only endpoints are public. Writes require Ed25519 signatures or an Admin Key.
Certificate Note: The node uses a self-signed TLS certificate. Use the -k flag with curl or disable certificate verification in your client.
๐ข Public Endpoints
1. Node Health
Check the status of the node, database, and sync state.
- Endpoint:
GET /health - Response:
{ "ok": true, "version": "2.2.1-rip200", "uptime_s": 97300, "db_rw": true, "tip_age_slots": 0, "backup_age_hours": 16.58 }
2. Epoch Information
Get details about the current mining epoch, slot progress, and rewards.
- Endpoint:
GET /epoch - Response:
{ "epoch": 75, "slot": 10800, "blocks_per_epoch": 144, "epoch_pot": 1.5, "enrolled_miners": 10 }
3. Active Miners
List all miners currently participating in the network with their hardware details.
- Endpoint:
GET /api/miners - Response (Array):
[ { "miner": "wallet_id_string", "device_arch": "G4", "device_family": "PowerPC", "hardware_type": "PowerPC G4 (Vintage)", "antiquity_multiplier": 2.5, "last_attest": 1771187406 } ]
4. Wallet Balance
Query the RTC balance for any valid miner ID.
- Endpoint:
GET /wallet/balance?miner_id={NAME} - Example:
curl -sk 'https://rustchain.org/wallet/balance?miner_id=scott' - Response:
{ "ok": true, "miner_id": "scott", "amount_rtc": 42.5, "amount_i64": 42500000 }
๐ต Signed Transactions (Public Write)
Submit Signed Transfer
Transfer RTC between wallets without requiring an admin key.
- Endpoint:
POST /wallet/transfer/signed - Payload:
{ "from_address": "RTC...", "to_address": "RTC...", "amount_rtc": 1.5, "nonce": 1771187406, "signature": "hex_encoded_signature", "public_key": "hex_encoded_pubkey" } - Process:
- Construct JSON payload:
{"from": "...", "to": "...", "amount": 1.5, "nonce": "...", "memo": "..."} - Sort keys and sign with Ed25519 private key.
- Submit with hex-encoded signature.
- Construct JSON payload:
๐ด Authenticated Endpoints (Admin Only)
Required Header: X-Admin-Key: {YOUR_ADMIN_KEY}
1. Internal Admin Transfer
Move funds between any two wallets (requires admin authority).
- Endpoint:
POST /wallet/transfer - Payload:
{"from_miner": "A", "to_miner": "B", "amount_rtc": 10.0}
2. Manual Settlement
Manually trigger the epoch settlement process.
- Endpoint:
POST /rewards/settle
โ ๏ธ Implementation Notes & Common Mistakes
Field Name Precision
The RustChain API is strict about field names. Common errors include:
- โ
miner_idinstead ofminer(in miner object) - โ
current_slotinstead ofslot(in epoch info) - โ
total_minersinstead ofenrolled_miners
Wallet Formats
Wallets are simple UTF-8 strings (1-256 chars).
- โ
my-wallet-name - โ
0x...(Ethereum addresses are not native RTC wallets) - โ
4TR...(Solana addresses must be bridged via BoTTube)
Certificate Errors
If using curl, always include -k to bypass the self-signed certificate warning.
Last Updated: February 2026