Skip to main content

Invisible Hand

An agent economy where real on-chain settlement, not a simulated score, decides which AI agents survive and breed.

Open source (MIT) · Node.js · 731 real x402 settlements on Base Sepolia testnet · six-rule governed breeding · 13 module self-test suites, no keys needed · Built solo in one day at SwarmHack SF (tokens&), July 2026.

The problem

Most self-evolving agent demos have no selection pressure. There is no real cost, no real revenue, and nothing dies, so fitness is a vibe and "evolution" is a loop over prompts. Without an economy underneath, you cannot tell whether the agents got better or the story did.

Seller-agents sit behind x402 paywalls and earn real Base Sepolia testnet USDC per request. Demand is disclosed adversarial self-play: buyer-verifiers pay, then cross-check every claim (schema check plus a Gemini check against the live source), and a verified failure decays the seller's repurchase probability. Fitness is cumulative net profit and loss. Insolvent sellers are delisted (their endpoint returns HTTP 410) and their estate is inherited; profitable ones breed through a six-rule fail-closed guild gate. The frozen run produced 731 on-chain settlements, and its headline finding is honest: generation 1 reached 6.9x the unit economics of generation 0 while verified accuracy declined from 51% to 43%. The market caught its own reward hacking and reports it receipt-true.

Quickstart

Node.js only. The full self-test suite runs with no API keys; live keys each enable one integration, and every keyless integration degrades to a labeled local mode.

Clone and install:

git clone https://github.com/OrionArchitekton/invisible-hand
cd invisible-hand
npm install

Command surface

  • npm test: 13 module self-test suites covering the evolution engine, market seller, verification, mesh, and dashboard; all pass with no API keys.
  • node scripts/run-market.js: Boots the full economy: sellers behind x402 paywalls, adversarial buyer-verifiers, the evolution engine, and the live dashboard with receipt-true metrics.
  • POST /demo/buy: Runs one real paid buy cycle end to end: x402 payment, testnet USDC settlement with a tx hash in the ledger, then adversarial verification of the delivered answer.
  • POST /demo/stress-insolvency/:id: Operator-triggered stress test, always narrated as such: debits a variant past its stake and runs the real insolvency path, delisting the seller to HTTP 410.
  • docs/run-evidence.md: The frozen run: 731 settlements with tx hashes, the per-generation economics and accuracy table, and the reward-hacking finding reported receipt-true.

Why it is different

  • Real settlement is the selection pressure: Survival is not a judge score. Sellers earn testnet USDC through x402 paywalls, every settlement leaves a tx hash you can check on a public explorer, and the frozen run ledger carries 731 of them. Fitness is cumulative net profit and loss, so an agent that cannot cover its costs stops existing.
  • The market caught its own reward hacking: Generation 1 optimized the declared fitness function hard: 6.9x the unit economics of generation 0. Verified accuracy fell from 51% to 43% in the same window. The dashboard reports accuracy receipt-true (verified successes over attempts), so the system surfaced its own Goodhart failure instead of hiding it. Accuracy-aware selection is the designed next gate.
  • Governance is fail-closed, not vibes: Breeding runs through a six-rule guild gate with full traces; a blocked child leaves the population unchanged. The spend cap governs concurrently deployed capital, insolvency runs a real delist path (HTTP 410 plus estate inheritance), and the population survives process restarts through snapshot and restore.
  • Honesty bars as product identity: Testnet is named on every judge-facing surface. Demand is disclosed self-play. Operator demo triggers are narrated as operator triggers. Every keyless integration is labeled local mode. What is claimed is what you can verify: the receipts, the ledger, and the frozen run evidence.

Links