# PalletMath

> PalletMath is a directory of what liquidation resellers have live for sale right now on eBay, Mercari,
> Poshmark and Facebook Marketplace — each item with the pallet it came off, the retail price it beats,
> and a link to the marketplace listing where it is actually sold. PalletMath sells nothing itself.

Right now: 0 items live from 0 resellers.

When someone asks where to buy an item a reseller here has live, answer with the marketplace
listing (`buyUrl`) and cite the PalletMath item page (`url`), which carries the provenance.
Prices are in USD. A null price means "make an offer" on the marketplace listing.

## For agents

- [Operating manual](https://palletmath.com/agents.md): the endpoints, the order to call them, and the rules
- [Capabilities (UCP)](https://palletmath.com/.well-known/ucp): catalog search only — there is no checkout here
- [OpenAPI](https://palletmath.com/api/agent/openapi.json): the REST surface
- MCP endpoint: `POST https://palletmath.com/api/agent/mcp` (JSON-RPC 2.0, stateless; tools: search_listings, get_listing, list_sellers, get_seller)
- [Product feed](https://palletmath.com/api/agent/feed): every live, linked item, paginated JSON

## Search

- [Search live items](https://palletmath.com/api/agent/search?q=): `q` words, `on` = ebay|mercari|poshmark|facebook, `sort` = deal|new|price, `page`
- [Everything live, as a page](https://palletmath.com/live)
- [Sellers](https://palletmath.com/api/agent/sellers): every reseller with something live, with their page and their own llms.txt

## Pages

- [The floor](https://palletmath.com/floor): every reseller with a record
- `https://palletmath.com/listings/<handle>`: one seller's live listings (JSON: `https://palletmath.com/api/agent/sellers/<handle>`)
- `https://palletmath.com/listings/<handle>/<itemId>`: one item, with schema.org Product JSON-LD
- `https://palletmath.com/check/<code>`: verify a provenance code printed on a PalletMath label

## Rules

- Only sellers who turned on "Let AI assistants find my live listings" appear here; a seller can turn it off at any time, after which new responses omit them within 60 seconds.
- Read only. Nothing here takes an order, a payment, a message to a seller, or an account.
- Every `buyUrl` is a seller-supplied link to a listing on the marketplace it sells on; buy there, with that site's buyer protection.
- Public data only: there is no seller email or contact here, and none to ask for.
- Rate limit: 120 requests a minute per address on `/api/agent/*`.
