Welcome to the Nomadixa Developer API. Here you will find endpoints to interact with the blockchain, read network statistics, and connect external miners via the Node Gravity System.
Full nodes act as mini-pools for browser and external miners. When connecting to a node's WebSocket, miners earn a proportional share of the block reward (85%), while the Node Operator earns a 15% commission + 100% of transaction fees.
Connect to the WebSocket proxy to receive mining jobs and submit shares.
1. Login
// Send
{
"type": "login",
"userId": "anon_1234abcd",
"siteKey": "default"
}
// Receive
{
"type": "job",
"data": {
"jobId": "uuid...",
"blob": "hex_string",
"target": "hex_string",
"height": 123
}
}
2. Submit Share
// Send
{
"type": "submit",
"jobId": "uuid...",
"nonce": 1234567,
"hash": "hex_string"
}
// Receive
{
"type": "accepted",
"sharesInRound": 5,
"totalShares": 150,
"totalEarned": 1.25
}
To maximize your earnings, participate in consensus, and act as a mini-pool, you should run your own Full Node. Nomadixa nodes are built on Node.js and can run on any platform.
Clone the repository and run the node orchestrator using Node.js/TypeScript:
# 1. Clone and install dependencies git clone https://github.com/nomadixa/crypto.git cd crypto npm install # 2. Start the Full Node npx tsx packages/node/src/node.ts
By default, the node will start the P2P network on port 30303, REST API on 8545, and WS Proxy on 8546. It will also enable desktop mining automatically.
Nomadixa uses standard libp2p with Noise encryption, Yamux multiplexing, and GossipSub for message propagation. You can build custom node implementations in Rust, Go, or C++ by joining these GossipSub topics:
- "nmdx:blocks" : Broadcast and receive new solved blocks (JSON format). - "nmdx:txs" : Broadcast and receive new transactions to enter the mempool.
Get general network and node statistics.
{
"height": 1420,
"difficulty": 512,
"peers": 12,
"hashrate": 4500
}
Retrieve recent blocks from the blockchain.
[
{
"height": 1420,
"hash": "00aa519bf...",
"timestamp": 1724364000000,
"reward": 50,
"transactions": [...]
}
]
Submit a new transaction to the mempool.
// Body
{
"txId": "hex...",
"ringSignature": {...},
"recipient": "stealth_address",
"ephemeralKey": "hex...",
"commitment": {...},
"fee": 0.01,
"timestamp": 1724364000000
}