> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bravadotrade.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Trade API on Predict.fun

> Order execution and position management on Predict.fun via the Bravado Trade API v2. Add venue: predictfun to route to Predict.fun.

The [Trade API](/products/trade-api) supports Predict.fun through the **v2 surface**. You use the same endpoints, credentials, HMAC signing, and idempotency contract as Polymarket — you add `"venue": "predictfun"` to the request body (or `?venue=predictfun` on `GET`/`DELETE` routes).

Omitting `venue` always means Polymarket, so existing integrations are unaffected.

## Two ways to select the venue

**Field-based (canonical).** Put `"venue": "predictfun"` in the body (or
`?venue=predictfun` on GET/DELETE). Omitting it means Polymarket — the
backward-compatible default.

**Path-based aliases.** `/v2/trade/{venue}/...` mirrors the venue-aware routes
with the venue pinned in the path — convenient when a gateway or client keys a
base path per venue:

```bash theme={null}
POST   /v2/trade/predictfun/order
GET    /v2/trade/predictfun/positions
DELETE /v2/trade/predictfun/orders/{id}
```

The path is authoritative (it overrides any `venue` in the body). Sign the
exact path you call — HMAC uses it verbatim. An unknown venue segment returns
`404`. Venue-neutral routes (users, combos, withdrawable balances) have no
path alias. Both forms hit the same handlers and enforce the same entitlement.

This page covers what is specific to Predict.fun. For the full behaviour of each order type, see the [Trade API product page](/products/trade-api); for endpoint-level detail, see the [Trade API reference](/api/trade/overview).

## Entitlement

Predict.fun is enabled per partner. A request with `venue: "predictfun"` from a key that is not entitled returns `VENUE_NOT_ENABLED` (403). Ask your Bravado contact to enable the venue for your key.

## Supported order types

| Type     | Returns     | Notes on Predict.fun                                                             |
| -------- | ----------- | -------------------------------------------------------------------------------- |
| `LIMIT`  | `order_id`  | Rests on the book (GTC). Subject to the \$0.90 minimum order value.              |
| `MARKET` | `order_id`  | Fills against the touch with slippage tolerance.                                 |
| `TWAP`   | `record_id` | Splits a parent order across a duration; each slice respects the \$0.90 minimum. |

Order types not listed (`PEGGED`, `ICEBERG`, `STOP_LOSS`, `TAKE_PROFIT`, `TRAILING_STOP`) are not yet available on Predict.fun and return `VENUE_CAPABILITY_UNSUPPORTED`.

## Venue-specific behaviour

* **`symbol`** is the on-chain outcome token id (a numeric string), not the market.
* **`price`** is a decimal probability snapped to a **`0.01` tick**. `time_in_force` (IOC/FOK) and `expiration` (GTD) are not supported — orders rest GTC.
* **Minimum order value is \$0.90.** A smaller order is rejected; a TWAP slice below it is bumped to the minimum.
* **Fees** are set by the market (`feeRateBps`, commonly 200 = 2%) and charged **in shares** on buys — a 10-share fill credits roughly 9.8 shares.
* **Order ids are numeric strings.** Cancel by that id, the same way as Polymarket's `0x` hashes.
* Balances and withdrawals are **USDT on BNB Chain**.

## Positions

Predict.fun positions support **redeem, split, and merge**, plus **withdraw** to an external address. Winning shares become redeemable once the market resolves; redeeming a losing position is a valid no-op that returns a zero payout.

Pass `"venue": "predictfun"` on the positions, redeem, split, merge, and withdraw routes. See [Positions](/products/trade-api#positions) for the full lifecycle.

## Not yet supported

* Copytrade and Combos (Polymarket only).
* Live fill streams (poll positions/activity).
* IOC/FOK time-in-force and GTD expiration.

## Related

* [Trade API product overview](/products/trade-api)
* [Trade API endpoint reference](/api/trade/overview)
* [Predict.fun overview](/markets/predict-fun/overview)
* [Same product on Polymarket](/markets/polymarket/trade-api)
