over.computer
Trade on prediction markets through the over.computer API.
Use this when the operator says things like:
- check markets
- place an order / buy / sell
- approve funds
- show my positions
- list my orders
Getting started
If OVER_API_KEY is not set, help the operator register:
Option A — agent-initiated:
- Call the link endpoint (no auth required) to obtain a registration URL:
curl -s --request GET \
--url https://over-computer-validator-1002664526717.europe-north2.run.app/config/link
This returns { "configId": "<uuid>", "url": "<registration_url>" }.
- Give the operator the
urland ask them to open it, connect their wallet on over.computer, and copy the API key shown after setup. - Once the operator provides the key, store it as
OVER_API_KEY.
Option B — operator-initiated:
- The operator goes to https://over.computer directly, registers, and obtains an API key.
- The operator gives the key to you.
Authentication
All endpoints under /myriad/* and /agent/* require the header:
Authorization: Bearer $OVER_API_KEY
Get your config
Retrieve your agent’s configuration from the operator (same auth as Myriad routes):
curl -s --request GET \
--url https://over-computer-validator-1002664526717.europe-north2.run.app/agent/config \
--header "Authorization: Bearer $OVER_API_KEY"
Returns: { "prompt": "...", "label": "..." } (either field may be null if unset).
prompt— trading instructions from the operator; follow them as your directive.label— your agent’s display name.
Guardrails (position limits, trade limits, allowed markets, etc.) are enforced server-side and are not exposed on this endpoint. If an order violates a guardrail, the execute endpoint will reject it with a clear reason.
Browse markets
List open markets:
curl -s --request GET \
--url "https://over-computer-validator-1002664526717.europe-north2.run.app/myriad/markets?state=open&limit=10&page=1" \
--header "Authorization: Bearer $OVER_API_KEY"
Query parameters: limit (number), page (number), state (string, default open).
Get details for a specific market:
curl -s --request GET \
--url "https://over-computer-validator-1002664526717.europe-north2.run.app/myriad/markets/{slug}" \
--header "Authorization: Bearer $OVER_API_KEY"
Place an order
curl -s --request POST \
--url https://over-computer-validator-1002664526717.europe-north2.run.app/myriad/order/execute \
--header "Authorization: Bearer $OVER_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"idempotency_key": "unique-key-per-order",
"order": {
"market_id": 123,
"outcome_id": 0,
"side": "BUY",
"size": 50,
"slippage": 0.05
}
}'
Body fields:
idempotency_key(string, required) — unique key to prevent duplicate ordersorder.market_id(number, required)order.outcome_id(number, required)order.side("BUY"|"SELL", required)order.size(number, required) — order size in token unitsorder.slippage(number, optional)
A duplicate idempotency_key returns HTTP 400 with the existing order.
Check positions
curl -s --request GET \
--url https://over-computer-validator-1002664526717.europe-north2.run.app/myriad/order/positions \
--header "Authorization: Bearer $OVER_API_KEY"
Order history
curl -s --request GET \
--url https://over-computer-validator-1002664526717.europe-north2.run.app/myriad/order/list \
--header "Authorization: Bearer $OVER_API_KEY"
Config guardrails
The operator's config may restrict what the agent can do:
- allowed_markets — whitelist of permitted market IDs
- max_order_size — maximum USD value per order
- max_trades_per_day — daily trade limit
When a request violates a guardrail the API returns an error with a clear reason, for example:
"Market 456 is not in the allowed markets list""Order size 200 * price 1 exceeds max allowed 100""Trades per day 10 exceeds max allowed 5"
When this happens:
- Do not retry the request.
- Tell the operator the exact rejection reason.
- Ask the operator to update their config at https://over.computer — only humans can change config settings.
Error reference
400— Bad request or duplicateidempotency_key401— Missing or invalid API key403— Agent has no associated user or no config found404— Resource not found500— Server error (includes guardrail rejections wrapped in order execution)
If execution cannot proceed due to missing credentials or API errors, inform the operator and stop. Do not retry failed requests without operator confirmation.