vike
Venues

Polymarket

Polymarket on Vike Trader: capabilities, order kinds, time-in-force handling, margin, fees, amend semantics and how the bridge is wired — rendered from the venue tables the runtime consults.

Polymarket is one of the 14 venues Vike Trader mounts through the shared bridge contract: the runtime speaks to every venue through one ExecutionClient seam, and everything below is rendered from the capability tables that seam is built on — caps_for, venue_margin_support, fee_schedule_for, amend_semantics, attribution_for and venue_tif in the Rust workspace — exported as venues.json at every release. This page cannot state a stale capability: each table has a roster-completeness gate in the product tree, and a wrong row fails that gate before it could reach here. What a table cannot hold — the operational judgement — lives in the hand-written venues overview.

How the bridge is wired

Class: feature-gated. The live arm compiles only under a vike-mount cargo feature; a default build has no arm at all and falls through to paper, byte-identical. Reconcile, where wired, sits behind the same feature plus the venue's own inner gates. A release binary built without the feature will never trade here whatever the credential store holds.

Two independent inner gates, both unset by default: POLY_EXEC=1 and POLY_RECONCILE=1. Reconciling with POLY_RECONCILE=1 but without POLY_EXEC=1 is quarantine-only, because reconciling a live account against a paper engine would let PositionDrift — the one kind the hybrid policy auto-applies — import the live position into the paper books (crates/bridges/polymarket/src/mount.rs's module header, which names both gates and their defaults). The hand-written companion, Polymarket operations, carries the rest.

Capabilities

CapabilityValue
Modify (amend) an orderno
Native batch submit / cancelno
Reduce-onlyno
Combo (multi-leg) ordersno
Post-onlyno
Batch size cap0
Backfill: barsno
Backfill: ticksno

Live market data the bridge feeds: quotes, trades, book.

Order kinds and triggers

Order kinds the adapter wires: market, limit. Trigger types for the conditional kinds: none. The vocabulary is the canonical one from vike_model::venue_caps::ORDER_KINDS, not this venue's wire strings; the orders concepts pages explain each kind's semantics and the per-venue matrix.

Time in force

"Supported" is what the adapter wires; "accepted" is what it will take from a strategy without rejecting — a TIF can be accepted and then coerced or ignored on the wire, and that is what the last column says (vike_bridge_core::tif::venue_tif).

TIFSupportedAcceptedOn the wire
GTCyesyesmapped to GTC
IOCnoyescoerced to FOK (FOK)
FOKyesyesmapped to FOK
GTDnoyesmapped to GTD
Daynoyescoerced to GTC (GTC)

Margin

Margin modes the adapter offers: cash, defaulting to cash. What the exchange itself offers (a vendor-documentation transcription, vike_model::venue_margin_support): cash, switched not-applicable; the isolated-margin wallet is not adjustable.

Fees

Free in the default schedule (the venue's opt-in probability curve is deliberately not exported). The schedule is vike_model::fee_schedule_for's default row and is what the cost model charges in a backtest.

Amending orders

A modify on this venue is applied not at all — modify is unsupported here, so a change is a cancel and a new order (vike_model::amend_semantics).

Attribution

A signed builder address (no on-chain approval needed); set POLYMARKET_BROKER_CODE or POLYMARKET_BUILDER_CODE. An absent or invalid code degrades to no attribution with a byte-identical wire (vike_model::attribution::attribution_for).

On this page