Lightchain Worker Node Wizard
Last updated: May 25, 2026
Node Builder
Node in a Day
The only Lightchain worker node guide built by a real node operator โ€” every command tested, every gotcha documented.
โ€”
Registered Workers
โ€”
Active Nodes
โ€”
Jobs Completed
โ€”
LCAI Paid to Workers
๐Ÿ’ก
What this wizard doesEvery command is copy-paste ready. Every common mistake is called out before you hit it. An AI assistant answers your questions in plain English. Built from real experience running a node on Lightchain mainnet.
Before you start โ€” two questions
  • I have 50,001+ LCAI ready to stake (50,000 for stake + ~1 for gas) Don't have LCAI yet? Buy on a DEX or centralized exchange, then bridge to Lightchain Mainnet at bridge.lightchain.ai
  • I have a machine that can run 24/7 with at least 8GB GPU VRAM (see Step 1 for full specs) Laptops can work but desktops are better โ€” they don't sleep, overheat, or throttle as easily
  • ๐Ÿ”‹
    Get a UPSA power outage mid-job can trigger a slash penalty. An Uninterruptible Power Supply ($60-$150) protects your 50,000 LCAI stake from a simple power hiccup.
    ๐Ÿ“ฑ
    Have a phone hotspot readyIf your home internet goes down, your node goes offline. A phone hotspot keeps it connected during short outages โ€” the node's data usage is low enough to handle it.
    โฌ‡๏ธ Grab your Starter Kit before you begin

    The kit gives you 3 pre-filled files to work from as you go through this wizard. All the mainnet settings are already filled in โ€” you only need to add 3 personal values that you'll generate during setup.

    ๐Ÿ“„
    .env โ€” Your node configuration
    Pre-filled with all mainnet addresses, RPC URLs, and settings. Open it in a text editor and fill in the 3 blanks as you reach each step:
    • PRIVATE_KEY โ€” your worker wallet private key (Step 4)
    • ECDH_PRIVATE_KEY โ€” encryption key you generate (Step 8)
    • WORKER_ADDRESS โ€” your worker wallet address (Step 4)
    ๐Ÿš€
    run-worker.sh โ€” One-command node launcher
    Once your .env is filled in, run this script to start your node. It handles the full docker run command with all the right flags โ€” no manual typing.
    โœ…
    setup-check.sh โ€” Prerequisites checker
    Run this before Step 5 to verify Docker, NVIDIA toolkit, Ollama, Redis, and Foundry are all installed correctly. Catches problems before they stop you mid-setup.
    ๐Ÿ’ก How to use it: Download the zip now, unzip it into your home folder (~/), and open .env in a text editor. Keep it open alongside this wizard โ€” you'll paste in each key as you generate it. When all 3 are filled in, run bash run-worker.sh instead of the long docker command in Step 10.
    3 files in a .zip โ€” everything generates in your browser, nothing is sent to any server.
    Step 0 of 13
    Step 1
    Hardware Requirements
    Your machine needs enough GPU power to run AI inference jobs. The minimum is 8GB VRAM โ€” enough for llama3-8b, which is the primary model the network uses.
    ComponentMinimumRecommended
    CPU4 cores (x86_64)16+ cores (AMD/Intel)
    RAM16 GB DDR432โ€“64 GB DDR5 ๐Ÿ‹ Keiko runs 32GB
    Storage512 GB NVMe SSD2 TB NVMe Gen4
    GPU VRAM8 GB (llama3-8b)12โ€“24 GB ๐Ÿ‹ RTX 5070 12GB
    Internet100 Mbps up/down1 Gbps symmetric
    OSUbuntu 22.04+Ubuntu 22.04 or 26.04
    โš ๏ธ
    Laptops โ€” proceed with cautionLaptops sleep, throttle under sustained load, and overheat. If you use one, disable sleep mode and make sure it stays plugged in 24/7. A desktop is strongly preferred for a node meant to run continuously.
    ๐Ÿ’ก
    VRAM is the key numberThe GPU VRAM determines which models you can run. 8GB handles llama3-8b. 24GB+ opens up larger models when they get whitelisted. The top node on the network currently runs llama3-70b โ€” that requires 48GB+ VRAM or a GPU+CPU split (which is very slow).
    โšก Check Your Hardware Now

    Already on Ubuntu with NVIDIA drivers installed? Click below to automatically check if your machine meets the requirements โ€” no copy-paste needed.

    Requires the Node Builder server running at localhost:8185. Checks GPU VRAM, RAM, CPU cores, and disk space.
    Step 1 of 13
    Step 2
    Operating System
    Lightchain worker nodes are designed and tested on Ubuntu Linux. Ubuntu 22.04 LTS or newer is recommended.
    ๐Ÿง
    Ubuntu is the tested environmentThe official Docker image and all commands in this guide assume Ubuntu. Windows and macOS may work but are unsupported. If you're on Windows, you can run Ubuntu via WSL2 or dual-boot.
    Download Ubuntu
    Download the LTS version โ€” it's the most stable and gets long-term security updates.
    Verify your current OS version
    terminal
    lsb_release -a
    You should see "Ubuntu 22.04" or higher in the output.
    Step 2 of 13
    Step 3
    Prerequisites
    Install these four things before touching the worker image. Every step in this guide assumes they're in place.
    ๐Ÿ”
    Check your ISP first โ€” Cox blocks Lightchain RPCBefore setting up anything, verify your ISP doesn't block Lightchain. If you're on Cox or another blocking provider, you MUST run a VPN at all times or your node will appear offline to the network.
    Test RPC connectivity
    terminal
    curl -s -X POST -H 'Content-Type: application/json' \
      --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' \
      https://rpc.mainnet.lightchain.ai
    If you see a block number in the response, you're fine. If it times out or errors โ€” get a VPN before continuing. Mullvad VPN is recommended ($5/mo).
    1. Install NVIDIA Drivers + CUDA
    terminal
    sudo ubuntu-drivers autoinstall
    sudo reboot
    After reboot, verify:
    verify
    nvidia-smi
    You should see your GPU name, temperature, and VRAM.
    2. Install Docker
    terminal
    curl -fsSL https://get.docker.com | sh
    sudo usermod -aG docker $USER && newgrp docker
    Adding yourself to the docker group means you won't need sudo for docker commands.
    3. Install Foundry (cast tool)
    Foundry gives you the cast command โ€” used for generating keys, checking balances, and funding the worker wallet.
    terminal
    curl -L https://foundry.paradigm.xyz | bash
    foundryup
    4. Install Redis
    Redis is required by the worker. It must be running before the container starts.
    terminal
    sudo apt install redis-server -y
    sudo systemctl enable redis-server
    sudo systemctl start redis-server
    Verify: sudo systemctl status redis-server โ€” should show "active (running)"
    Step 3 of 13
    Step 4
    Generate a Worker Key
    Create a brand-new, dedicated wallet for your worker node. This is NOT your main wallet โ€” it's a hot wallet that lives inside Docker.
    ๐Ÿšจ
    NEVER reuse your main wallet as the worker keyThe worker private key sits inside a Docker container alongside its password. Use a fresh key that holds only the working capital (stake + small gas buffer). Keep your main LCAI holdings in a separate wallet.
    Generate a fresh worker key and export it
    terminal
    cast wallet new
    
    # Copy the output, then export both values:
    export WORKER_ADDR=0x...      # Address from output
    export WORKER_PRIVKEY=0x...   # Private key from output
    
    # Verify the key matches the address:
    cast wallet address --private-key "$WORKER_PRIVKEY"
    ๐Ÿ“‹
    Save these values somewhere safeWrite down WORKER_ADDR and WORKER_PRIVKEY before continuing. If you lose the private key, you lose access to your staked LCAI. Store it offline โ€” not in a cloud note or email.
    Step 4 of 13
    Step 5
    Resolve Contract Addresses
    Pull the AIConfig and JobRegistry addresses from the on-chain WorkerRegistry. These get used in every Docker command that follows.
    Set RPC and resolve addresses
    terminal
    export RPC_URL=https://rpc.mainnet.lightchain.ai
    export WORKER_REGISTRY_ADDRESS=0x0000000000000000000000000000000000001002
    
    export AI_CONFIG_ADDRESS=$(cast call $WORKER_REGISTRY_ADDRESS \
      "aiConfig()(address)" --rpc-url $RPC_URL)
    
    export JOB_REGISTRY_ADDRESS=$(cast call $WORKER_REGISTRY_ADDRESS \
      "jobRegistry()(address)" --rpc-url $RPC_URL)
    
    echo "AI_CONFIG_ADDRESS=$AI_CONFIG_ADDRESS"
    echo "JOB_REGISTRY_ADDRESS=$JOB_REGISTRY_ADDRESS"
    ๐Ÿ’ก
    Known mainnet addresses (for reference)AIConfig proxy: 0x24D11533C354092ed6E18b964257819cE78Ce77D
    JobRegistry proxy: 0xfB15F90298e4CcD7106E76fFB5e520315cC42B0b
    These can change after upgrades โ€” always resolve live as shown above.
    Step 5 of 13
    Step 6
    Install Ollama & Pull Models
    Ollama runs on your machine (not inside Docker) and serves AI inference. The worker container calls Ollama to process jobs.
    Install Ollama and pull llama3-8b
    terminal
    curl -fsSL https://ollama.com/install.sh | sh
    ollama serve &
    ollama pull llama3:8b
    ollama cp llama3:8b llama3-8b
    ๐Ÿšจ
    The bare alias step is critical โ€” don't skip itThe last line (ollama cp llama3:8b llama3-8b) creates an alias with a dash instead of a colon. The worker looks for llama3-8b (dash) not llama3:8b (colon). Without this alias, the worker can't serve jobs even though the model is downloaded.
    โš™๏ธ
    SUPPORTED_MODELS uses a dash, not a colonWhen you see SUPPORTED_MODELS=llama3-8b in the Docker command โ€” the dash is correct. Using a colon (llama3:8b) will silently break the model registration. This is one of the most common mistakes new operators make.
    Optional: Add more models
    These models are whitelisted on mainnet. More models = potentially more job types routed to your node.
    terminal โ€” optional
    ollama pull llama3.1:8b
    ollama cp llama3.1:8b llama3.1-8b
    
    ollama pull gemma2:9b
    ollama cp gemma2:9b gemma2-9b
    Verify Ollama is working
    verify
    curl -s http://127.0.0.1:11434/api/tags | python3 -m json.tool
    You should see your models listed in the JSON response. If you get an error, make sure ollama serve is running.
    Step 6 of 13
    Step 7
    Pull the Worker Docker Image
    Download the official Lightchain worker image. This is the software that connects your machine to the network and processes inference jobs.
    Pull the latest worker image
    terminal
    docker pull us-central1-docker.pkg.dev/lightchain/lightchain-mainnet-public-docker/worker:latest
    This takes a few minutes. Once done, your image is ready for the keystore and registration steps.
    ๐Ÿ’ก
    To update laterRun the same pull command โ€” Docker replaces the old image with the latest automatically. Check the Lightchain Discord for announcements about new worker versions.
    Step 7 of 13
    Step 8
    Import Key & Generate ECDH
    Encrypt your worker private key into a keystore the container can mount, then generate the ECDH encryption key used for on-chain job encryption.
    Create keystore directory and import worker key
    Replace <YOUR_PASSWORD> with a strong password you'll remember โ€” you'll need it every time the container starts.
    terminal
    mkdir -p ~/lightchain-worker/keys
    
    docker run --rm \
      -v ~/lightchain-worker/keys:/data \
      --entrypoint /bin/lightchain-worker \
      us-central1-docker.pkg.dev/lightchain/lightchain-mainnet-public-docker/worker:latest \
      import-key \
      --private-key "$WORKER_PRIVKEY" \
      --password <YOUR_PASSWORD> \
      --output /data/eth-keystore
    The printed address must match your $WORKER_ADDR. If they differ, stop โ€” wrong key was imported.
    Generate ECDH encryption key
    terminal
    docker run --rm \
      -v ~/lightchain-worker/keys:/data \
      -e WORKER_KEYSTORE_PATH=/data/eth-keystore/$(ls ~/lightchain-worker/keys/eth-keystore/ | head -1) \
      -e WORKER_KEYSTORE_PASSWORD=<YOUR_PASSWORD> \
      -e ENCRYPTION_KEYSTORE_PATH=/data/worker-encryption.key \
      -e RPC_URL=https://rpc.mainnet.lightchain.ai \
      -e CHAIN_ID=9200 \
      -e WORKER_REGISTRY_ADDRESS=0x0000000000000000000000000000000000001002 \
      -e AI_CONFIG_ADDRESS=$AI_CONFIG_ADDRESS \
      -e SUPPORTED_MODELS=llama3-8b \
      --entrypoint /bin/lightchain-worker \
      us-central1-docker.pkg.dev/lightchain/lightchain-mainnet-public-docker/worker:latest \
      keygen
    Step 8 of 13
    Step 9
    Fund the Worker Wallet
    Send LCAI from your main wallet (funder) to the worker address. You need 50,000 for the stake plus a small buffer for gas.
    ๐Ÿ’ก
    Send 50,005 LCAI50,000 for the stake + ~5 for gas over the node's lifetime. The extra few LCAI gives a comfortable buffer for registration and job transactions.
    Send LCAI from your funder wallet
    Replace <FUNDER_PRIVKEY> with your main wallet's private key.
    terminal
    export FUNDER_PRIVKEY=0x...
    
    cast send "$WORKER_ADDR" \
      --value 50005ether \
      --rpc-url "$RPC_URL" \
      --private-key "$FUNDER_PRIVKEY"
    
    # Verify the worker received the funds:
    cast balance "$WORKER_ADDR" --rpc-url "$RPC_URL" \
      | awk '{printf "%.4f LCAI\n", $1/1e18}'
    โš ๏ธ
    Rewards land in the worker wallet, not your main walletJob earnings are credited to $WORKER_ADDR. They don't auto-forward anywhere. You'll need to manually sweep earnings to your main wallet periodically. Your stake (50,000 LCAI) stays locked until you deregister.
    Step 9 of 13
    Step 10
    Register On-Chain
    Submit the registration transaction. This stakes your 50,000 LCAI, registers your ECDH public key, and adds your supported models to the network.
    ๐Ÿšจ
    Once registered, do NOT deregister to escape problemsDeregistering triggers a ~7,500 LCAI slash penalty if you have pending jobs. If you run into issues after registering, troubleshoot first โ€” do not deregister. Ask for help in Discord or use the AI assistant in this wizard.
    Register the worker
    terminal
    docker run --rm \
      -v ~/lightchain-worker/keys:/data \
      -e WORKER_KEYSTORE_PATH=/data/eth-keystore/$(ls ~/lightchain-worker/keys/eth-keystore/ | head -1) \
      -e WORKER_KEYSTORE_PASSWORD=<YOUR_PASSWORD> \
      -e ENCRYPTION_KEYSTORE_PATH=/data/worker-encryption.key \
      -e RPC_URL=https://rpc.mainnet.lightchain.ai \
      -e CHAIN_ID=9200 \
      -e WORKER_REGISTRY_ADDRESS=0x0000000000000000000000000000000000001002 \
      -e AI_CONFIG_ADDRESS=$AI_CONFIG_ADDRESS \
      -e SUPPORTED_MODELS=llama3-8b \
      --entrypoint /bin/lightchain-worker \
      us-central1-docker.pkg.dev/lightchain/lightchain-mainnet-public-docker/worker:latest \
      register
    โœ…
    Verify your registration on the explorerAfter registering, check your node at:
    workers.lightchain.ai โ€” search for your worker address. You should see it listed with status "Online" within a few minutes of starting the container in the next step.
    Step 10 of 13
    Step 11
    Run the Worker
    Start the long-running container. This connects your node to the worker gateway and begins receiving jobs.
    Launch the worker container
    terminal
    docker run -d \
      --restart always \
      --user root \
      --name lightchain-worker \
      --add-host=host.docker.internal:host-gateway \
      -v ~/lightchain-worker/keys:/data \
      -e WORKER_KEYSTORE_PATH=/data/eth-keystore/$(ls ~/lightchain-worker/keys/eth-keystore/ | head -1) \
      -e WORKER_KEYSTORE_PASSWORD=<YOUR_PASSWORD> \
      -e ENCRYPTION_KEYSTORE_PATH=/data/worker-encryption.key \
      -e RPC_URL=https://rpc.mainnet.lightchain.ai \
      -e CHAIN_ID=9200 \
      -e WORKER_REGISTRY_ADDRESS=0x0000000000000000000000000000000000001002 \
      -e AI_CONFIG_ADDRESS=$AI_CONFIG_ADDRESS \
      -e JOB_REGISTRY_ADDRESS=$JOB_REGISTRY_ADDRESS \
      -e SUPPORTED_MODELS=llama3-8b \
      -e OLLAMA_URL=http://host.docker.internal:11434 \
      -e BEACON_API_URL=https://beacon.mainnet.lightchain.ai \
      -e BLOB_MODE=beacon \
      -e SESSION_KEY_FILE=/data/session-keys.enc \
      -e WORKER_GATEWAY_URL=https://worker-gateway.mainnet.lightchain.ai \
      us-central1-docker.pkg.dev/lightchain/lightchain-mainnet-public-docker/worker:latest
    Watch the logs โ€” look for these 6 lines
    terminal
    docker logs lightchain-worker --tail 30
    โœ…
    These 6 lines = you're fully online worker registration validated โ€” on-chain key matches local key blob mode: eip-4844 (beacon) authenticated with worker-gateway worker service initialized (gateway mode) worker sidecar running (gateway mode) websocket connected to gateway
    What's normal in the logs โ€” don't panic about these
  • โœ“
    WebSocket disconnected + reconnected every ~1 hourNormal auth token refresh. Reconnects within 1-2 seconds automatically.
  • โœ“
    worker_ollama_up=0Cosmetic display issue confirmed by the Lightchain team. Your node is still serving jobs.
  • โœ“
    Ollama WARN messages on startupCosmetic. Not an error.
  • โœ“
    reconciler: pass complete โ€” every hourNormal chain sync. Healthy sign.
  • โœ“
    scheduler: batch release succeededJob payouts were processed. This is a good sign โ€” money moving.
  • Step 11 of 13
    Ongoing
    Health Checks
    Run all 10 checks at once with one click, or run them manually one by one below.
    โšก Live Health Check Requires local server running

    Runs all 10 checks on your machine instantly โ€” no copy-paste needed. Requires the Node Builder server to be running at localhost:8185.

    Check 1 โ€” Docker
    Is the container running?
    terminal
    docker ps --filter name=lightchain-worker
    Expected: STATUS = "Up X hours/days"
    Check 2 โ€” Logs
    Recent worker activity
    terminal
    docker logs lightchain-worker --tail 50
    Expected: Regular reconciler + auth lines, no ERROR panics
    Check 3 โ€” Redis
    Is Redis running?
    terminal
    sudo systemctl status redis-server --no-pager
    Expected: Active (running)
    Check 4 โ€” Ollama models
    Are models installed?
    terminal
    ollama list
    Expected: llama3-8b visible in list
    Check 5 โ€” Ollama live
    Is Ollama actually responding?
    terminal
    curl -s http://127.0.0.1:11434/api/tags | python3 -m json.tool
    Expected: JSON with models list โ€” if error, Ollama is down
    Check 6 โ€” VPN
    Is Mullvad connected?
    terminal
    mullvad status
    Expected: Connected (required if your ISP blocks Lightchain)
    Check 7 โ€” GPU
    GPU health and VRAM
    terminal
    nvidia-smi
    Expected: Temp under 80ยฐC, Ollama process visible using VRAM
    Check 8 โ€” Disk space
    Is disk getting full?
    terminal
    df -h ~
    Expected: At least 20GB free โ€” models + Docker images are large
    Check 9 โ€” Container resources
    CPU and memory usage
    terminal
    docker stats lightchain-worker --no-stream
    Expected: Low CPU (the heavy lifting is Ollama), low memory
    Check 10 โ€” On-chain status
    Live jobs, earnings, offenses
    terminal โ€” replace address
    curl -s -X POST -H 'content-type: application/json' \
      --data '{"query":"{ workers(where:{id:\"0xYOUR_WORKER_ADDRESS\"}){ id status active_job_count jobs_completed total_earned offense_count stake } }"}' \
      https://workers-api.mainnet.lightchain.ai/graphql | python3 -m json.tool
    Expected: status: active, offense_count: 0, stake: 50000000...
    Step 12 of 13
    Reference
    Resources & Links
    Everything you need bookmarked in one place.
    โฌ‡๏ธ Node Template Kit

    Download pre-filled config files. All mainnet settings are already correct โ€” just fill in your 3 personal values and run the script. No copy-paste errors, no guessing.

    ๐Ÿ“„ .env.template โ€” All configs pre-filled, 3 blanks for your keys
    ๐Ÿš€ run-worker.sh โ€” One script to launch your node
    โœ… setup-check.sh โ€” Prerequisite checker before you start
    3 files โ€” generates as a .zip in your browser. Nothing is sent to any server.
    Contract Addresses โ€” Mainnet
    WorkerRegistry (predeploy) 0x0000000000000000000000000000000000001002
    FeePool (predeploy) 0x0000000000000000000000000000000000001004
    AIConfig (proxy) 0x24D11533C354092ed6E18b964257819cE78Ce77D
    JobRegistry (proxy) 0xfB15F90298e4CcD7106E76fFB5e520315cC42B0b
    RPC https://rpc.mainnet.lightchain.ai
    Chain ID 9200
    ๐ŸŽ‰
    You're done!If your node is online, showing on the worker explorer, and you've run the health checks โ€” you're a Lightchain node operator. Welcome to a very small club. Questions? Use the AI assistant button below.
    Reference
    Beginner's FAQ
    New to this? Every question you're afraid to ask โ€” answered in plain English.
    ๐Ÿค” What even is a Lightchain worker node?

    Think of it as renting out your gaming PC's GPU to process AI requests. When someone uses an AI app built on Lightchain, their request gets routed to a worker node like yours. You provide the computing power, they pay in LCAI, you keep the earnings. Your computer does the work, you get paid while you sleep.

    ๐Ÿ’ฐ Do I really need 50,001 LCAI just to start?

    Yes โ€” that's your stake, which is a security deposit that proves you're a serious operator. You get it back when you stop running the node. The 1 extra LCAI (above 50,000) is just to satisfy the minimum. You keep ownership of it the whole time; it's just locked while you're registered.

    ๐Ÿ’ป What kind of computer do I need?

    A gaming PC with an NVIDIA GPU (RTX 3080 or better), at least 32GB of RAM, and 100GB+ of free storage. MacBooks don't work. AMD graphics cards don't work. Most modern gaming desktops qualify โ€” if you bought it for gaming in the last 3-4 years, there's a good chance it'll work. The GPU does the AI processing, so that's the most important part.

    ๐ŸชŸ Can I use Windows?

    The official setup requires Ubuntu Linux. You can install Ubuntu as your main OS, or set up dual-boot to run Ubuntu alongside Windows (you choose at startup). Running inside a virtual machine (like VirtualBox) is NOT recommended โ€” it can't properly access your GPU. Ubuntu is free to download and install, and it's what Step 2 of this wizard covers.

    ๐Ÿณ What is Docker?

    Docker is a tool that runs software in an isolated container โ€” like a locked box that keeps the node software separate from the rest of your computer. You don't need to understand how it works. You just install it, and the wizard handles the rest. Think of it as a safe sandbox where the node lives.

    ๐Ÿฆ™ What is Ollama?

    Ollama is the software that runs the AI model (llama3) on your computer. When a job comes in from the network, Ollama processes it using your GPU. Think of it as a mini ChatGPT running locally on your machine. You install it, pull the model, and your node uses it to answer AI requests and earn LCAI.

    ๐Ÿ”‘ What is a private key and why is it so important?

    A private key is the password to a crypto wallet โ€” except it can never be changed or recovered if lost. Anyone who has it controls that wallet completely. The wizard has you generate a separate worker wallet just for the node โ€” different from your main wallet. That way, even in the worst case, your main LCAI balance is untouchable. Write your worker private key down on paper and store it somewhere safe. Never share it. Never put it in an email or chat.

    ๐Ÿฆ What is staking?

    Staking means depositing LCAI as a security deposit when you register your node. This 50,001 LCAI stays locked in the contract while your node is active. You're not spending it โ€” it's still yours. You get it back when you officially stop running the node (deregister). The stake exists so operators have skin in the game and behave reliably.

    โš ๏ธ What is slashing? Can I lose my money?

    Slashing means losing part of your stake as a penalty โ€” approximately 7,500 LCAI. This happens if you deregister your node while it still has pending jobs. The fix is simple: never deregister suddenly. If something goes wrong, restart the Docker container first. Only deregister when you're sure there are no pending jobs. The slash is rare and entirely avoidable with careful operation.

    โฐ Do I need to keep my computer on 24/7?

    Ideally yes โ€” your node only earns when it's online and available. Downtime means missed jobs. Two things help: a UPS (uninterruptible power supply, about $60-150) protects you during power outages, and a phone hotspot gives you backup internet if your ISP goes down. Your node can come back online after being off without losing your stake โ€” you just don't earn while it's offline.

    ๐Ÿ’ต How much can I earn?

    Each completed job pays approximately 0.016 LCAI to your node. How many jobs you get depends on your stake (more stake = higher routing priority), network traffic, and uptime. The network is still young โ€” there are only about 13 community nodes right now. Job volume will increase as more dApps launch on Lightchain. Right now is early-adopter territory: low competition, high future upside.

    ๐Ÿ”’ Is it safe? Will this expose my computer to hackers?

    The node runs inside Docker (isolated) and only talks to official Lightchain endpoints โ€” it doesn't open any ports to the internet on its own. Your worker private key is used only for signing transactions, not for accessing your main wallet. Using a VPN as recommended adds another layer. Keep your Ubuntu system updated, don't run random scripts from strangers, and you're fine.

    ๐Ÿ” What if I get scary-looking errors in the logs?

    Most things that look like errors are actually normal. "WebSocket EOF" every hour is the auth token refreshing โ€” completely expected. "worker_ollama_up=0" is cosmetic and doesn't affect jobs. "batch release succeeded" is actually great news (payouts processing). If you're not sure, paste the log line into the AI assistant and ask โ€” it knows the difference between real errors and normal noise.

    ๐Ÿ‘› What's the difference between the worker wallet and my main wallet?

    You use two completely separate wallets. Your funder wallet (your main wallet) holds your LCAI and sends the 50,001 stake to get the node registered. Your worker wallet is a brand new wallet you generate just for the node โ€” it only needs a small amount of LCAI for gas fees. This way your main funds are never at risk even if something goes wrong with the node config.

    ๐ŸŒ What is a VPN and why might I need one?

    A VPN routes your internet traffic through a different server, which bypasses blocks your internet provider might have in place. Some ISPs (Cox is a known one) block the connections your node needs to reach the Lightchain network. If your setup commands keep timing out or failing to connect, try Mullvad VPN first โ€” connect it before starting your node. Not everyone needs it, but it's worth having ready.

    ๐ŸŽฎ What is VRAM and how do I know if I have enough?

    VRAM is your GPU's dedicated memory โ€” separate from your regular RAM. The AI model (llama3) needs about 5GB of it to run. To check how much you have, open a terminal and type: nvidia-smi. Look for the memory line (e.g. "8192 MiB"). If you have 8GB or more, you're fine. If you have other GPU-heavy apps running (like image generation software), you may need to close them to free up VRAM.

    ๐Ÿ’ฌ
    Still have questions? Hit the "Ask the Wizard" button at the bottom right. The AI assistant is powered by the same Lightchain network you're setting up โ€” ask anything, no question is too basic.
    Support
    Troubleshooting
    Already running a node and something's wrong? Find your symptom below.
    โšก After reboot / power loss ๐Ÿšซ Zero jobs ๐Ÿ’ฅ Container crashing โฑ Jobs timing out ๐Ÿ”Œ WebSocket issues โš ๏ธ Slash / stake ๐Ÿšจ Emergency restart ๐Ÿ”ด Status stuck as "deregistered" โ›” gemma4:e2b fails to register
    โšก After reboot or power loss โ€” node not coming back

    This is the #1 issue for running operators. The container may restart, but if Ollama isn't running or VPN isn't connected, jobs silently stop. Here's the one-time fix that makes your node bulletproof after any reboot:

    1
    Make Docker start on boot
    terminal
    sudo systemctl enable docker
    2
    Make Ollama start on boot
    terminal
    sudo systemctl enable ollama
    3
    Set worker container to auto-restart
    terminal
    docker update --restart unless-stopped lcai-worker
    4
    Set Mullvad VPN to auto-connect on startup
    terminal
    mullvad auto-connect set on
    mullvad connect
    โœ“
    After these four steps, your node will survive any power outage or reboot automatically โ€” Docker starts, Ollama starts, VPN connects, container restarts. No manual intervention needed.
    ๐Ÿšซ All looks good but zero jobs coming in

    This is the most frustrating scenario โ€” logs look healthy, container is up, but no jobs. Work through this checklist in order:

    โ‘  Is websocket connected?

    Jobs can only come in if the WebSocket is active. Check logs:

    terminal
    docker logs lcai-worker --tail 30 2>&1 | grep -i websocket

    You need to see: websocket connected to gateway
    If absent or showing errors โ†’ restart the container and check VPN.

    โ‘ก Is your VPN connected?
    terminal
    mullvad status

    Must show "Connected". If disconnected: mullvad connect
    If you're on Cox or another blocking ISP and VPN is off, your node can't reach the gateway.

    โ‘ข Is the bare alias still there?
    terminal
    ollama list | grep llama3-8b

    You need a model named exactly llama3-8b (dash, not colon). If missing after an Ollama update, recreate it: ollama cp llama3:8b llama3-8b

    โ‘ฃ Are you visible on the worker explorer?

    Check workers.lightchain.ai and search your worker address. If your node shows as "offline" or "suspended", that's the real problem โ€” not a config issue.

    โ‘ค Is your stake high enough?

    Routing priority is proportional to your stake. If you're registered with the minimum (50,001 LCAI) and there are nodes with larger stakes, you may simply be getting fewer jobs. This is expected โ€” staking more increases your share. This isn't a bug, it's the system working as designed.

    โ‘ฅ Check network job volume

    Query the subgraph to see recent network job activity:

    terminal
    curl -s -X POST https://workers-api.mainnet.lightchain.ai/graphql \
      -H "Content-Type: application/json" \
      -d '{"query":"{ jobs(first:5,orderBy:submittedAt,orderDirection:desc) { id state submittedAt } }"}' | python3 -m json.tool

    If total recent jobs is very low, the network is quiet โ€” nothing is wrong with your node.

    ๐Ÿ’ฅ Container keeps restarting or crashing

    First, read the logs to find the real error:

    terminal
    docker logs lcai-worker --tail 100 2>&1
    Error: invalid private key / cannot decrypt keystore

    Your PRIVATE_KEY or ENCRYPTION_KEYSTORE_PATH env variable is wrong or the file path doesn't exist inside the container. Verify the key format (must start with 0x) and that any mounted paths are correct.

    Error: connection refused / dial tcp failed

    The container can't reach the Lightchain RPC. Check VPN status (mullvad status) and that Ollama is running (curl http://localhost:11434/api/tags).

    Container exits immediately with no error

    Try running without -d (detached) to see output in real-time: docker run --rm [all your flags] lightchain/lcai-worker:latest

    OOM / out of memory

    Check GPU VRAM: nvidia-smi. If another app (ComfyUI, Stable Diffusion, etc.) is using VRAM, close it. The model needs ~5GB free.

    โฑ Jobs coming in but timing out or failing
    Check if Ollama is actually processing
    terminal
    nvidia-smi

    When a job is processing, GPU utilization should spike. If it stays at 0% during a job, Ollama isn't getting the request.

    VRAM conflict with other apps

    If you run image generation (ComfyUI, A1111) alongside your node, they compete for VRAM. Check total VRAM usage in nvidia-smi. Ollama needs ~5GB free to process jobs without swapping.

    Test Ollama directly
    terminal
    curl http://localhost:11434/api/generate \
      -d '{"model":"llama3-8b","prompt":"say hello","stream":false}'

    Should return a response within 30 seconds. If it hangs or errors, Ollama itself is the problem.

    ๐Ÿ”Œ WebSocket keeps disconnecting
    โœ“
    Once per hour is NORMAL โ€” the auth token refreshes every ~60 minutes. You'll see "WebSocket EOF" or "websocket reconnecting" in logs. This is expected and doesn't affect job processing.

    If it's disconnecting more frequently (every few minutes):

    Try a different VPN server

    Your Mullvad VPN server might be overloaded or having issues. Switch to a different server โ€” US or EU servers generally work well.

    terminal
    mullvad relay set location us    # try US servers
    mullvad reconnect
    Check network stability

    Frequent disconnects can mean unstable internet. A phone hotspot as backup internet can help. The container auto-reconnects โ€” but if your ISP connection is flapping, jobs during that window are missed.

    โš ๏ธ I think I got slashed โ€” what do I do?

    First, check your actual stake โ€” you may not have been slashed yet:

    terminal
    curl -s -X POST https://workers-api.mainnet.lightchain.ai/graphql \
      -H "Content-Type: application/json" \
      -d '{"query":"{ workers(where:{id:\"YOUR_WORKER_ADDRESS\"}) { stake offenseCount suspendedUntil } }"}' | python3 -m json.tool
    offenseCount > 0 but stake unchanged

    You received a warning/offense but haven't been slashed yet. Your node may be temporarily suspended. Wait for the suspendedUntil timestamp to pass, then resume operations normally.

    Stake is less than 50,001 LCAI

    You were slashed. The penalty is approximately 7,500 LCAI. Your node may still be registered and operational if stake is above the minimum. Top up your stake if needed, and do not deregister until all pending jobs are clear.

    How to avoid future slashes

    Never deregister suddenly. Set up the auto-restart procedure (first section above) so your node survives power loss. If you need to stop the node, restart the Docker container first instead of deregistering.

    ๐Ÿšจ Emergency Restart โ€” Run Everything in Order

    Something's wrong and you need to restart everything cleanly. Run these commands in order:

    1
    Connect VPN first
    terminal
    mullvad connect && mullvad status
    2
    Start Ollama and verify model
    terminal
    sudo systemctl start ollama
    sleep 5
    curl http://localhost:11434/api/tags | python3 -m json.tool
    3
    Recreate bare alias if needed
    terminal
    ollama cp llama3:8b llama3-8b
    4
    Restart worker container
    terminal
    docker restart lcai-worker 2>/dev/null || docker restart lightchain-worker 2>/dev/null
    5
    Watch startup logs โ€” look for all 6 healthy lines
    terminal
    docker logs -f lcai-worker 2>/dev/null || docker logs -f lightchain-worker 2>/dev/null
    โœ“
    All 6 lines = you're good: worker registration validated โ†’ blob mode: eip-4844 โ†’ authenticated with worker-gateway โ†’ worker service initialized โ†’ worker sidecar running โ†’ websocket connected to gateway
    ๐Ÿ”ด Status shows "deregistered" after re-registration โ€” known network bug
    โš ๏ธ
    This is a confirmed Lightchain indexer bug โ€” not your fault. If you deregistered and then re-registered, the workers-api may show your status as "deregistered" indefinitely even though you are fully registered on-chain.

    The bug: the indexer watches WorkerRegistry events but doesn't reset is_registered to true when a new WorkerJoined event follows an earlier ExitFinalized. So the API is wrong โ€” your on-chain state is correct.

    How to confirm you are actually registered

    Check workers.lightchain.ai and search your worker address. The explorer reads on-chain state directly โ€” if it shows you as active with your stake intact, you are registered. Ignore the API status.

    What to do

    Nothing โ€” your node is fine. Report the discrepancy in the Lightchain Discord so the team can fix the indexer. Do NOT deregister and re-register again trying to fix the display โ€” that risks another slash.

    โ›” gemma4:e2b โ€” do not try to register this model
    โš ๏ธ
    Known bug: gemma4:e2b is listed as whitelisted and enabled in the model registry, but AddSupportedModel reverts with no error message when you try to register it. The contract is broken for this model. llama3-8b works correctly.
    What happens if you try it

    The worker binary registers the node, then tries to add gemma4:e2b as a supported model, gets a revert, and rolls back via DeregisterWorker. This triggers an endless loop of register โ†’ deregister โ†’ register. This also triggers Bug #1 above (status stuck as deregistered). Do not attempt to use this model until the team fixes the contract.

    What to do instead

    Use llama3-8b only. It is confirmed working and is the standard model for Lightchain worker nodes. Remove any reference to gemma4:e2b from your SUPPORTED_MODELS environment variable.

    ๐Ÿ’ฌ
    Still stuck? Hit "Ask the Wizard" and describe what you're seeing. Paste your log output using the ๐Ÿ“‹ button โ€” the AI can read it and tell you exactly what's wrong.
    โคก
    ๐Ÿฌ
    Node Builder AI
    Ask anything about node setup
    Hey! I'm the Node Builder AI assistant, powered by Lightchain AIVM โ€” the same network you're setting up. Ask me anything: commands, errors, what's normal in logs, what the gotchas are. I've been trained on real operator experience running a node on Lightchain mainnet.
    ๐Ÿ“‹ Terms & Disclaimer
    ๐Ÿฌ More Apps from the Orca Pod
    OrcaMail ๐Ÿ“ง OrcaLearn ๐Ÿ“– OrcaFiles ๐Ÿ“ OrcaGuard ๐Ÿ›ก๏ธ OrcaMint ๐ŸŽจ Contract Explainer ๐Ÿ” OrcaAppBuilder ๐Ÿ› ๏ธ