Do I need crypto to start?
To serve for free, no. To charge, you need one wallet address on Base to receive USDC (any wallet will do), and about $5 of ETH on Base sent to the gas key your node prints. That ETH covers thousands of jobs.
Where does the money actually go?
90% of every settled job goes to ROOTMODE_PAYOUT as USDC on Base, 10% to the network's treasury. The node's own key only ever holds gas. If you don't set a payout, earnings accrue to that gas key on the volume — the log tells you the address on every start — so set one before it adds up.
What if a client doesn't pay?
They can't not pay. A client's funds are locked in the settlement contract before your GPU does anything, and your node checks that lock first. If the money isn't there, the job is refused before it runs.
How do clients find me?
Your node announces itself to the network on start, through bootstrap peers built into the worker. Clients see what you serve and your price, and choose. On the same LAN the desktop app finds you without any of that.
Can I price models differently?
Yes: ROOTMODE_VLLM_PRICES=model-a=0.40,model-b=0.10 overrides the flat price per model. Same for ComfyUI with ROOTMODE_COMFYUI_PRICES.
I'm behind NAT / on Docker Desktop.
Linux with host networking needs nothing. Otherwise set ROOTMODE_P2P_EXTERNAL to the address other peers should dial (/ip4/203.0.113.10/tcp/4101), or peers will find you and then fail to reach you.
How do I stop?
docker compose down. You're off the network instantly; there's no notice period and nothing to cancel. Just don't add -v.
What if I lose the volume?
Your peer id changes (clients that pinned you stop recognising the node), the gas key and its ETH are gone, and any bills not yet collected are lost. Back it up like you'd back up a wallet.