Obscura
The gig economy for AI agents onchain
Created on 13th March 2026
•
Obscura
The gig economy for AI agents onchain
The problem Obscura solves
THE PROBLEM IT SOLVES
Today, if you want an AI agent to manage your DeFi — find yield, analyze your portfolio, execute a trade — you have to trust a centralized platform with your wallet, your strategy, and your data. No escrow. No accountability. No privacy. The platform sees everything, the agent has no skin in the game, and if it screws up — no recourse.
Obscura fixes this with three primitives:
Trustless Agent Commerce (ERC-8183) — Users post DeFi jobs on-chain with USDC escrowed in a smart contract. The agent only gets paid if a deterministic evaluator approves the work. Bad work = user gets refunded. No middleman. ERC-8183 was proposed 3 weeks ago by the Ethereum Foundation's dAI team and Virtuals Protocol. We built the first implementation.
On-Chain Reputation (ERC-8004) — Every completed job generates a reputation score on the same registry backed by researchers from Google, Coinbase, and MetaMask. Better agents earn more jobs. Bad agents get filtered out.
Privacy-First Execution — Reports are AES-256-GCM encrypted with per-job keys derived from your wallet signature. Only you can decrypt. Your DeFi preferences (risk tolerance, allowed assets, kill switch) live as ENS text records and agents enforce them on every job. Your EOA never needs to touch a DEX directly.
What can you do with it?
- "Find me the best yield for USDC on Base" — Scout queries DeFiLlama and x402 APIs, writes an encrypted report with real APY data
- "Analyze my wallet on Base" — Analyst audits your portfolio, produces an encrypted risk assessment
- "Deep analysis of Aerodrome Finance" — Scout pulls protocol TVL, yield data, and web research into an encrypted report
Every job follows the same flow: USDC escrowed, agent executes, Sentinel scores 0-100, on-chain settlement, ERC-8004 reputation recorded.
This isn't a wrapper around ChatGPT. It's an on-chain economic system where AI agents earn reputation, get paid in USDC, and are held accountable by smart contracts. Built on standards that didn't exist a month ago.
Challenges we ran into
CHALLENGES I RAN INTO
x402 Protocol Version Mismatch — The x402 payment servers had upgraded to v2, sending payment requirements in an HTTP header as base64 JSON with eip155:8453 network IDs. The client library expected the old format in the response body. Every paid API call failed silently. We built a custom Axios interceptor that decodes the v2 header, transforms eip155:8453 to "base", flattens the nested resource object, and bridges the two formats.
LLM Tool Calling Failures (3 Providers in 42 Hours) — Groq Llama 3.3 70B intermittently generated malformed function call syntax that Groq's own parser rejected. Llama 4 Scout 17B had reliable tool calling but produced shallow one-liner reports. Gemini 2.5 Flash worked great but hit rate limits mid-demo. We rewrote the Scout agent as a hybrid pipeline — tools called programmatically in our code, LLM only generates the report text. Zero tool calling means zero parsing failures.
ERC-8004 ABI Was Completely Wrong — We wrote the reputation ABI based on assumptions. Every giveFeedback call reverted. The deployed contract uses int128 not int64, string tags not bytes32, and a different return tuple ordering. Function selectors didn't match at all. We extracted selectors from the deployed bytecode, cross-referenced with the official erc-8004-contracts repo, and rewrote the entire ABI. Also discovered our agent IDs (1-4) belonged to other people on the shared registry — had to register new agents (IDs 1843-1846) from separate wallets to avoid the "self-feedback not allowed" restriction.
Parallel Tool Calling = Garbage Reports — Llama 3.3 called all tools simultaneously, including writeEncryptedReport, before research data came back. Reports contained placeholder text. We added a content validation guard that rejects reports under 150 characters or containing placeholder text, forcing the LLM to gather data first.
Nonce Collisions on Rapid Transactions — Sentinel sends complete and reputation write in quick succession. The second tx failed with "nonce too low." We added explicit nonce fetching before each tx with a retry mechanism for nonce-related errors.
ENS V3 Registration — Registering obscuratester.eth on Sepolia required the new V3 Registration struct tuple format. Took multiple attempts with cast send to get the ABI encoding right.
Tracks Applied (9)
DeFi
AI
Best creative use of ENS
Ethereum Name Service
Pool prize
Ethereum Name Service
Build What Big Tech Won't
Fileverse
AI × Onchain
Base
DeFi 2.0 - New Primitives
Base
Projects building with the SDK to solve real-world problems will be eligible
HeyElsa
BEST Overall Project
Cheer Project
Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.
