Skip to main content
One setup, order, cancel and read cover every venue. What differs is the chain, the collateral, and a few order rules.

At a glance

Every cancel signs on Polygon (0x89), whatever the venue. See what the wallet signs.

Polymarket

  • Setup: connect to Polymarket (a ClobAuth signature), then approve the trading wallet (a Batch signature) if it isn’t approved yet. No gas.
  • Funding: send pUSD on Polygon to venues.polymarket.tradingWallet.
  • Delayed markets: some markets hold taking orders for a short delay before matching: sports markets during games (usually 1–3 s), others 250 ms. The action stays working with holdUntilMs, then ends done with the final fill. Market data shows the delay as match_delay_ms. See delayed markets.
  • Selling right after buying: bought shares settle on-chain a few seconds after the fill. Selling them sooner can fail with VENUE_REJECTED (not enough balance): retry after a few seconds.
  • Fees: Polymarket charges its taker fee on top, in pUSD, so it never reduces filledSize.
  • Split, merge and redeem: see on-chain intents (preview).

Predict.fun

  • Setup: one wallet_sendCalls with the missing approvals (the user pays BNB gas once, about 70,000 gas each), then a personal_sign of Predict.fun’s own login message. With too little BNB, setup asks for nothing and reports next: "fund" with venueDetail.reason and venueDetail.gasWei.
  • Funding: send USDT on BNB Chain to the wallet itself, plus a little BNB for the approvals.
  • Sessions: the Predict.fun sign-in lasts about a day. An order asks for it again when less than an hour is left. Status shows it as venueDetail.sessionExpiresAt.
  • Resting orders end with the session. A GTC order is placed as GTD ending 10 minutes before the session expires. A GTD order’s expiresAt is capped the same way. Place a new order after the next sign-in.
  • Fills: Predict.fun reports no fills when an order is posted, so order results come back with final: false. Follow fills in orders.
  • Fees: the market’s venue fee rate (feeRateBps) is part of the order the wallet signs.

Hyperliquid

Hyperliquid outcome markets (HIP-4).
  • Setup: one ApproveAgent signature, plus ApproveBuilderFee where a builder fee is configured. No gas. The agent can place and cancel orders only: it can’t withdraw or transfer, and the user can revoke it on Hyperliquid at any time.
  • Funding: deposit USDC to the wallet’s Hyperliquid account. Hyperliquid refuses every action from an account that has never been funded, the agent approval included, so fund first, then set up.
  • Perps balance: when spot USDC is short and the wallet’s perps account can cover the gap, the order asks for one extra signature that moves exactly the shortfall from perps to spot. Status shows how much can move as venueDetail.transferFromPerps.available.
  • Cost check: a buy needs price × size × (1 + taker fee + builder fee), rounded up to the cent, in spot USDC.
  • Order status: a just-placed order can come back as executing, then show live in orders once Hyperliquid confirms it.
  • Blocked accounts: some Hyperliquid account modes, such as portfolio margin, can’t be used here. Status shows next: "blocked" with venueDetail.reason.
  • Agent removed: if Hyperliquid prunes the agent, status shows venueDetail.code: "HYPERLIQUID_AGENT_MISSING", and the next order re-approves it inline.

Availability

Each venue can be switched off on its own, without a deploy:
  • Not offered here. An order or a setup that names the venue answers 503 <venue> is not available right now. Setup without venues and status leave it out of venues.
  • Switched off by Kairos. Setup answers 403 API-key access to <venue> is disabled. An order fails with the same error, at the latest when its signature is submitted, so nothing is placed.
  • Briefly unreachable. Status shows the venue with available: false and an error, and leaves it out of ready and next.