Source
Every event on this page comes from one of 18 Polymarket contracts on Polygon. These are the contracts Radion watches for logs.Exchanges
Order fills, matches, fees, and the order lifecycle.| Contract | Address |
|---|---|
| CTFExchange (v1) | 0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E |
| CTFExchange (v2) | 0xE111180000d2663C0091e4f400237545B87B996B |
| NegRiskCTFExchange (v1) | 0xC5d563A36AE78145C45a50134d48A1215220f80a |
| NegRiskCTFExchange (v2) | 0xe2222d279d744050d28e00520010520000310F59 |
| Combos Exchange | 0xe3333700cA9d93003F00f0F71f8515005F6c00Aa |
Conditional tokens and collateral
Position splits, merges, redemptions, and ERC-1155 transfers at the base layer.| Contract | Address |
|---|---|
| ConditionalTokens (CTF) | 0x4D97DCd97eC945f40cF65F87097ACe5EA0476045 |
| CtfCollateralAdapter | 0xAdA100Db00Ca00073811820692005400218FcE1f |
| NegRiskCtfCollateralAdapter | 0xadA2005600Dec949baf300f4C6120000bDB6eAab |
Market setup and resolution
NegRisk market setup, outcome reporting, and UMA oracle resolution.| Contract | Address |
|---|---|
| NegRiskAdapter | 0xd91E80cF2E7be2e162c6513ceD06f1dD0dA35296 |
| UMAAdapter | 0x6A9D222616C90FcA5754cd1333cFD9b7fb6a4F74 |
| UMAOptimisticOracle | 0xCB1822859cEF82Cd2Eb4E6276C7916e692995130 |
Modules and redemption
Binary, neg-risk, and combinatorial modules, plus automatic redemption and combos position transfers.| Contract | Address |
|---|---|
| AutoRedeemer | 0xa1200000d0002264C9a1698e001292D00E1b00af |
| BinaryModule | 0x1000008dD9001B968442c1000017eaE6E0dA00Ba |
| NegRiskModule | 0x200000900045e3B6259600682756002200028933 |
| CombinatorialModule | 0x30000034706C7d8e12009DAB006Be20000c031A8 |
| PositionManager | 0x006F54F7f9A22e0000CC2AB60031000000ae9fEF |
Wallet factories
Deposit wallet and Gnosis Safe proxy creation.| Contract | Address |
|---|---|
| DepositWalletFactory | 0x00000000000Fb5C9ADea0298D729A0CB3823Cc07 |
| Gnosis Safe ProxyFactory | 0xaacfeea03eb1561c4e67d661e40682bd20e3541b |
Adapter contracts
Some of these contracts are adapters. An adapter wraps Polymarket’s base ConditionalTokens (CTF) protocol and adds market-specific logic on top. The base CTF contract is generic. It only knows conditions, positions, and payouts. It does not know about neg-risk markets, fees, or how a market resolves. Adapters fill that gap:- CtfCollateralAdapter and NegRiskCtfCollateralAdapter handle collateral. They split and merge positions and redeem them into collateral, so trades settle in USDC instead of raw CTF positions.
- NegRiskAdapter runs neg-risk markets. It prepares markets and questions, reports outcomes, and converts exposure across neg-risk outcomes.
- UMAAdapter connects markets to the UMA optimistic oracle. It initializes questions, applies results, and handles pauses and emergency resolution.
What we decode
| Area | Events | Why it matters |
|---|---|---|
| Trades | OrderFilledV1, OrderFilledV2, OrdersMatchedV1, OrdersMatchedV2, FeeChargedV1, FeeChargedV2, OrderCancelled, OrderPreapproved, OrderPreapprovalInvalidated, TradingPaused, TradingUnpaused, TokenRegistered | Full order lifecycle across exchange v1 and v2. |
| Redemptions | Redemption, BinaryRedemption, NegRiskRedemption, PositionsRedeemed | All paths by which positions are redeemed into collateral. |
| Collateral operations | CollateralPositionSplit, CollateralPositionsMerged, CollateralPositionsConverted | Collateral-layer splits, merges, and neg-risk conversions. |
| Conditional tokens | ConditionPreparation, ConditionResolution, CtfPositionSplit, CtfPositionsMerge, CtfPayoutRedemption, TransferSingle, TransferBatch | Base CTF layer: position creation, merging, redemption, and transfer. |
| NegRisk adapter | MarketPrepared, NegRiskQuestionPrepared, OutcomeReported, NegRiskPositionsConverted | NegRisk market setup and outcome reporting. |
| UMA resolution | 16 events across UMAAdapter and UMAOptimisticOracle | Full oracle lifecycle: initialization, proposals, disputes, settlements, pauses, emergency resolution. |
| Module lifecycle | EventPrepared, ResultReported, PositionRedeemed, ModulePositionsMerged, ModulePositionsSplit, HorizontalMerge, HorizontalSplit, PositionConverted, ConditionResolved, ResolutionPaused, ResolutionUnpaused, ResolverPaused, ResolverUnpaused | Binary and NegRisk module operation and resolution control. |
| Bridge and migration | BridgePositionMinted, BridgePositionsBurned, LegacyCollateralSettled, MigrationConditionRegistered, MigrationResolved, PositionMigrated | Cross-module bridge and v1→v2 migration flows. |
| Combinatorial | CombinatorialConditionPrepared, Compressed, ConvertedToYesBasket, Extracted, Injected, MergedFromYesBasket, MergedOnCondition, SplitOnCondition, CombinatorialWrapped, CombinatorialUnwrapped | Combinatorial market operations. |
| Wallet factories | WalletDeployed, ProxyCreation | Deposit wallet and Gnosis Safe proxy creation. |
Event reference
Trades and order lifecycle
Shared across CTFExchange v1/v2 and NegRiskCTFExchange v1/v2.| Event | Role | Contract |
|---|---|---|
OrderFilledV1 | Records an executed fill on exchange v1. Carries maker, taker, asset ids, amounts, and fee. Primary trade event for v1 markets. | CTFExchange / NegRiskCTFExchange (v1) |
OrderFilledV2 | Records an executed fill on exchange v2. Adds side, builder, and metadata fields compared to v1. Primary trade event for v2 markets. | CTFExchange / NegRiskCTFExchange (v2) |
OrdersMatchedV1 | Records the matched order pair around a v1 execution. Explains how taker intent matched maker liquidity. | CTFExchange / NegRiskCTFExchange (v1) |
OrdersMatchedV2 | Records the matched order pair around a v2 execution. Includes side and tokenId. | CTFExchange / NegRiskCTFExchange (v2) |
FeeChargedV1 | Records exchange fees on v1. Separates gross trading volume from fee impact. | CTFExchange / NegRiskCTFExchange (v1) |
FeeChargedV2 | Records exchange fees on v2. Simplified to receiver and amount. | CTFExchange / NegRiskCTFExchange (v2) |
OrderCancelled | Records a canceled order by its hash. Useful for understanding liquidity that disappeared before execution. | CTFExchange / NegRiskCTFExchange (v1) |
OrderPreapproved | Records a v2 order preapproval. Supports authorization context for orders that can later execute. | CTFExchange / NegRiskCTFExchange (v2) |
OrderPreapprovalInvalidated | Records invalidated v2 order preapprovals. Shows when preapproved order intent becomes unusable. | CTFExchange / NegRiskCTFExchange (v2) |
TokenRegistered | Maps exchange-tradable token ids (token0, token1) back to a condition id. Required to connect fills to markets. | CTFExchange / NegRiskCTFExchange (v1) |
TradingPaused | Records when an exchange operator pauses trading. Signals periods of suspended execution. | CTFExchange / NegRiskCTFExchange (v2) |
TradingUnpaused | Records when trading resumes after a pause. | CTFExchange / NegRiskCTFExchange (v2) |
Redemptions
| Event | Role | Contract |
|---|---|---|
Redemption | Records an AutoRedeemer redemption. Tracks automatic position settlement. | AutoRedeemer |
BinaryRedemption | Records a BinaryModule redemption. Tracks binary market position settlement. | AutoRedeemer |
NegRiskRedemption | Records a NegRiskModule redemption. Tracks neg-risk position settlement. | AutoRedeemer |
PositionsRedeemed | Records collateral-adapter level redemption: initiator, condition, outcome amounts, and payout. Connects resolved conditions to realized collateral flows. | CtfCollateralAdapter / NegRiskCtfCollateralAdapter |
Collateral operations
Shared between CtfCollateralAdapter and NegRiskCtfCollateralAdapter.| Event | Role | Contract |
|---|---|---|
CollateralPositionSplit | Records collateral split into outcome positions. Identifies position creation at the collateral-adapter layer. | CtfCollateralAdapter / NegRiskCtfCollateralAdapter |
CollateralPositionsMerged | Records outcome positions merged back at the collateral layer. Identifies position closing before redemption. | CtfCollateralAdapter / NegRiskCtfCollateralAdapter |
CollateralPositionsConverted | Records NegRisk collateral conversion between outcome positions. Tracks equivalent exposure moving across neg-risk token structures. | NegRiskCtfCollateralAdapter |
Conditional token base layer
Events emitted by the ConditionalTokens (CTF) contract and the CtfCollateralAdapter.| Event | Role | Contract |
|---|---|---|
ConditionPreparation | Records a new condition being prepared. Connects condition id to oracle, question id, and outcome slot count. | ConditionalTokens |
ConditionResolution | Records final payout numerators for a condition. Defines how a resolved condition distributes collateral. | ConditionalTokens |
CtfPositionSplit | Records collateral split into conditional token positions at the CTF base layer. | ConditionalTokens |
CtfPositionsMerge | Records conditional token positions merged at the CTF base layer. | ConditionalTokens |
CtfPayoutRedemption | Records redemption of conditional tokens into payout collateral at the CTF base layer. | ConditionalTokens |
TransferSingle | Records one ERC-1155 conditional-token transfer. Tracks individual position-token movement between wallets. | ConditionalTokens / PositionManager |
TransferBatch | Records multiple ERC-1155 transfers in one transaction. Needed when positions move as a batch. | ConditionalTokens / PositionManager |
NegRisk adapter
| Event | Role | Contract |
|---|---|---|
MarketPrepared | Records neg-risk market setup. Connects a market id to its oracle, fee, and preparation metadata. | NegRiskAdapter |
NegRiskQuestionPrepared | Records neg-risk question setup. Connects a question to its market id and index. | NegRiskAdapter |
OutcomeReported | Records a reported neg-risk outcome. Provides resolution context for neg-risk markets. | NegRiskAdapter |
NegRiskPositionsConverted | Records neg-risk position conversion at the adapter layer. Tracks exposure moving across neg-risk token structures. | NegRiskAdapter |
UMA resolution — UMAAdapter
| Event | Role | Contract |
|---|---|---|
UmaAdapterQuestionInitialized | Records initialization of a UMA-resolved question. | UMAAdapter |
UmaAdapterQuestionResolved | Records final resolution of a UMA question. | UMAAdapter |
UmaAdapterQuestionEmergencyResolved | Records an emergency override resolution. Signals admin intervention outside normal dispute flow. | UMAAdapter |
UmaAdapterQuestionFlagged | Records a question flagged for review. | UMAAdapter |
UmaAdapterQuestionPaused | Records a UMA question paused mid-lifecycle. | UMAAdapter |
UmaAdapterQuestionUnpaused | Records a paused UMA question resuming. | UMAAdapter |
UmaAdapterQuestionReset | Records a question reset back to initialized state. | UMAAdapter |
UmaAdapterAncillaryDataUpdated | Records updated ancillary data for a question. | UMAAdapter |
UMA resolution — UMAOptimisticOracle
| Event | Role | Contract |
|---|---|---|
UmaOptimisticQuestionInitialized | Records initialization of an optimistic oracle question. | UMAOptimisticOracle |
UmaOptimisticQuestionResolved | Records final resolution via the optimistic oracle. | UMAOptimisticOracle |
UmaOptimisticQuestionPaused | Records an optimistic oracle question paused. | UMAOptimisticOracle |
UmaOptimisticQuestionUnpaused | Records an optimistic oracle question unpaused. | UMAOptimisticOracle |
UmaOptimisticQuestionSettled | Records a question settled after dispute window. | UMAOptimisticOracle |
UmaOptimisticResolutionDataRequested | Records a resolution data request being submitted. | UMAOptimisticOracle |
UmaOptimisticQuestionUpdated | Records an update to an optimistic oracle question. | UMAOptimisticOracle |
UmaOptimisticQuestionFlaggedForAdminResolution | Records a question escalated to admin resolution. | UMAOptimisticOracle |
Module lifecycle
Events from BinaryModule and NegRiskModule.| Event | Role | Contract |
|---|---|---|
EventPrepared | Records a new event prepared in a module. | BinaryModule / NegRiskModule |
ResultReported | Records a result reported to a module. | BinaryModule / NegRiskModule |
PositionRedeemed | Records a position redeemed through a module. | BinaryModule / NegRiskModule |
ModulePositionsMerged | Records positions merged within a module. | BinaryModule / NegRiskModule |
ModulePositionsSplit | Records positions split within a module. | BinaryModule / NegRiskModule |
HorizontalMerge | Records a NegRisk horizontal merge across outcomes. Tracks multi-outcome position collapsing. | NegRiskModule |
HorizontalSplit | Records a NegRisk horizontal split across outcomes. | NegRiskModule |
PositionConverted | Records a position converted within the NegRisk module. | NegRiskModule |
ConditionResolved | Records a condition resolved within the module system. | BinaryModule / NegRiskModule |
ResolutionPaused | Records resolution paused for a module. Signals that market resolution is temporarily blocked. | BinaryModule / NegRiskModule |
ResolutionUnpaused | Records resolution unpaused. | BinaryModule / NegRiskModule |
ResolverPaused | Records the resolver paused at the module level. | BinaryModule / NegRiskModule |
ResolverUnpaused | Records the resolver unpaused. | BinaryModule / NegRiskModule |
Bridge and migration
| Event | Role | Contract |
|---|---|---|
BridgePositionMinted | Records a bridge position minted. Tracks cross-module bridging flows. | BinaryModule / NegRiskModule |
BridgePositionsBurned | Records bridge positions burned on the source side. | BinaryModule / NegRiskModule |
LegacyCollateralSettled | Records settlement of legacy collateral during migration. | BinaryModule / NegRiskModule |
MigrationConditionRegistered | Records a condition registered for migration. | BinaryModule / NegRiskModule |
MigrationResolved | Records a migration resolved. | BinaryModule / NegRiskModule |
PositionMigrated | Records a position migrated across module versions. | BinaryModule / NegRiskModule |
Combinatorial markets
| Event | Role | Contract |
|---|---|---|
CombinatorialConditionPrepared | Records a new combinatorial condition prepared. | CombinatorialModule |
Compressed | Records positions compressed in the combinatorial module. | CombinatorialModule |
ConvertedToYesBasket | Records positions converted into a yes basket. | CombinatorialModule |
Extracted | Records positions extracted from a combinatorial structure. | CombinatorialModule |
Injected | Records positions injected into a combinatorial structure. | CombinatorialModule |
MergedFromYesBasket | Records positions merged out of a yes basket. | CombinatorialModule |
MergedOnCondition | Records a merge scoped to a single condition within a combinatorial market. | CombinatorialModule |
SplitOnCondition | Records a split scoped to a single condition within a combinatorial market. | CombinatorialModule |
CombinatorialWrapped | Records positions wrapped in the combinatorial module. | CombinatorialModule |
CombinatorialUnwrapped | Records positions unwrapped in the combinatorial module. | CombinatorialModule |
Wallet factories
| Event | Role | Contract |
|---|---|---|
WalletDeployed | Records a new deposit wallet deployed via DepositWalletFactory. Connects wallet address to owner and implementation. | DepositWalletFactory |
ProxyCreation | Records a new Gnosis Safe proxy deployed. Tracks smart-wallet creation for institutional participants. | Gnosis Safe ProxyFactory |