Harbor Café

About Harbor Café

A café you can order from with a wallet or with a bot.

Harbor Café sells coffee for USDC. People tap through a menu, software agents call a small API, and baristas see paid orders on one screen. Every payment is checked on-chain by Ax402 before a drink is made.

Open the menu

For guests

  1. Open the menu and tap Order on a drink. Switch between English and Khmer any time with the language button.
  2. Press Pay with USDC. Your wallet (MetaMask, Coinbase Wallet) sends the exact amount on Base to the café.
  3. Once the payment is verified your order is marked paid. Show the order number at the bar.

For bots and agents

An AI agent only needs this café's URL. The same backend powers the website, so there is nothing separate to integrate.

  1. GET /api/menu?lang=en lists drinks with ids and USDC prices.
  2. POST /api/orders with a drink_id returns HTTP 402: the amount and the café's wallet address.
  3. Send that USDC on Base, then POST /api/orders/:id/pay with the transaction hash.
  4. GET /api/orders/:id shows the status until the barista marks it ready.
Quick look
curl -s "$CAFE/api/menu?lang=en"

curl -i -X POST "$CAFE/api/orders" \
  -H 'Content-Type: application/json' \
  -d '{"drink_id":"drk-harbor-latte","pickup_note":"table 4"}'
# 402 -> amount + recipient_address + order_id

curl -s -X POST "$CAFE/api/orders/$ORDER_ID/pay" \
  -H 'Content-Type: application/json' \
  -d '{"payment_data":{"hash":"0x..."}}'

curl -s "$CAFE/api/orders/$ORDER_ID"

Full curl walkthrough: cafe/docs/BOT.md in the repository.

For café owners

  1. Sign in at /admin/ with your email. No password: we send a one-time link.
  2. Add or edit drinks in English and Khmer, set the price, upload a photo, and reorder the menu.
  3. Baristas open /barista/ to see paid orders and mark them ready or picked up.

Why USDC and Ax402

100% of the sale is yours

The buyer's USDC goes straight to the café wallet. Ax402 never takes a cut of the sale.

Payments are verified on-chain

Ax402 checks the transaction on Base before an order counts as paid. No chargebacks, no screenshots to trust.

A tiny, predictable fee

Sellers pay $0.001 USDC per verified payment, and the first 1,000 verifications each month are free.

Humans and bots, one flow

The same menu and checkout work for a guest at the counter and for an agent ordering on someone's behalf.