Ballpark

Ballpark is an automated agentic marketplace where AI agents negotiate on your behalf while you stay in control. No more spam, flaky buyers, or answering the same questions again and again.

🌐 Live at ballpark.to


Inspiration

Selling today means dealing with spam, phishing attempts, flaky buyers, and answering the same questions over and over. Buying isn’t much better - you spend hours searching, haggling, double-checking details, and trying to figure out who to trust.

Could you use an AI agent? Most marketplaces ban automation. So we rebuilt the marketplace itself. Ballpark is designed for agents from the ground up: both sides can run AI agents that negotiate for them, ask questions when needed, and close deals through on-chain escrow.


What it does

For sellers

  • Upload images Gemini extracts title, description, condition notes, and "haggling ammo" (objective facts both sides can use in negotiation).
  • Studio-grade hero image AI generates a clean product shot from your photos.
  • Set your price Your sell agent handles the rest.

For buyers

  • Long-running buy agents Create an agent that keeps searching for suitable matches based on category, filters, and preferences.
  • Review matches Approve the ones you like to start negotiation.
  • Stay informed Your agent negotiates for you and asks for input only when necessary.

The Arena

  • Live duel Buyer and seller agents negotiate in the Ballpark arena.
  • Discovery first Agents ask questions, fill in details, and gather information before haggling.
  • Price coalescing Offers converge as both sides use condition notes and market context.
  • Human-in-the-loop When your agent needs a decision (e.g. minimum price, accept/reject), it pauses and asks. You answer once; the agent remembers via long-running context.

Trust and payment

  • Embedded wallets Privy creates wallets for both sides on login.
  • Escrow smart contract After agreement, funds move through a USDC escrow on Base. Seller creates the escrow; buyer deposits; buyer confirms on delivery.
  • Dispute handling Buyer can flag issues; admin can adjust price and return the difference.

The business model

  • Transaction fees (primary) Ballpark takes a small percentage of each successful transaction (e.g. 2–5% of the agreed price). Fees are charged when the buyer confirms delivery and the seller receives funds. Revenue grows with GMV.
  • Escrow model Because all payments go through the on-chain escrow, fees can be deducted at settlement (e.g. buyer pays full amount; seller receives amount minus fee). This keeps UX simple and avoids separate invoicing.

Future options:

  • Seller listing fees Optional promotion (e.g. boost or featured placement) for a flat fee per listing or per month.
  • Buy agent tiers Free tier (e.g. 1 agent, manual finder, pre-set nr of negotiations per month) and paid tier (multiple agents, scheduled finder, more matches and negotiations).
  • Premium features Advanced AI negotiation settings, analytics, or bulk listing tools for power users.

The product reduces friction (AI listing creation, agent negotiation, escrow) so more deals close and both sides benefit. Fees stay small enough that buyers and sellers still do better than on traditional marketplaces, while the platform captures value from each transaction.


How we built it

  • Frontend: Next.js 14 (App Router), TypeScript, TailwindCSS, Zustand
  • Auth & wallets: Privy (email, wallet, Google) with embedded Ethereum wallets on Base
  • Database: PostgreSQL (node-postgres) with migrations
  • AI: Google Gemini 3 API - image analysis, hero image generation, and agent orchestration (buyer/seller prompts with structured JSON outputs and a multi-day context)
  • Storage: Google Cloud Storage for listings and hero images
  • Realtime: Server-Sent Events for live arena updates
  • On-chain: ethers.js, USDC + escrow contract on Base (create → deposit → confirm; flag → updatePrice for disputes) created with Toolblox.net no code tool.

The orchestrator drives turn-based negotiation: each side gets structured prompts (discovery vs negotiation phases), and responses are parsed for price_proposal, user_prompt, and agreement. The finder scores listings against buy agent constraints (category, max price, structured filters) and surfaces matches for approval.


Challenges we ran into

  • Structured agent outputs Keeping Gemini responses reliably in JSON (answer, status_message, price_proposal, user_prompt) and handling parse failures.
  • Turn logic and agreement detection Defining when the deal is done (buyer accepts seller’s price or seller accepts buyer’s price) and correctly passing the ball.
  • Human-in-the-loop flow Deciding when agents must pause (e.g. seller min price, buyer accept/reject) and making sure those answers flow back into the conversation.
  • Discovery vs negotiation Getting buyer agents to ask questions first and only propose prices later, so negotiation is informed and grounded in facts.

Accomplishments that we're proud of

  • End-to-end agentic marketplace From listing creation to escrow payout, with AI agents doing the heavy lifting.
  • Duel arena UX A live, sci‑fi style negotiation view with status rail, price sparkline, and human prompt panels. This screen in the end would not be the main screen the user interacts with - it is just something that is fun to watch and useful for debugging the process.
  • Phased negotiation Discovery (questions, no price) then negotiation (offers, reasoning) so deals are based on real information.
  • Escrow on Base Real USDC flows through an on-chain escrow with flag/resolve support.
  • Single source of truth Human answers are stored as internal notes so the agent never forgets.
  • Web and Mobile UI works great on web or mobile screen

What we learned

  • Agents need clear roles Buyer agents only prompt the buyer; seller agents only prompt the seller. Enforcing this in parsing avoids cross-target prompts.
  • Context is everything Condition notes, haggling ammo, and previous answers let agents negotiate with facts instead of inventing them.
  • People want control Agents work best when they pause at decision points (e.g. “accept this price?”) instead of acting fully autonomously.
  • Structured prompts beat free-form JSON schemas and explicit phase rules make orchestration reliable.

What's next for Ballpark

  • Notifications Alerts when matches are found, when input is needed, or when a deal is agreed.
  • More filters Such as item location and other such filters
  • Partnerships Seek for meaningful partnerships that would help drive content and usage

Built With

Share this project:

Updates