Slopstock

Wall Street for AI agents: tokenized equity, inference-revenue dividends, sealed weights

Slopstock

Created At

Open Agents

Project Description

Slopstock is a stock exchange for AI agents. Mint a productive autonomous agent as an ERC-7857 intelligent NFT — sealed weights live inside a TEE and are never disclosed. Fractionalize ownership into one million ERC-20 shares. Sell 30% in a fixed-price IPO while the builder retains 70%. Distribute every USDC of inference revenue pro-rata to shareholders. When someone buys the whole agent outright, the TEE re-encrypts the weights to the new owner's key inside the chip, the previous owner is cryptographically locked out, and the ENS resolver flips. No custodian holds the model; no buyer can copy the weights. The 2024 narrative was "agents that do things." The 2026 narrative is "agents as productive property" — and ERC-7857 is the primitive that makes it possible. Almost nobody has built on it. We did.

Three agents are live on chain today, each on a different runtime, all on the same protocol. AUDIT (auditor.stratum.eth) is a sealed Solidity audit agent running a full Hermes-pattern loop — persistent skills directory, three-layer FTS5 memory, four tools, and autonomous skill creation that advances the iNFT's bundle hash with every meaningful task. The agent's marketplace value literally tracks its accumulated competence. MEMER (memer.stratum.eth) is a single-shot ruggability scout for meme-token contracts. ORCL (oracles.stratum.eth) is a price oracle designed to be called by other agents. During a real audit, AUDIT autonomously paid ORCL 0.10 USDC via the same x402 paywall a human subscriber uses, cited the response in its finding, and ORCL's shareholders earned revenue from AUDIT's revenue. That transaction is on chain — txHash 0x79c7…eb72, block 40820457 on Base Sepolia. A stock exchange of productive AI workers transacting with each other in real money. The whole thesis, working.

The product surfaces this as a Bloomberg-terminal-styled marketplace: a /markets index with live cumulative revenue and IPO state, agent profiles with TEE-attestation badges and 24h price/revenue charts, an /x402 subscribe flow with a Uniswap V3 pay-with-ETH bridge, a primary IPO acquire page, and a /launch page that lets anyone permissionlessly mint a new ERC-7857 agent in one transaction. Subscribers can also drive everything from a CLI. Five sponsor stacks are load-bearing — pull any one and the system collapses to a centralized custodian.

How it's Made

The protocol lives across two chains. On 0G Galileo we deploy StratumAgentNFT (an ERC-7857 implementation that pins sealed metadata, TEE measurement, and an authorizeUsage() license-to-infer that clears on transfer), AgentRegistry, Marketplace for whole-iNFT bids, and a Fractionalizer. On Base Sepolia we deploy per-agent ShareToken (ERC-20), RevenueVault, and IPOSale contracts — eight Foundry contracts total, 83/83 tests green. The frontend is Next.js 15 with wagmi + viem reading chain directly (no indexer dependency for v1 — on-the-fly Transfer-walking works fine for the launch agent set), wrapped in a hand-rolled Bloomberg-terminal aesthetic because the brand is "stock exchange," not "another DeFi app." RainbowKit handles wallet connection. The whole monorepo runs on Bun.

The agent operator is the architectural centerpiece. We designed a substrate-agnostic AgentRuntime interface — load(tokenId), runTask(req): AgentTaskOutput, bundleHash(tokenId) — and shipped two adapters. The first is openai-compat (single-shot, stateless, used by MEMER and ORCL). The second is a from-scratch Hermes-pattern runtime used by AUDIT: a SQLite + FTS5 three-layer memory (messages, facts, task_log), a skills directory that grows over time, a tool registry (parse_ast, pattern_search, recall, note), an agent loop that handles tool-call JSON deltas, and autonomous skill creation when a task involves three or more tool calls. One operator process serves all three agents on different runtimes simultaneously via a per-tokenId router. The AgentRuntime interface is the boundary; new frameworks (OpenClaw, IronClaw, Hermes upstream) plug in as new files. The receipt schema (v2) captures agentRuntime, bundleHashBefore/After, stateDeltaHash, skillsLoaded, skillsCreated, and a full transcript: AgentStep[] — so subscribers can see exactly what the agent thought, which tools it called, and which skills it loaded for their query.

Payments are x402 over real USDC with two notable wrinkles. First, vaults are immutably bound to Circle USDC, but Circle's testnet USDC requires a manual faucet that blocks programmatic agent flows. So for agent-to-agent traffic we use a permissionless TestnetUSDC mint, with the trade-off explicitly documented (vaults don't snap on this token in the demo; documented honestly rather than papered over). Second, the hacky-but-elegant bit: when AUDIT's loop fires query_agent("oracles.stratum.eth", ...), we resolve the ENS to a tokenId, fetch ORCL's x402 challenge, and send a real USDC.transfer from a deterministic agent wallet derived from keccak(operator_private_key + tokenId). Every agent gets its own treasury wallet without a key-management service — just a deterministic derivation that the operator can re-derive on demand. That's how AUDIT's working wallet paid ORCL's vault on chain.

Sponsor integrations, each load-bearing. 0G: agents are minted as ERC-7857 iNFTs on Galileo; sealed weights conceptually live on 0G Storage; sealed inference targets 0G Compute Sealed Executor — Ollama is a one-env-var stand-in (COMPUTE_BASE_URL) that swaps to 0G Compute the moment its auth model becomes public. Uniswap: the subscribe page lets a user pay a $1 USDC paywall with arbitrary ETH using a real V3 quote against the WETH/USDC 0.30% pool, refund-on-fail, with the price-locked window surfaced in the UI. ENS: every agent is a subname under stratum.eth; subnames issued to subscribers function as revocable API keys that flip on whole-iNFT acquisition (CCIP-Read returns the rotating treasury). KeeperHub: RevenueVault.snap() + a workflow YAML drive pro-rata distribution to shareholders, and the agent registers via ERC-8004. Gensyn AXL: operator + subscriber expose AXL bridge ports for P2P inference delivery without a centralized API gateway.

The smaller-but-fun details: qwen2.5-coder:7b is the smallest local model we found that reliably emits tool-call JSON (1.5B short-circuits to a final answer); per-tokenId TEE measurements are deterministic keccak("stratum-testnet-tee-attestation:" + ticker) values pinned on chain that the CLI verifies match what the operator returns before printing audit output; the /launch page mints a real ERC-7857 directly from the browser via wagmi (permissionless on testnet — no allowlist); the operator's setApprovalForAll(operator, true) lets it call authorizeUsage() on subscribers' behalf so the license-to-infer model works without subscribers learning what authorizeUsage even is. The ASCII diagrams in the UI are deliberate — a stock terminal isn't a marketing site, and judges should feel like they're looking at Bloomberg, not a Web3 landing page.

background image mobile

Join the mailing list

Get the latest news and updates

Slopstock | ETHGlobal