Docs

Run an Incord Node

Host a node to ingest, validate, and serve the world's real-time data, and earn for every fact you witness and every query you answer.

Overview

Incord is a decentralized network of independent nodes. Every node runs the same heartbeat, pulling market data, news, and events, embedding them, and writing them into a shared knowledge graph. Nodes then witnesseach other's facts (ed25519-signed) and reach BFT-style consensus before anything is trusted. Run one, and you help keep the network always-on, and get paid for it.

Requirements

  • 4 vCPU · 8 GB RAM · 100 GB SSD (NVMe recommended)
  • A stable public connection, peer mesh runs on port 9091
  • An ed25519 identity key (generated on first run)
  • USDC/USDT to bond (zapped to a CORD LP), plus a Base wallet for USDC payouts

Install a Node

Run with Docker (recommended) or the static binary:

# Docker
docker run -d --name incord-node \
  -p 9090:9090 -p 9091:9091 \
  -v ~/.incord:/data \
  incord/node:latest

# or the binary
curl -fsSL https://get.incord.ai | sh
incord node start --config brain-config.toml

Configure

A solo brain needs no extra config. To join the network and earn, add the [network] and [payouts] blocks to brain-config.toml:

[server]
bind = "0.0.0.0:9090"

[network]
listen_addr = "0.0.0.0:9091"        # peer mesh (ed25519 signed)
bootstrap   = ["mesh.incord.ai:9091"]

[payouts]
wallet = "0xYourBaseWallet"          # USDC on Base
bond   = 1000                        # USDC/USDT → zapped to CORD-LP

Staking

Staking is a refundable bond that keeps the network honest. You deposit USDC/USDT, which is auto-zapped into a CORD-LP(CORD + USDC/USDT, 50/50) and held as your node's admission bond. Being bonded is what lets a node join the mesh, witness facts, and earn.

  • Minimum bond: 1,000 USDC/USDT to activate a node
  • Your deposit is zapped to a CORD-LP token, held as the bond
  • Rewards scale with bond × uptime × validated work
  • No on-chain slashing, the bond is never seized, only income is docked off-chain for misbehavior
  • Unstake any time; the bond unlocks after a timelock and withdraw returns your LP

How Nodes Earn

Nodes earn from three streams, all recorded in an on-node query ledger and settled on-chain:

Per Query Served

A share of revenue for every /v1/context call your node answers.

Per Fact Witnessed

A reward for each fact you sign that reaches consensus.

Bond Yield

A base yield on your bonded LP for keeping the node online.

Rewards & Splits

Metered query revenue is split between the operators who do the work and the protocol:

75% · OPERATORS
15%
10%
  • 75%, node operators, split by stake-weighted contribution
  • 15%, witness & validation bonus pool
  • 10%, protocol treasury (R&D, bootstrap, security)

Payouts

Earnings accrue continuously in the ledger and are aggregated monthly. Operators are paid in USDC on Base, or in fiat via metered billing, no manual invoicing.

  • Monthly aggregation from the on-node query ledger
  • USDC on Base (low fees, fast settlement)
  • Fiat option via Stripe metered billing
  • Transparent, per-node earnings dashboard