How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Pred Orders API

Order placement, cancellation, and management endpoints.## EIP-712 order signatureAll orders must be signed using EIP-712. Format: `0x` (132 hex characters), low-s normalized.**Domain (HAS version field):** `chainId` is ENV-specific. `verifyingContract` must come from market discovery for the specific parent market.```EIP712Domain type: "EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"name: "Pred CTF Exchange"version: "1"chainId: verifyingContract: ```**Order contract source (MANDATORY):** Use `parent_market_data.contract_address` from market discovery for the target parent market. Do not assume one static contract per environment; markets can have different order contract addresses.**Order type (FIELD ORDER IS CRITICAL):**```"Order(uint256 salt,address maker,address signer,address taker,uint256 price,uint256 quantity,uint256 expiration,uint256 nonce,bytes32 questionId,uint256 feeRateBps,uint8 intent,uint8 signatureType)"```**Field meanings:**- `salt`: `"02"` + 10-digit random number (e.g. `"020123456789"`); stringified integer- `maker`: proxy wallet address (from login `proxy_wallet_addr`)- `signer`: EOA wallet address- `taker`: `0x0000000000000000000000000000000000000000` (always zero)- `price`: wei-scaled = `(priceCents / 100) * 1e6` (e.g. 55 cents → 550000; not `55 * 1e6`)- `quantity`: wei-scaled = `quantity * 1e6` (e.g. 100 shares → 100000000)- `expiration`: Unix seconds; `0` = GTC- `nonce`: `0` (always)- `questionId`: market ID as bytes32; left-pad with zeros if hex < 64 chars- `feeRateBps`: `0` (default)- `intent`: LONG = `0`, SHORT = `1` (uint8)- `signatureType`: `2` (always; uint8)## Cross-matchingCross-matching applies only **across child markets of the same parent market** (e.g. a parent with 3-outcome markets: Team A, Team B, Draw). It is enabled when the parent is configured for it.**When it applies:** A key validity condition — **Long orders summing to 100c across all markets of a cross-match–enabled parent form a valid match** (e.g. Long 25 in A + Long 25 in B + Long 50 in C = 100c).**How it works:** Orders match across child markets by combining liquidity from peer (sibling) markets into synthetic bid/ask levels. For a given child market, synthetic *Short* levels are derived from *Long* orders in peer child markets (e.g. Long 25 in B + Long 25 in C + Long 25 in D → synthetic Short at 75 for market A). An incoming Long order in A can match against these synthetic Short levels; execution is against the underlying peer Long orders. Similarly, synthetic *Long* levels can be built from *Short* orders in peer child markets; an incoming Short order can match against them.**Self-match:** Self-match is **allowed** when cross-matching is involved: the same user can match against their own liquidity **across different child markets within the same parent**. For example, your Long orders in two outcomes can provide synthetic liquidity that your Short order in the third outcome matches against. This is intentional and valid for cross-match–enabled parents. Self-match *within* the same market may be restricted; self-match *across* markets in the same parent is allowed.**Implications for API users:**- Orderbook responses may include synthetic levels; orderbook metadata can indicate `cross_matching_enabled` (e.g. in WebSocket orderbook payloads).- Placing Long orders in multiple child markets can create combined liquidity (e.g. summing to 100c Long across the parent's markets is a valid match). A Short order in another child market may match—including self-match—against that liquidity.- 422 / validation may still apply for other liquidity or validation reasons.**Example:** Long 25 in markets B, C, D → synthetic Short 75 for market A; or Long 25+25+50 across A, B, C = 100c valid match.## Units- `price`: **cents** (e.g. 55.0 = $0.55)- `quantity`: **shares**- `amount`: **USD**- `fee_rate_bps`: **basis points** (default 0)- `timestamp`: **Unix seconds** (in place order payload; within 15s of server time)

Pred Orders API is one of 7 APIs that Pred publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Order. The published artifact set on APIs.io includes an OpenAPI specification, an API reference, and authentication docs.

This API exposes 6 operations across 6 paths, and defines 12 schemas. It is described by OpenAPI 3.2.0, at version 1.0.0.

Requests are made against 2 base URLs: https://testnet.pred.app, https://www.pred.app.

6 operations 6 paths 12 schemas 3 DELETE2 GET1 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0.0
Base URL
https://www.pred.app
Authentication
HTTP Bearer
Resource Areas
1

Authentication & Security 1

Pred Orders API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (JWT) (BearerAuth).

  • BearerAuth — JWT access token from login endpoint

Paths & Operations 6

Across 6 paths, the API surfaces 6 operations — 3 DELETE, 2 GET, 1 POST. Each is listed below with its method, path, parameters, and response codes.

Orders 6

Order placement, cancellation, and management endpoints. EIP-712 order signature All orders must be signed using EIP-712. Format: 0x (132 hex characters), low-s normalized. Domain…

POST
/api/v1/order/{parentMarketID}/place
Place a new order
placeOrder 3 params body → 202400401422
DELETE
/api/v1/order/{parentMarketID}/cancel
Cancel an order
cancelOrder 3 params body → 200202401404
DELETE
/api/v1/order/{parentMarketID}/cancel/all
Cancel all orders for a parent market
cancelAllForParent 3 params → 200202401
DELETE
/api/v1/order/{parentMarketID}/cancel/bulk
Bulk cancel orders for a parent market
cancelOrdersBulk 3 params body → 200202401
GET
/api/v1/order/{parentMarketID}/open-orders
Get open orders for a parent market (recommended)
getOpenOrdersForParent 3 params → 200401
GET
/api/v1/order/{parentMarketID}/orderbook/{marketID}
Get order book for a market
getOrderBook 6 params → 200401404

Schemas 12

The contract defines 12 schemas that model the data the API accepts and returns. The most detailed are PlaceOrderRequest (15 properties), OpenOrder (8 properties), BulkCancelOrdersResponse (5 properties), CancelOrderResponse (4 properties). Each schema is shown below with its type and property counts.

BulkCancelOrdersRequest
object
1 property
CancelOrderResponse
object
4 properties
OrderResponse
object
Place order response. See status enum for meanings.
3 properties
OpenOrdersResponse
object
1 property
BulkCancelOrdersResponse
object
5 properties
CancelOrderRequest
object
2 properties 2 required
PlaceOrderRequest
object
15 properties 7 required
OpenOrder
object
8 properties
OrderBookResponse
object
3 properties
ErrorResponse
object
3 properties
Error
object
3 properties
OrderBookLevel
object
2 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

pred-orders-api-openapi.yml Raw ↑

Other APIs Pred publishes across the network.

Pred Authentication API
Pred Market Discovery API
Pred Overview API
Pred Portfolio API
Pred User API
Pred WebSocket API
Where this information came from

This is an independent, third-party profile of Pred Orders API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.