> ## Documentation index
> Fetch the complete documentation index at: https://docs.predictefy.com/llms.txt
> Use it to discover every available page before exploring further.

# PRED

> The build request schema, signing scheme, and bounds for PRED.

## What you need first

- **Production status:** **Darked on 2026-08-13.** PRED is absent from the 13 armed hosted lanes;
  `PRED_EXCHANGE_ADDRESSES` is empty. The build/sign contract below remains documentation for the
  source-ready lane and a possible caller-owned future arrangement.
- **Wallet and chain:** A caller-owned PRED Safe on Base (`8453`) is the maker, and a distinct EVM
  EOA controlling that Safe signs the type-2 order client-side.
- **Venue account:** A caller-owned PRED credential arrangement is required. Predictefy's platform
  key is not accepted for orders made by caller-owned Safes.
- **Credentials:** The source-ready submit shape uses the caller's API key plus access and refresh
  JWTs for that one request; none is retained. There is no supported hosted credential path today.
- **Funding:** Do not fund for hosted submit while the lane is dark. The registry verifies neither
  the collateral asset nor the Safe funding/enablement route and exposes no hosted helper.

:::danger[Hosted execution darked — 2026-08-13]
The venue confirmed in writing that platform-key submissions for caller-owned Safe makers are
refused. Predictefy therefore emptied `PRED_EXCHANGE_ADDRESSES` and darked the lane. That allowlist
is the registration gate for the **whole** lane, not just submit, so `POST /v1/exec/pred/orders/build`
also answers `404 VENUE_NOT_SUPPORTED` today — no PRED verb is reachable over the hosted API. Source-ready
build and signing documentation is retained so callers with their own venue arrangement—and a
future evidence-backed re-arm—can use the exact artifact contract without implying hosted access.
:::

PRED is a strict server-built Safe-maker lane and has no client-echo compatibility path. It ships
**default off and unregistered**. `PRED_EXCHANGE_ADDRESSES` is empty by default and accepts only the
three live-verified Base exchanges; a catalog market whose promoted parent contract is not armed
fails closed. Check `GET /v1/exec/venues` rather than assuming a deployment enabled it.

Send `asset` (`{bytes32 child market id}#0` Long or `#1` Short), or the child `outcome` plus
`outcomeSide`, with `isBuy`, selected-outcome probability `price`, `size`, Safe `owner`, and its
distinct EOA `signer`. The server reads the parent id and verifying contract from catalog metadata,
maps normalized buy/sell semantics to PRED Long/Short intent, fixes fee to 0 and signature type to 2,
generates the `02` + 10-digit salt, and returns `buildVersion: 1` with the complete typed data. The
domain is `Pred CTF Exchange`, version `1`, chain `8453`; it is never a hardcoded exchange address.

Sign the stored digest with the EOA, then submit `{ executionId, signature, owner, apiKey,
accessToken, refreshToken }`. Artifact version/integrity and EOA recovery run before the lane reads
any caller auth. Only `{ order, signature, owner }` is persisted. The API key gates PRED login, the
access JWT authenticates order placement, and all three values remain caller-supplied per request;
the original rollout left whether that partner key could serve caller-owned Safes awaiting written
founder confirmation. **Superseded 2026-08-13:** the venue answered that platform-key submissions
are refused, so no Predictefy-hosted submit path is currently supported.

## What PRED never had, dark or armed

The darking above is only about build and submit. Everything else on this venue was never built at
all, so its absence is not a consequence of the dark lane and would not return if the lane re-armed:

- **Cancel** — no PRED cancel lane exists. The registry row is `cancelOrder: false`, so
  `POST /v1/exec/pred/orders/{id}/cancel` is an honest `NOT_SUPPORTED`, not a flagged-off verb.
- **Modify** — no PRED modify lane. Hyperliquid is the only venue with one.
- **Redeem / settlement** — the settlement registry records PRED as `not_applicable` and unserved;
  Base CTF-style redemption is unresolved, so `intent: "redeem"` answers `501 NOT_IMPLEMENTED`.
- **Status refresh** — the lane implements no status read, so
  `POST /v1/exec/pred/orders/{id}/refresh` is not supported and no background poll exists.
- **Account reads** — balances, positions, open orders, and fills are all registry `not_supported`;
  there is no hosted PRED account lane and no `client.accounts.pred`.

Read this list as capability truth rather than as silence about verbs waiting behind the dark flag.

PRED Safe enablement is a separate high-risk flow: the venue asks for a raw secp256k1 signature over
its returned `transactionHash`, without an EIP-191 prefix. Use `signPredSafeTransaction` from the
TypeScript SDK. It rebuilds the canonical Safe EIP-712 hash from every returned transaction field,
checks the token/spender/amount against the encoded ERC-20 approval, and refuses to sign any mismatch.

:::caution[PRED eligibility]
PRED restricts the US, UK, France, Ontario, Singapore, Poland, Thailand, and Taiwan, and prohibits
VPN/proxy or other location masking. Eligibility and enforcement are the operator/compliance
responsibility; source-ready code is not permission to arm or trade from a restricted location.
:::
