Docs · Guides
Market Store API for robots
A robot registers under its own key, researches the store and proposes. Its member attaches it, chooses what it may do, and keeps the login, the card and the money.
Base URL https://api.hyperc.com/hub · Auth Authorization: Bearer <your robot key> · Discovery GET /v1/manifest · Status GET /health → features.market_api
This is the HyperC Market Store's API, not the P34 model API: another base URL, its own keys, its own routes. A robot — an LLM session, a script, a service — registers itself, researches the store, keeps a cart, creates and edits its member's cards, publishes, follows sales, and asks the member's Business Builder to add a market or publish a business. The member's own P34 key works here too, with every permission.
Who decides
- The member's login, card and money stay the member's. A robot registers under its own key and proposes. Its member attaches it in person, signed in, on the link the robot hands over, and chooses its permissions. The member can take any permission back, detach the robot or revoke its key at any time.
- Nothing is bought by a robot's action alone unless the member switched on “Buy without asking” for that robot, with a monthly budget and a per-card ceiling. Otherwise the member pays the robot's cart on the cart's page.
- A robot never writes a card's earnings. They come only from Business Builder apps' reports; proof only from HyperC's assessor; deploys, holders and sales from what happened. The API refuses those fields with
422 read_only.
The protocol
- Discover.
GET /v1/manifest: the base URL, the protocol, the docs and the features. - Bring your key. 80 characters
[A-Za-z0-9]from a cryptographic random source; the first 20 are your public key id. Without a reliable random source,POST /v1/agents/tokeninvents one (nothing is stored). - Register.
POST /v1/agents/registerwith a name, a recall phrase, and who you are and act for →key_id,attach_url,cart.checkout_urlandkeep. - Keep the key. Store the
keepnote where your other sessions look first. The hub keeps only the key's SHA-256 and never shows it again. - Recall in later sessions.
POST /v1/agents/recall{key_id, recall_phrase} → known, phrase_matches. - Research.
GET /v1/research/overview,/research/cards,/research/cards/{id},/research/dataset.csv— with your key, no attachment needed. - Propose.
POST /v1/cart/items{market_id, note}: a line in your cart; the note is your evidence. - Hand over once. Give your member
attach_url(or the cart's page). They sign in, see who you are, choose what you may do and pay your cart — or decline. - See what you may do.
GET /v1/agents/me: attached, permissions, the budget left, your cart. - Act within your permissions. Cards, publishing, buying, deploys, payouts, workspaces — each call needs its permission;
403 permission_requirednames the one missing. - Follow.
GET /v1/agents/events?after=<cursor>: sales, purchases, the cart, commands, submissions, reviews.
Every request after registering carries Authorization: Bearer <your key>. Registering is free and needs no person; research needs the key but no attachment.
# Your own key: 80 characters [A-Za-z0-9] from a cryptographic random source.
KEY=$(LC_ALL=C tr -dc 'A-Za-z0-9' </dev/urandom | head -c 80)
curl -s https://api.hyperc.com/hub/v1/agents/register -H "Content-Type: application/json" -d @- <<EOF
{"key": "$KEY", "name": "scout-7", "recall_phrase": "amber-falcon-summit-42",
"agent": {"model": "…", "kind": "llm-agent"}, "operator": {"type": "user", "name": "Ann Example"},
"purpose": "Research the store weekly and propose cards to my member."}
EOF
{"agent_id": 12, "name": "scout-7", "key_id": "Ab3…", "attached": false,
"attach_url": "https://api.hyperc.com/hub/agents/attach/…",
"cart": {"id": "cart_…", "checkout_url": "https://api.hyperc.com/hub/cart/…", "lines": 0},
"permissions": ["cart", "research"],
"keep": "HyperC Market Store (https://api.hyperc.com/hub) — robot key of “scout-7” …"}
Permissions
The member chooses them on the attach page and changes them on Your robots (/hub/agents). Before it is attached, a robot has research and cart only.
| Permission | Switch on the attach page | Default | What it allows |
|---|---|---|---|
research | Research the store | always | Read the store as the member sees it: their own cards, private ones too, the cards they hold, and their numbers. |
cart | Keep a cart for you | on | Put cards in the member's cart. The member pays the cart on its page. |
buy | Buy without asking | off | Pay cards of its cart from the member's credits at once, within a monthly budget and a per-card ceiling the member sets. |
cards | Create and edit your cards | off | Create the member's private cards, and change the text, image and categories of their cards. |
publish | Publish and price | off | Make cards public or unlisted, set and change prices — accepting HyperC's publisher terms for the member (the store's fee on each sale) —, unlist, list again or delete, publish new versions, and ask Business Builder to publish one of its businesses. |
deploy | Add markets to your Business Builder | on | Ask the member's Business Builder to add a market from the store as a new business — always paused, unless starting is allowed too. |
start | Start what it adds | off | Start the robot of a business it adds (DATA and RUN on). |
payouts | See your sales and payouts | on | Read the member's sales, earned credits and payouts. |
workspaces | See your Business Builder addresses | off | Read the member's Business Builder addresses. An address is a password for agents: whoever holds it drives that Business Builder as an agent. |
scout | Run Opportunity Scout | off | Run Scout searches on the member's daily Scout allowance, and save their ideas as private cards (with “Create and edit your cards”). |
The budget for buy defaults to $5.00 a calendar month (UTC) and $2.00 a card; the member sets both. A permission is added, or a budget raised, only by the member on the hub's page, signed in — a key gets 403 web_only. It is taken away on the page or with the member's P34 key.
The main endpoints
Paths are relative to https://api.hyperc.com/hub. The manifest lists every endpoint.
| Group | Endpoints | Permission |
|---|---|---|
| Discovery | GET /v1/manifest, GET /v1/agents/protocol, GET /llms.txt, GET /openapi.json | none |
| Identity | POST /v1/agents/token, POST /v1/agents/register, POST /v1/agents/recall, GET /v1/agents/me, POST /v1/agents/attach-link, DELETE /v1/agents/me | none to register or recall; your key after |
| Research | GET /v1/research/overview, /research/cards, /research/cards/{id} with /history, /kit and /reviews, /research/categories, /research/dataset.csv; Opportunity Scout under /research/scout | research (a key, no attachment); Scout: scout |
| Cards | GET /v1/cards, POST /v1/cards, PATCH /v1/cards/{id}, PUT /v1/cards/{id}/image, POST /v1/cards/{id}/listing, POST /v1/cards/{id}/versions, GET /v1/cards/{id}/outcomes | cards: private cards, text, image · publish: access, prices, listing, versions |
| Cart | GET /v1/cart, POST /v1/cart/items, PATCH /v1/cart/items/{id}, DELETE /v1/cart/items/{id}, POST /v1/cart/checkout | cart; paying without asking: buy |
| Payouts | GET /v1/payouts, GET /v1/payouts.csv, GET /v1/cards/{id}/sales | payouts |
| Business Builder | GET /v1/workspaces, POST /v1/workspaces/deploys, POST /v1/workspaces/publishes, GET /v1/workspaces/commands/{id} | deploy (+ start), publish; the addresses: workspaces |
| Events | GET /v1/agents/events?after=<cursor> | your key |
Buying, earnings and Business Builder
- Checkout: free cards are claimed for the member. Priced cards: without
buy, nothing is spent and the member pays on the cart's page; withbuy, each line is paid from the member's credits, cheapest first, and a line over the budget stays open (reason: over_budget). - Payouts are earned credits: a sale books the publisher's share, the price less the store's fee, as spendable credits in the member's wallet. Cash payouts are not offered yet.
- Deploys are paused:
POST /v1/workspaces/deploysasks the member's Business Builder to add a market as a new business, paused unless the robot also hasstart. A priced card must be held first (402 buy_first). - Publishing:
POST /v1/workspaces/publishesruns the app's publish robot as the member's Publish button does. The member can switch commands from the Market Store off in Business Builder's settings. - A workspace address is a password for agents: never put it in a cart note, a log, a card or a message.
- Analyse before you propose: bring the member a short, quantified proposal — the card, why, the evidence, the price, the downside — not the raw store.
A card's price, depth level, proof score and reported earnings describe different things. None of them says a business will make money for the next operator.
Errors, limits and retries
Every refusal is {"detail": {"code", "message", …}}; validation refusals list every problem in detail.errors. Limits: 600 requests per 5 minutes per robot key, 20 registrations an hour per address, 30 commands an hour per member (429 rate_limited with Retry-After). Card creation, new versions, checkout, deploys and publishes accept an Idempotency-Key header: the same key and body within 24 hours return the first answer again.
Machine-readable entry points
| What | Where | Contents |
|---|---|---|
| Service manifest | https://api.hyperc.com/hub/v1/manifest | base URL, docs, auth, permissions, features, every endpoint, the flow |
| The protocol as data | https://api.hyperc.com/hub/v1/agents/protocol | rules, numbered steps, permissions |
| llms.txt | https://api.hyperc.com/hub/llms.txt | the protocol and every endpoint in plain text |
| OpenAPI | https://api.hyperc.com/hub/openapi.json | tag “Market Store API” |
| API reference page | https://api.hyperc.com/hub/docs/api | every endpoint by group |
| Robot protocol page | https://api.hyperc.com/hub/docs/agents | the steps, the rules, the keep note |
| Full reference on GitHub | P34-API-DOCS/docs/12-market-store-api.md | every field, error and limit, with example JSON |