The RougeChain node exposes a REST API on the configured --api-port (default: 5101).
Important: All write operations (POST/PUT/DELETE) require v2 signed requests using ML-DSA-65 client-side signing. Legacy unsigned v1 write endpoints return 410 GONE in production. Private keys never leave your application.
http://127.0.0.1:5100/api
For the public testnet:
https://testnet.rougechain.io/api
RougeChain uses Bech32m addresses with the rouge1 prefix (e.g., rouge1q8f3x7k2m4n9p...). These are derived from the SHA-256 hash of the raw ML-DSA-65 public key.
All API endpoints expect raw hex public keys , not rouge1 addresses:
✅ /api/balance/d67d8da279755a...
❌ /api/balance/rouge1q8f3x7k2m4n9p...
Tip: Use GET /api/resolve/:input to convert between rouge1… addresses and hex public keys.
All write endpoints use a standard signed-request envelope:
{
"payload": {
"...endpoint-specific fields...",
"from": "your-signing-public-key-hex",
"timestamp": 1706745600000,
"nonce": "random-hex-string"
},
"signature": "ml-dsa65-signature-of-payload-hex",
"public_key": "your-signing-public-key-hex"
}
The payload is JSON-serialized with keys sorted alphabetically, then signed with your ML-DSA-65 private key. The server verifies the signature, checks the timestamp (must be within 60 seconds), and rejects replayed nonces.
Endpoint Method Description
/api/healthGET Node health check
/api/statsGET Network statistics
/api/wsGET WebSocket for real-time events
/api/price/xrgeGET Current XRGE price
Endpoint Method Description
/api/blocksGET Get all blocks
/api/blocks/summaryGET Block summary for charts
/api/block/:heightGET Get block by height
/api/txsGET Get transactions
/api/tx/:hashGET Get transaction by hash
/api/tx/:hash/receiptGET Get transaction receipt
/api/eventsGET Get all events
Endpoint Method Description
/api/balance/:publicKeyGET Get XRGE balance
/api/balance/:publicKey/:tokenGET Get token balance
/api/account/:pubkey/nonceGET Get account nonce
/api/resolve/:inputGET Resolve address ↔ public key
/api/address/:pubkey/transactionsGET Get address transactions
/api/v2/transferPOST Transfer tokens (signed)
/api/v2/faucetPOST Request testnet tokens (signed)
Endpoint Method Description
/api/tokensGET List all tokens
/api/token/:symbol/metadataGET Get token metadata
/api/token/:symbol/holdersGET Get token holders
/api/token/:symbol/transactionsGET Get token transactions
/api/burn-addressGET Get official burn address
/api/burnedGET Get burned token stats
/api/v2/token/createPOST Create token (signed)
/api/v2/token/metadata/updatePOST Update token metadata (signed)
/api/v2/token/metadata/claimPOST Claim metadata ownership (signed)
Endpoint Method Description
/api/v2/token/approvePOST Approve spender allowance (signed)
/api/v2/token/transfer-fromPOST Transfer using allowance (signed)
/api/v2/token/freezePOST Freeze/unfreeze token transfers (signed)
/api/token/allowanceGET Check specific allowance
/api/token/allowancesGET List allowances by owner/spender
/api/allowances/:pubkeyGET List all allowances for a key
/api/locks/:pubkeyGET Get token locks
Endpoint Method Description
/api/validatorsGET List validators
/api/validators/statsGET Validator vote stats
/api/selectionGET Proposer selection
/api/finalityGET Finality status
/api/votesGET Vote quorum info
/api/v2/stakePOST Stake tokens (signed)
/api/v2/unstakePOST Unstake tokens (signed)
Endpoint Method Description
/api/staking/poolsGET List all staking pools
/api/staking/pool/:pool_idGET Get staking pool details
/api/staking/stakes/:pubkeyGET Get stakes by owner
/api/staking/pool/:pool_id/stakesGET Get stakes in a pool
Endpoint Method Description
/api/poolsGET List liquidity pools
/api/pool/:pool_idGET Get pool details
/api/pool/:pool_id/pricesGET Get price history
/api/pool/:pool_id/eventsGET Get pool events
/api/pool/:pool_id/statsGET Get pool statistics
/api/swap/quotePOST Get swap quote
/api/v2/pool/createPOST Create liquidity pool (signed)
/api/v2/pool/add-liquidityPOST Add liquidity (signed)
/api/v2/pool/remove-liquidityPOST Remove liquidity (signed)
/api/v2/swap/executePOST Execute swap (signed)
Endpoint Method Description
/api/nft/collectionsGET List collections
/api/nft/collection/:idGET Get collection
/api/nft/collection/:id/tokensGET Get collection tokens
/api/nft/token/:coll/:idGET Get specific NFT
/api/nft/owner/:pubkeyGET Get NFTs by owner
/api/v2/nft/collection/createPOST Create collection (signed)
/api/v2/nft/mintPOST Mint NFT (signed)
/api/v2/nft/batch-mintPOST Batch mint (signed)
/api/v2/nft/transferPOST Transfer NFT (signed)
/api/v2/nft/burnPOST Burn NFT (signed)
/api/v2/nft/lockPOST Lock/unlock NFT (signed)
/api/v2/nft/freeze-collectionPOST Freeze collection (signed)
Endpoint Method Description
/api/v2/contract/deployPOST Deploy WASM contract (signed)
/api/v2/contract/callPOST Call contract method (signed)
/api/contract/:addressGET Get contract metadata
/api/contract/:address/stateGET Get contract state
/api/contract/:address/eventsGET Get contract events
Endpoint Method Description
/api/bridge/configGET ETH/USDC bridge config
/api/bridge/claimPOST Claim bridge deposit
/api/bridge/withdrawPOST Withdraw to EVM
/api/bridge/withdrawalsGET List pending withdrawals
/api/bridge/withdrawals/:txIdDELETE Fulfill withdrawal
/api/bridge/xrge/configGET XRGE bridge config
/api/bridge/xrge/claimPOST Claim XRGE deposit
/api/bridge/xrge/withdrawPOST Withdraw XRGE to EVM
/api/bridge/xrge/withdrawalsGET List XRGE withdrawals
/api/bridge/xrge/withdrawals/:txIdDELETE Fulfill XRGE withdrawal
Endpoint Method Description
/api/v2/shielded/shieldPOST Shield tokens (signed)
/api/v2/shielded/transferPOST Private transfer (signed)
/api/v2/shielded/unshieldPOST Unshield tokens (signed)
/api/shielded/statsGET Shielded pool statistics
/api/shielded/nullifier/:hashGET Check nullifier
Endpoint Method Description
/api/v2/rollup/statusGET Rollup status
/api/v2/rollup/batch/:idGET Get rollup batch
/api/v2/rollup/submitPOST Submit rollup transfer (signed)
Endpoint Method Description
/api/governance/proposalsGET List all proposals
/api/governance/proposals/:tokenGET Proposals by token
/api/governance/proposal/:idGET Get proposal details
/api/governance/proposal/:id/votesGET Get proposal votes
Endpoint Method Description
/api/social/track/:trackId/statsGET Get track stats (plays, likes, comments)
/api/social/track/:trackId/commentsGET Get track comments
/api/social/artist/:pubkey/statsGET Get artist stats (followers, following)
/api/social/user/:pubkey/likesGET Get user's liked track/post IDs
/api/social/user/:pubkey/followingGET Get user's followed artists
/api/social/user/:pubkey/postsGET Get user's posts
/api/social/post/:postIdGET Get a single post with stats
/api/social/post/:postId/statsGET Get post stats (likes, reposts, replies)
/api/social/post/:postId/repliesGET Get replies to a post
/api/social/timelineGET Global timeline (newest first)
/api/v2/social/playPOST Record a play (signed)
/api/v2/social/likePOST Toggle like (signed)
/api/v2/social/commentPOST Post a comment (signed)
/api/v2/social/comment/deletePOST Delete a comment (signed)
/api/v2/social/followPOST Toggle follow (signed)
/api/v2/social/postPOST Create a post (signed)
/api/v2/social/post/deletePOST Delete a post (signed)
/api/v2/social/repostPOST Toggle repost (signed)
/api/v2/social/feedPOST Get following feed (signed)
Endpoint Method Description
/api/messenger/walletsGET List messenger wallets
/api/v2/messenger/wallets/registerPOST Register wallet (signed)
/api/v2/messenger/conversationsPOST Create conversation (signed)
/api/v2/messenger/conversations/listPOST List conversations (signed)
/api/v2/messenger/conversations/deletePOST Delete conversation (signed)
/api/v2/messenger/messagesPOST Send message (signed)
/api/v2/messenger/messages/listPOST List messages (signed)
/api/v2/messenger/messages/readPOST Mark as read (signed)
/api/v2/messenger/messages/deletePOST Delete message (signed)
Endpoint Method Description
/api/v2/names/registerPOST Register mail name (signed)
/api/v2/names/releasePOST Release a name (signed)
/api/names/resolve/:nameGET Resolve name → wallet
/api/names/reverse/:walletIdGET Reverse lookup → name
/api/v2/mail/sendPOST Send encrypted mail (signed)
/api/v2/mail/folderPOST Get inbox/sent/trash (signed)
/api/v2/mail/messagePOST Get single mail item (signed)
/api/v2/mail/readPOST Mark as read (signed)
/api/v2/mail/movePOST Move to folder (signed)
/api/v2/mail/deletePOST Delete permanently (signed)
Endpoint Method Description
/api/push/registerPOST Register push token (PQC-signed)
/api/push/unregisterPOST Unregister push token (PQC-signed)
Endpoint Method Description
/api/peersGET List known peers
/api/peers/registerPOST Register as peer
/api/blocks/importPOST Import block from peer
/api/tx/broadcastPOST Receive broadcasted tx
Some endpoints require an API key (if configured on the node):
curl -H "X-API-Key: your-api-key" https://testnet.rougechain.io/api/stats
Rate limiting is disabled by default (--rate-limit-per-minute 0). When enabled, the node supports tiered limits:
Tier 1 (Validators): Proven via X-Validator-Key header + signature
Tier 2 (Registered peers): Recognized by IP
Tier 3 (Public): Separate limits for read and write endpoints