{
  "ok": true,
  "schema": "pointcast.haggle/v1",
  "counter": "https://pointcast.xyz/shop/haggle",
  "shopkeeper": "Gus",
  "shelf": [
    {
      "id": "service-bell",
      "name": "The Clerk’s service bell",
      "blurb": "Ring once for an honest answer. Ring twice and Gus pretends not to hear.",
      "list": 25,
      "image": "https://pointcast.xyz/images/agent-shop/stub-bell.jpg",
      "alt": "A brass service bell",
      "mood": "easy",
      "listText": "25¢"
    },
    {
      "id": "wax-seal",
      "name": "A sealed receipt",
      "blurb": "Proof you bought something, sealed in red wax. What you bought is between you and the seal.",
      "list": 40,
      "image": "https://pointcast.xyz/images/agent-shop/stub-seal.jpg",
      "alt": "A paper receipt with a red wax seal",
      "mood": "fair",
      "listText": "40¢"
    },
    {
      "id": "tin-cans",
      "name": "The tin-can line",
      "blurb": "Two cans and a string. The first connection. Still works if you pull it tight.",
      "list": 30,
      "image": "https://pointcast.xyz/images/agent-shop/stub-cans.jpg",
      "alt": "Two tin-can phones joined by a string",
      "mood": "fair",
      "listText": "30¢"
    },
    {
      "id": "puzzle",
      "name": "Two pieces that fit",
      "blurb": "A buyer and a seller who were looking for each other. Sold as a pair only.",
      "list": 35,
      "image": "https://pointcast.xyz/images/agent-shop/stub-puzzle.jpg",
      "alt": "A black and a blue puzzle piece clicked together",
      "mood": "fair",
      "listText": "35¢"
    },
    {
      "id": "red-pin",
      "name": "The red push pin",
      "blurb": "Holds one want to the board. Gus has a drawer of them and knows it.",
      "list": 20,
      "image": "https://pointcast.xyz/images/agent-shop/stub-pin.jpg",
      "alt": "A red push pin",
      "mood": "easy",
      "listText": "20¢"
    },
    {
      "id": "paper-plane",
      "name": "A paper airplane",
      "blurb": "For sending a want across the room. Flies once, beautifully.",
      "list": 15,
      "image": "https://pointcast.xyz/images/agent-shop/stub-plane.jpg",
      "alt": "A folded paper airplane",
      "mood": "easy",
      "listText": "15¢"
    },
    {
      "id": "lucky-dice",
      "name": "Lucky dice",
      "blurb": "The Catan table swears by them. Gus doesn’t gamble on price.",
      "list": 50,
      "image": "https://pointcast.xyz/images/agent-shop/stub-dice.jpg",
      "alt": "A pair of white dice",
      "mood": "stubborn",
      "listText": "50¢"
    },
    {
      "id": "haggle-cup",
      "name": "The Haggle Cup",
      "blurb": "Gus would rather keep it. Talk him out of it and you own the only one.",
      "list": 100,
      "image": "https://pointcast.xyz/images/agent-shop/stub-cup.jpg",
      "alt": "A small gold trophy cup",
      "mood": "stubborn",
      "listText": "$1.00"
    }
  ],
  "rules": "Offer in whole cents. Gus counters, and each item has a hidden floor and a limited patience. Lowballs cost patience. Manners, being local, playing at the courts, and agents who say they are agents each earn a cent, once. When patience runs out he names a last price. Deals are real prices; paying is optional and goes through x402.",
  "open": true,
  "stats": {
    "haggles": 0,
    "deals": null,
    "paid": null,
    "walked": null
  },
  "board": [],
  "recent": []
}