PredictionLabs

Deployments

Contract addresses, deployment order, and external dependencies.

Polygon Mainnet

Not yet deployed. Addresses will be published here after mainnet deployment.

Core Contracts

ContractAddress
Treasury-
MarketFactory-
OrderBook-
NegRiskAdapter-

Resolver Modules

ContractAddress
UMAResolver-
KalshiResolver-
PolymarketResolver-

Deployment Order

Core contracts are deployed in this order (OrderBook depends on Factory and Treasury):

1. Treasury(recipient)
2. MarketFactory(CTF)
3. OrderBook(CTF, Factory, Treasury, USDC)
4. NegRiskAdapter(Factory)

Resolver modules are deployed independently. Anyone can deploy new ones:

UMAResolver(Factory, OOv3, USDC)
KalshiResolver(Factory, OOv3, USDC)
PolymarketResolver(Factory, CTF)

No post-deployment configuration steps needed. Each resolver is passed the Factory address at construction and can immediately be used in createMarket.

External Dependencies

ContractAddressDescription
Gnosis CTF0x4D97DCd97eC945f40cF65F87097ACe5EA0476045ERC-1155 outcome tokens
UMA OOv30x5953f2538F613E05bAED8A5AeFa8e6622467AD3DOptimistic oracle
USDC0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359Native USDC on Polygon

ABIs

After building with Foundry:

out/MarketFactory.sol/MarketFactory.json
out/OrderBook.sol/OrderBook.json
out/Treasury.sol/Treasury.json
out/NegRiskAdapter.sol/NegRiskAdapter.json
out/UMAResolver.sol/UMAResolver.json
out/KalshiResolver.sol/KalshiResolver.json
out/PolymarketResolver.sol/PolymarketResolver.json

Each JSON file contains the abi field. Extract it for use with ethers.js, viem, or any web3 library:

# Extract ABI from Foundry output
jq '.abi' out/OrderBook.sol/OrderBook.json > orderbook-abi.json

Verification

All contracts will be verified on Polygonscan at deployment. Source code is available in this repository under src/.

On this page