Developer Integration
ABI Locations
contracts/out/<ContractName>.sol/<ContractName>.jsonjq '.abi' contracts/out/MarketFactory.sol/MarketFactory.json > abi/MarketFactory.jsonContract Addresses
Interacting with Contracts
Using wagmi/viem (TypeScript)
import { readContract, writeContract } from '@wagmi/core';
import { parseEther } from 'viem';
import MarketFactoryABI from './abis/MarketFactory.json';
import VaultABI from './abis/Vault.json';
import OrderBookABI from './abis/OrderBook.json';
// Read market metadata
const meta = await readContract({
address: MARKET_FACTORY_ADDRESS,
abi: MarketFactoryABI,
functionName: 'marketMeta',
args: [factoryMarketId],
});
// Approve Vault for USDT (one-time)
await writeContract({
address: USDT_ADDRESS,
abi: erc20ABI,
functionName: 'approve',
args: [VAULT_ADDRESS, parseEther('1000')],
});Using ethers.js (v6)
Market ID Types
ID
Source
Used By
Key Flows
1. Approve Vault for USDT
2. Place an Order
3. Batch Clearing (Atomic Settlement)
4. Redeem After Resolution
5. Create an AI Market
AI Resolution API
Collateral Formulas
Side
Collateral Required
Reading Market State
Getting Price Data from Pyth Hermes API
Common Pyth Price Feed IDs
Asset
Price Feed ID
Indexer REST API
Key Endpoints
Endpoint
Description
WebSocket
Last updated