First steps for developers integrating with RustChain.
curl -sk https://50.28.86.131/healthResponse:
{
"ok": true,
"version": "2.2.1-rip200",
"uptime_s": 200000
}curl -sk https://50.28.86.131/epochResponse:
{
"epoch": 95,
"slot": 12345,
"height": 67890
}curl -sk "https://50.28.86.131/wallet/balance?miner_id=Ivan-houzhiwen"Response:
{
"amount_i64": 155000000,
"amount_rtc": 155.0,
"miner_id": "Ivan-houzhiwen"
}The transfer endpoint requires a signed transaction.
POST /wallet/transfer/signed
{
"from": "sender_wallet_id",
"to": "recipient_wallet_id",
"amount": 10,
"fee": 0.001,
"signature": "hex_encoded_signature",
"timestamp": 1234567890
}| Field | Type | Description |
|---|---|---|
from |
string | Sender's RustChain wallet ID |
to |
string | Recipient's RustChain wallet ID |
amount |
integer | Amount in RTC (smallest unit) |
fee |
float | Transaction fee |
signature |
hex string | Ed25519 signature of the transfer payload |
timestamp |
integer | Unix timestamp for replay protection |
-
Wallet IDs are NOT external addresses - RustChain uses its own wallet system (e.g.,
Ivan-houzhiiwen), not Ethereum or Solana addresses. -
Self-signed certificates - Use
curl -korverify=Falsein Python. -
Amount is in smallest unit - 1 RTC = 1,000,000 smallest units.
import requests
import json
# Check balance
response = requests.get(
"https://50.28.86.131/wallet/balance",
params={"miner_id": "Ivan-houzhiwen"},
verify=False
)
print(f"Balance: {response.json()['amount_rtc']} RTC")
# Transfer (requires signature)
transfer_data = {
"from": "sender_wallet",
"to": "recipient_wallet",
"amount": 1000000, # 1 RTC
"fee": 1000,
"signature": "...",
"timestamp": 1234567890
}
response = requests.post(
"https://50.28.86.131/wallet/transfer/signed",
json=transfer_data,
verify=False
)
print(response.json())- Node:
https://50.28.86.131 - Explorer:
https://50.28.86.131/explorer - Health:
https://50.28.86.131/health
Ref: Scottcjn#701