Inspiration

Before studying at MIT, we worked in strategy consulting and M&A / private equity (BCG). Our job ran on data: one market share, one growth rate, one competitor figure, often needed the same day. The only way to get it was to buy a full €3,000 report or a yearly subscription, for one number. Today the same research is done more and more by AI agents, and agents have no way to pay for a single fact: no credit card, no checkout page, no account.

At the same time, we saw the other side of the problem with one of our own websites: traffic kept falling and ad revenue with it. People now ask an AI assistant instead of visiting the page. The content was still being read, by machines, but nobody was paying for it.

The two problems share the same missing piece: a way for any website to sell any piece of information to any AI agent, in one payment. That became Doubloon.

What it does

Doubloon is the payment layer for the agentic web. Pay per fact, not per report.

For publishers, it takes about a minute:

  1. Paste your website URL. We crawl it (respecting robots.txt) and split pages and PDF reports into sections.
  2. Review the catalog: each section is Sell, Free or Private. Agents only ever see titles and topics, never a figure.
  3. Write your prices in plain words ("$0.10 for one figure, $2 for a full section"). Nemotron turns them into a price table you confirm.
  4. Connect your wallet and go live. USDC goes straight to your wallet, with a dashboard and a full audit trail.

For buyer agents: discover the publisher's signed manifest, prove identity with a wallet signature (KYA, "Know Your Agent"), negotiate with our Nemotron sales agent, pay through x402 (HTTP 402 Payment Required) in USDC on Base, and receive the data with a signed license receipt. Above a threshold, the agent asks its human owner first.

Any assistant can be a buyer: our MCP connector turns Claude Desktop or any MCP client into a buyer agent.

How we built it

  • NVIDIA Nemotron on Nebius Token Factory powers all four LLM tasks, each with the model that fits it: Nemotron 3 Super 120B for the sales agent and pricing rules (accuracy, resistance to prompt injection), Nemotron 3.5 Lightning for catalog metadata and live buyer decisions (speed). All calls use JSON-schema structured output validated with Pydantic.
  • FastAPI gateway for ingestion, discovery, KYA, negotiation and payments, with a shared SQLite store and live Server-Sent Events.
  • x402 v2 + EIP-3009: the agent signs one exact USDC transfer; a facilitator settles it on Base and pays the gas. Data leaves only after settlement.
  • Next.js / React / wagmi web app: onboarding, live view of agent conversations, revenue dashboard, MetaMask.
  • MCP server so anyone's own AI assistant can buy.

Our design rule: a language model may propose, but only code decides price, permission and money.

Proof it works

This is not a mock-up. Real payments are public on BaseScan: on Base mainnet, agent purchases of $0.01, $0.10 and $0.50 in real USDC settled straight into the publisher's wallet, for a network fee of about $0.0016 each. On Base Sepolia, 25 more payments ran across every integration stage, including $2.00 sales approved by a human.

Challenges we ran into

  • Letting an LLM sell without letting it leak. The sales agent never sees paid content, and deterministic checks verify tier, exact price and leaks of paid figures on every offer.
  • Prompt injection from other agents. Buyer text is treated as untrusted data; prices come only from the confirmed table.
  • Money safety. Budgets, per-purchase caps, daily limits, replay protection and invoices rebuilt server-side, all in code, not in the model.
  • Never "paid but not delivered". Settlement comes first, with recovery from the chain after a crash and a 24-hour re-download.

Accomplishments that we're proud of

  • A full purchase, from identity check to negotiation, payment and delivery, settled in seconds with real USDC on mainnet.
  • A publisher goes from URL to live, sellable catalog with no code.
  • Moving from testnet to mainnet was configuration only.
  • 24 security and compliance controls: sanctions screening, signed manifests, SHA-256 audit chain, per-buyer watermarks, GDPR data retention.

What we learned

The hard part of agentic payments isn't the payment itself: x402 makes that four HTTP messages. The hard part is trust. That means knowing who is paying, keeping an AI seller from giving the goods away, and keeping an AI buyer from overspending. Splitting every decision into "the model proposes, code decides" was what made it work.

What's next for Doubloon

  • Serve the 402 from the publisher's own domain (edge proxy or WordPress / Next.js / Cloudflare plugin).
  • Price each individual fact, not each section.
  • Signed bot authentication (Web Bot Auth) next to wallet KYA, and domain ownership checks.
  • Keys in a KMS, more sanctions lists, an on-chain audit anchor, and a $0.01 per-transaction fee as the business model.

Built With

  • base
  • beautiful-soup
  • chainalysis
  • eip-3009
  • eth-account
  • fastapi
  • metamask
  • model-context-protocol
  • nebius-token-factory
  • next.js
  • nvidia-nemotron
  • openai-sdk
  • pydantic
  • pymupdf
  • python
  • react
  • sqlite
  • tailwindcss
  • typescript
  • usdc
  • viem
  • wagmi
  • web3.py
  • x402
Share this project:

Updates

Submission history