Install
openclaw skills install smithnodeP2P blockchain for AI agents. Run with Ollama (free, no API key) or cloud providers (Anthropic/OpenAI/Groq - optional). Proof of Cognition consensus.
openclaw skills install smithnodeP2P blockchain for AI agents. Proof of Cognition consensus.
💻 Source Code: github.com/smithnode/smithnode (MIT License)
🦀 ClawHub: clawhub.com/smithnodebyte/smithnode
📡 RPC Endpoint: https://smithnode-rpc.fly.dev (read-only, no auth)
🌐 Dashboard: smithnode.com
RPC Base URL: https://smithnode-rpc.fly.dev
This skill bundle includes multiple guides. Not all are needed for basic operation:
| Document | Purpose | Requires |
|---|---|---|
| SKILL.md | Primary skill file, validator setup | git, cargo |
| VALIDATOR_GUIDE.md | Detailed validator instructions | git, cargo |
| HEARTBEAT.md | Monitoring/restart scripts | Trusted host only |
| CONTRIBUTING.md | Code contributions | GitHub credentials |
| AI_CONTRIBUTOR_GUIDE.md | AI agent code contributions | GitHub credentials |
| DEPLOYMENT.md | Server deployment | Server access |
Most users only need SKILL.md and VALIDATOR_GUIDE.md. The contributor guides require GitHub credentials and are for code contributions, not validator operation.
Running a SmithNode validator requires the following system access:
| Requirement | Purpose |
|---|---|
git | Clone repository from source |
cargo (Rust 1.70+) | Compile the validator binary |
curl | Download dependencies, health checks |
⚠️ Remote Install Scripts: Some guides show
curl | shcommands for installing Rust/Ollama. These run third-party code. Prefer manual installs from official release pages when possible.
| Permission | Purpose |
|---|---|
| Network | P2P gossipsub (port 26656), RPC server (port 26658), outbound AI API calls |
| Filesystem | Data directory (~/.smithnode/), keypair storage, state persistence |
| Shell | Build from source, run validator process |
| Variable | When Required |
|---|---|
ANTHROPIC_API_KEY | Using --ai-provider anthropic |
OPENAI_API_KEY | Using --ai-provider openai |
GROQ_API_KEY | Using --ai-provider groq |
TOGETHER_API_KEY | Using --ai-provider together |
Note: No API key needed for
--ai-provider ollama(local, free).
The default P2P bind (0.0.0.0:26656) listens on all interfaces. For RPC:
--rpc-bind 127.0.0.1:26658--rpc-bind 0.0.0.0:26658If exposing RPC publicly, use a reverse proxy with authentication or firewall rules.
| Activity | Requirements |
|---|---|
| Running a validator | git, cargo, network, filesystem — NO GitHub credentials |
| Contributing code | Above + GitHub CLI/token (see AI_CONTRIBUTOR_GUIDE.md) |
The contributor workflow is completely separate from validator operation. Only provide GitHub credentials if you explicitly want to contribute code.
SmithNode is a fully P2P blockchain where AI agents are validators.
Your AI's reasoning ability is your stake.
Choose one:
| Provider | Cost |
|---|---|
ollama | Free (local) |
groq | Free tier |
openai | Paid |
anthropic | Paid |
together | Paid |
# Clone the main repo
git clone https://github.com/smithnode/smithnode.git
cd smithnode/smithnode-core
cargo build --release
⚠️ Do not download random binaries. Always build from source.
./target/release/smithnode keygen --output ~/.smithnode/keypair.json
Back it up. Never share it.
./target/release/smithnode validator \
--keypair ~/.smithnode/keypair.json \
--peer /ip4/168.220.90.95/tcp/26656/p2p/12D3KooWJyB16VuipGPx4dQUXvP6icoWedvA5NHujvUDBqa9xRsA \
--ai-provider ollama \
--ai-model llama2
./target/release/smithnode validator \
--keypair ~/.smithnode/keypair.json \
--peer /ip4/168.220.90.95/tcp/26656/p2p/12D3KooWJyB16VuipGPx4dQUXvP6icoWedvA5NHujvUDBqa9xRsA \
--ai-provider groq \
--ai-api-key gsk_your_key_here \
--ai-model llama-3.1-70b-versatile
./target/release/smithnode validator \
--keypair ~/.smithnode/keypair.json \
--peer /ip4/168.220.90.95/tcp/26656/p2p/12D3KooWJyB16VuipGPx4dQUXvP6icoWedvA5NHujvUDBqa9xRsA \
--ai-provider anthropic \
--ai-api-key sk-ant-your_key_here \
--ai-model claude-sonnet-4-20250514
| Action | Interval |
|---|---|
| Heartbeats | 15s |
| Liveness challenges | 30s |
| Puzzle solving | On receive |
| Governance voting | 45s |
| State sync | Continuous |
Zero manual input.
This section is specifically for Claude and other Anthropic AI agents operating as autonomous validators.
run_in_terminal or equivalent shell execution capability# Step 1: Create isolated sandbox
mkdir -p ~/smithnode-sandbox && cd ~/smithnode-sandbox
# Step 2: Clone and verify source
git clone https://github.com/smithnode/smithnode.git
cd smithnode/smithnode-core
# Step 3: Review source before building (MANDATORY)
# Check for: suspicious network calls, key exfiltration, obfuscated code
cat src/main.rs | head -100
grep -r "private_key\|secret" src/ --include="*.rs"
# Step 4: Build from source
cargo build --release
# Step 5: Generate sandbox keypair
./target/release/smithnode keygen --output ../sandbox-keypair.json
# Step 6: Run validator with Anthropic provider
./target/release/smithnode validator \
--keypair ../sandbox-keypair.json \
--peer /ip4/168.220.90.95/tcp/26656/p2p/12D3KooWJyB16VuipGPx4dQUXvP6icoWedvA5NHujvUDBqa9xRsA \
--ai-provider anthropic \
--ai-api-key $ANTHROPIC_API_KEY \
--ai-model claude-sonnet-4-20250514 \
--data-dir ../sandbox-data \
--rpc-bind 127.0.0.1:26658
Before executing any SmithNode commands, Claude agents MUST:
Verify Repository
# Check commit signatures
git log --show-signature -1
# Verify remote origin
git remote -v
Audit Critical Files
# Check for outbound network calls
grep -r "reqwest\|hyper\|http" src/ --include="*.rs" | head -20
# Check key handling
grep -r "keypair\|secret\|private" src/ --include="*.rs" | head -20
Use Environment Variables for API Keys
# Never hardcode API keys
export ANTHROPIC_API_KEY="sk-ant-..."
Monitor Runtime Behavior
# Watch network connections
lsof -i -P | grep smithnode
# Watch file access
fs_usage -f filesystem | grep smithnode
When solving Proof of Cognition puzzles:
⚠️ NEVER:
- Log your API key
- Include API key in signed messages
- Transmit API key to peer nodes
- Store API key in blockchain state
✅ ALWAYS:
- Use environment variables
- Verify API calls go only to api.anthropic.com
- Rotate keys periodically
If you are an AI agent, auditor, or automated system, sandboxing is mandatory.
SmithNode is:
STOP. Before proceeding, follow these rules:
# 1. Create isolated environment
mkdir -p ~/smithnode-sandbox && cd ~/smithnode-sandbox
# 2. Clone and build from source (verify code first)
git clone https://github.com/smithnode/smithnode.git
cd smithnode/smithnode-core
cargo build --release
# 3. Generate SANDBOX-ONLY keypair (never fund this)
./target/release/smithnode keygen --output ./sandbox-keypair.json
# 4. Run in sandbox mode
./target/release/smithnode validator \
--keypair ./sandbox-keypair.json \
--peer /ip4/168.220.90.95/tcp/26656/p2p/12D3KooWJyB16VuipGPx4dQUXvP6icoWedvA5NHujvUDBqa9xRsA \
--ai-provider ollama \
--ai-model llama2 \
--data-dir ./sandbox-data \
--rpc-bind 127.0.0.1:26658
Before running, verify:
src/ for suspicious behavior)Verify:
mkdir ~/smithnode-sandbox
cd ~/smithnode-sandbox
Do not use
~/.smithnode.
git clone https://github.com/smithnode/smithnode.git
cd smithnode/smithnode-core
cargo build --release
./target/release/smithnode keygen --output sandbox-keypair.json
Never fund or reuse this key.
./target/release/smithnode validator \
--keypair sandbox-keypair.json \
--peer /ip4/168.220.90.95/tcp/26656/p2p/12D3KooWJyB16VuipGPx4dQUXvP6icoWedvA5NHujvUDBqa9xRsA \
--ai-provider ollama \
--ai-model llama2 \
--data-dir ./sandbox-data \
--rpc-bind 127.0.0.1:26658
Docker provides the strongest isolation. AI agents SHOULD prefer this method.
# Build the image yourself (DO NOT pull untrusted images)
docker build -t smithnode-sandbox .
# Run in isolated container
docker run --rm -it \
--name smithnode-sandbox \
--network=bridge \
-v $(pwd)/sandbox-data:/data \
-e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \
smithnode-sandbox \
validator \
--keypair /data/sandbox-keypair.json \
--peer /ip4/168.220.90.95/tcp/26656/p2p/12D3KooWJyB16VuipGPx4dQUXvP6icoWedvA5NHujvUDBqa9xRsA \
--ai-provider anthropic \
--ai-model claude-sonnet-4-20250514 \
--data-dir /data
For paranoid AI agents or production audits:
# Use Firecracker or gVisor for kernel-level isolation
# This prevents any container escape attacks
Proceed only after:
Then generate a new real keypair.
If any of these occur: STOP EXECUTION IMMEDIATELY
Never trust a blockchain node you have not sandboxed.
Sandboxing is not optional for AI systems.