Skip to main content
The Fuego node suite exposes two independent RPC servers that you interact with as a developer: the Daemon RPC for low-level blockchain and network operations, and the Wallet Service RPC (walletd) for all wallet and account management tasks. Both servers communicate over HTTP using JSON, and neither requires authentication when bound to localhost — you control access through bind address and flag configuration rather than API keys or tokens.

API Servers

Daemon RPC

HTTP and JSON-RPC server built into the fuegod daemon.Default base URL: http://127.0.0.1:18180Used for: node status, block queries, transaction submission, peer info, and mining templates.

Wallet Service RPC

JSON-RPC 2.0 server provided by walletd (PaymentGateService).Default base URL: http://127.0.0.1:8070Used for: address management, balance queries, sending transactions, deposits, and wallet state.

Request Format

The Daemon RPC serves two request styles:
  • Direct HTTP — plain GET or POST to named paths (e.g. /getinfo, /getheight).
  • JSON-RPC 2.0POST to /json_rpc with a standard JSON-RPC envelope.
The Wallet Service accepts only JSON-RPC 2.0 requests posted to /json_rpc. A JSON-RPC 2.0 request looks like this:
{
  "jsonrpc": "2.0",
  "method": "getblockcount",
  "params": {},
  "id": "1"
}
A successful response:
{
  "jsonrpc": "2.0",
  "id": "1",
  "result": {
    "count": 900000,
    "status": "OK"
  }
}
An error response:
{
  "jsonrpc": "2.0",
  "id": "1",
  "error": {
    "code": -32600,
    "message": "Invalid Request"
  }
}

Authentication and Security

By default, both servers bind to 127.0.0.1 and require no credentials. To expose them on a network interface, use --rpc-bind-ip on the daemon. Pass --restricted-rpc to disable mutating methods (mining start/stop, daemon shutdown) when exposing the daemon publicly.
# Expose daemon on all interfaces, restricted to read-only methods
fuegod --rpc-bind-ip=0.0.0.0 --restricted-rpc

Daemon JSON-RPC Methods (/json_rpc)

These methods are called via POST http://127.0.0.1:18180/json_rpc:
MethodDescription
getblockcountReturns the current blockchain height
getblockhashReturns the block hash at a given height
getblocktemplateReturns a block template for mining
getcurrencyidReturns the currency ID blob
submitblockSubmits a mined block blob
getlastblockheaderReturns the header of the most recent block
getblockheaderbyhashReturns a block header by its hash
getblockheaderbyheightReturns a block header by its height

Daemon HTTP Endpoints

These endpoints are called via GET or POST directly:
EndpointMethodDescription
/getinfoGETNode status, height, difficulty, peer counts
/getheightGETCurrent blockchain height
/getpeersGETConnected peer list
/getfeeaddressGETNode operator fee address
/gettransactionsPOSTFetch transactions by hash
/sendrawtransactionPOSTBroadcast a signed raw transaction
/json_rpcPOSTJSON-RPC 2.0 gateway for all JSON-RPC methods

Wallet Service JSON-RPC Methods (/json_rpc)

These methods are called via POST http://127.0.0.1:8070/json_rpc:
MethodDescription
getStatusWallet sync status and counts
createAddressGenerate a new address in the wallet
createAddressListBatch-import addresses from spend keys
getAddressesList all addresses in the wallet
deleteAddressRemove an address from the wallet
getBalanceAvailable and locked balances
getBlockHashesBlock hashes starting from an index
getTransactionHashesTransaction hashes grouped by block
getTransactionsFull transaction details grouped by block
getTransactionSingle transaction by hash
sendTransactionConstruct and broadcast a transaction
createDepositLock XFG for a time deposit
sendDepositCreate a deposit to an external address
withdrawDepositUnlock a matured deposit
getDepositQuery deposit details by ID
createIntegratedCombine address and payment ID
splitIntegratedDecode an integrated address
getViewKeyReturn the wallet view secret key
getSpendKeysReturn spend keys for an address
exportWalletExport wallet to a file
saveFlush wallet state to disk
resetRescan the blockchain from a given height

Quick Start Example

curl http://127.0.0.1:18180/getinfo
curl -s http://127.0.0.1:18180/json_rpc \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","method":"getblockcount","params":{},"id":"1"}'