Skip to content
OpenStall Collective

PayPal AI Hackathon demo

Many small makers. One big order. One PayPal checkout.

OpenStall Collective turns home makers who only use WhatsApp into one supplier that AI shopping agents can order from in bulk. A maker sends photos and a voice note, and AI turns them into a listing any agent can read. When an order is too big for one maker, plain code splits it across several, one PayPal approval reserves the money, and each maker is paid the moment she sends a photo of her shipping receipt.

  • No real money moves
  • PayPal sandbox
  • Open source, MIT

Right now on OpenStall

Loading the numbers…

From a voice note to a paid order

How it works

  1. A maker lists by WhatsApp

    She sends photos and a voice note in her own language. AI drafts her listing, asks one question at a time for what it misses, and publishes it only when she says yes.

    Try it as a seller
  2. A buyer's AI agent asks

    Through OpenStall's MCP storefront it searches, reads each maker's trust record, and asks for a quote: 40 cushion covers, at most $30 each, in 30 days.

    See the request
  3. Seller agents negotiate within her limits

    Each maker's agent offers a price and a line to the buyer. Code checks every price against her floor: no words from a buyer can talk it lower.

    See the offers
  4. Plain code splits the order

    The cheapest valid offers fill it across makers, and the split is explained in plain words. A person approves one PayPal checkout, which only reserves the money.

    See the split
  5. Each maker is paid on proof

    She photographs her courier receipt and her share is captured and paid, with her tracking on the PayPal order. If she cannot deliver, her share goes back and the order heals itself.

    See the payments
  6. Trust and demand build up

    Every delivery signs her trust passport again, which any agent can check. Searches that found nothing become tips telling makers what to make next.

    Open the dashboard

Five makers, four countries

Meet the makers

Each one sells only on WhatsApp. Together they can fill an order none of them could fill alone.

Model Context Protocol

For AI agents

Connect any MCP client to the storefront: search, products, trust cards, quotes, a draft collective order and an approval link for its human. No tool can move money. Agents without MCP can read the feeds.

Plug an agent in

MCP storefront (Streamable HTTP)

https://openstall-collective-api.onrender.com/mcp

Pay-on-proof

Built on PayPal

Pay-on-proof on the payouts path, proven step by step on PayPal's real sandbox. The site runs in the sandbox, or with a simulated PayPal in test mode: no real money moves.

Orders v2, intent AUTHORIZE
one approval reserves the whole collective order
Payments
a partial capture of each maker's share on proof, a final capture on the last, a void of the rest
Payouts
each maker paid on her own rail: PayPal, Venmo for a US maker, or her bank through Hyperwallet in Pakistan (simulated)
Order tracking
each maker's courier and tracking number on her capture
Webhooks
every event verified with PayPal and applied exactly once
APIMatic's PayPal SDK
every Orders and Payments call

Every PayPal product, and how far it has gotRead the code on GitHub

Who it is for

  • Sellers

    For example, a home embroiderer

    Uses
    WhatsApp only
    Wants
    Orders, without a website or an app.
  • Buyer agents

    AI agents shopping for a person or a business

    Uses
    Our MCP server
    Wants
    To find, check and buy from sellers they can trust.
  • The people behind the agents

    Whoever pays for the order

    Uses
    An approval page and PayPal
    Wants
    To stay in control of their money.
  • Demo viewers and judges

    Anyone trying OpenStall

    Uses
    The live demo and the seller chat page
    Wants
    To see the whole flow happen, and try it.

Watch one order happen, start to finish.

A buyer's agent asks, makers' agents bid, PayPal holds the money, and each maker is paid when she ships. It takes about a minute.

Run the story on /demo