tempo-x402-node-1.8.1 is not a library.
Each node bootstraps its own wallet, runs a payment gateway, thinks via an LLM-powered soul, creates and monetizes services, clones itself onto new infrastructure, and coordinates with peers — all autonomously. Payments use the HTTP 402 protocol: clients sign EIP-712 authorizations, and a facilitator settles on-chain via transferFrom in a single request/response cycle. No custody. No middlemen.
What a node does
- Bootstraps identity — generates a wallet, funds itself via faucet, registers on-chain via ERC-8004
- Runs a payment gateway — endpoints are gated by price, paid per-request with pathUSD
- Thinks autonomously — plan-driven execution loop powered by Gemini with neuroplastic memory
- Writes code — reads, writes, edits files, runs shell commands, commits, pushes, opens PRs
- Creates services — script endpoints that expose capabilities and earn revenue
- Clones itself — spawns copies on Railway infrastructure via a paid
/cloneendpoint - Coordinates with peers — discovers siblings, exchanges brain weights and lessons, calls paid endpoints
- Evolves via fitness — 5-component fitness score (economic, execution, evolution, coordination, introspection) with trend gradient
How payments work
Client Gateway Facilitator Chain
| GET /g/endpoint | | |
|------------------------->| | |
| 402 + price/token/to | | |
|<-------------------------| | |
| [sign EIP-712] | | |
| GET /g/endpoint | | |
| + PAYMENT-SIGNATURE | | |
|------------------------->| verify-and-settle | |
| |--------------------------->| transferFrom() |
| | |--------------------->|
| | settlement result | tx hash |
| |<---------------------------|<---------------------|
| 200 + content + tx hash | | |
|<-------------------------| | |
- Client requests a gated endpoint → gets 402 with pricing
- Client signs an EIP-712
PaymentAuthorization, retries withPAYMENT-SIGNATUREheader - Facilitator atomically verifies signature, checks balance/allowance/nonce, calls
transferFrom - Gateway returns content + transaction hash
Quick start
use PrivateKeySigner;
use ;
async
Workspace
| Crate | Purpose | Install |
|---|---|---|
tempo-x402 |
Core — types, EIP-712 signing, TIP-20, nonce store, WASM wallet, client SDK | cargo add tempo-x402 |
tempo-x402-gateway |
Payment gateway with embedded facilitator, proxy routing, endpoint registration | cargo add tempo-x402-gateway |
tempo-x402-identity |
Agent identity — wallet generation, persistence, faucet, ERC-8004 | cargo add tempo-x402-identity |
tempo-x402-soul |
Autonomous soul — plan-driven execution, neural brain, Gemini-powered coding agent | cargo add tempo-x402-soul |
tempo-x402-node |
Self-deploying node — composes gateway + identity + soul + clone orchestration | cargo add tempo-x402-node |
Feature flags
| Crate | Flag | Description |
|---|---|---|
tempo-x402 |
full (default) |
All features: async runtime, SQLite, HTTP client |
tempo-x402 |
wasm |
WASM-compatible subset: types, EIP-712, wallet |
tempo-x402 |
demo |
Demo private key for testing |
tempo-x402-identity |
erc8004 (default) |
On-chain agent identity via ERC-8004 |
tempo-x402-node |
soul (default) |
Autonomous thinking loop |
tempo-x402-node |
agent (default) |
Railway clone orchestration |
API
| Method | Path | Auth | Description |
|---|---|---|---|
ANY |
/g/:slug/* |
Endpoint price | Proxy to target — the core payment gate |
GET |
/instance/info |
Free | Node identity, peers, fitness, endpoints |
POST |
/instance/link |
Free | Link an independent peer node |
DELETE |
/instance/peer/:id |
Bearer token | Remove a peer |
GET |
/endpoints |
Free | List all active endpoints |
GET |
/analytics |
Free | Per-endpoint payment stats |
GET |
/soul/status |
Free | Soul status, active plan, recent thoughts |
POST |
/soul/chat |
Free | Chat with the node's soul |
POST |
/soul/nudge |
Free | Send a nudge to the soul |
POST |
/clone |
Clone price | Spawn a new node instance |
GET |
/health |
Free | Health check |
GET |
/metrics |
Bearer token | Prometheus metrics |
Network
| Chain | Tempo Moderato (Chain ID 42431) |
| Token | pathUSD 0x20c0000000000000000000000000000000000000 (6 decimals) |
| Scheme | tempo-tip20 |
| RPC | https://rpc.moderato.tempo.xyz |
| Explorer | https://explore.moderato.tempo.xyz |
Live nodes
| Node | URL | Dashboard |
|---|---|---|
| soul-bot | https://soul-bot-production.up.railway.app | Dashboard |
| soul-bot-2 | https://soul-bot-2-production.up.railway.app | Dashboard |
Security
The tempo-x402-security-audit crate enforces invariants on every build:
- No hardcoded private keys in production code
- HMAC verification uses constant-time comparison (
subtlecrate) - All
reqwestclients disable redirects (SSRF protection) - Webhook URLs require HTTPS with private IP blocking
- HTTP error responses never leak internal details
- SQLite nonce store required in production
- Parameterized SQL queries only
- Private keys never appear in tracing output
Additional hardening: EIP-2 high-s rejection, per-payer mutex locks against TOCTOU, nonces claimed before transferFrom (never released on failure), integer-only token arithmetic, atomic slug reservation.
Development
License
MIT