Skip to main content
Request your private beta API key on Discord to start trading programmatically.

Overview

Predexon Trading API provides a unified interface for trading on prediction markets across multiple venues. Users don’t manage their own wallets - the API handles wallet creation, key management, and transaction signing on their behalf.

Base URL

https://trade.predexon.com

Supported Venues

Polymarket

Polygon blockchain. Supports limit and market orders on the orderbook.

Kalshi

Solana blockchain with atomic swaps. Instant execution with no persistent orderbook.
VenueBlockchainOrder Execution
polymarketPolygonOrderbook (limit/market orders)
kalshiSolanaAtomic swaps

Authentication

All requests require an API key passed via the x-api-key header:
curl -H "x-api-key: YOUR_API_KEY" \
  https://trade.predexon.com/api/users/create

Security

All wallet private keys are managed by Turnkey - Predexon never stores or has access to user private keys. Keys are generated and stored in Turnkey’s secure hardware enclaves.

Ownership Model

  • Each API key can create multiple users
  • Users are “owned” by the API key that created them
  • API keys can only access their own users (403 Forbidden otherwise)

Endpoint Categories

Order Constraints

Polymarket

ConstraintValue
Price tick size0.01 (can vary by market)
Min limit order> 5 shares (amount / price)
Min market order> 1 USDC
Amount precision2 decimal places
Orders with prices that don’t match the tick size (e.g., 0.333, 0.505) will be rejected by Polymarket.

Kalshi

ConstraintValue
Min order> 1 USDC
Outcome values”Yes” or “No” (case-sensitive)
ExecutionAtomic swaps (instant)

Amount Semantics

SideAmount Represents
buyUSDC to spend
sellShares to sell

Response Format

Success Responses

All successful responses return appropriate HTTP status codes with JSON body:
{
  "orderId": "0x1234...",
  "venue": "polymarket",
  "status": "live"
}

Error Responses

Errors return appropriate HTTP status codes with a JSON body:
{
  "error": "Insufficient balance",
  "message": "not enough balance / allowance"
}
Status CodeDescription
400Bad Request - Invalid parameters or insufficient funds
401Unauthorized - Missing API key
403Forbidden - User not owned by this API key or geo-restricted
404Not Found - User or resource doesn’t exist
500Internal Server Error

Geo-Restrictions

In compliance with Kalshi’s regulatory requirements, Kalshi trading is unavailable in certain regions. Affected endpoints return:
{
  "error": "Kalshi trading is not available in your region",
  "code": "GEO_RESTRICTED"
}
Afghanistan, Algeria, Angola, Australia, Belarus, Belgium, Bolivia, Bulgaria, Burkina Faso, Cameroon, Canada, Central African Republic, China, Côte d’Ivoire, Cuba, Democratic Republic of the Congo, Ethiopia, France, Haiti, Iran, Iraq, Italy, Kenya, Laos, Lebanon, Libya, Mali, Monaco, Mozambique, Myanmar, Namibia, Nicaragua, Niger, North Korea, Poland, Russia, Singapore, Somalia, South Sudan, Sudan, Switzerland, Syria, Taiwan, Thailand, Ukraine, United Arab Emirates, United Kingdom, United States, Venezuela, Yemen, Zimbabwe
Affected Endpoints:
  • POST /api/users/create (creates both Polymarket and Kalshi wallets)
  • Any endpoint with venue=kalshi

Polymarket vs Kalshi

FeaturePolymarketKalshi
BlockchainPolygonSolana
Order TypesLimit & MarketAtomic swaps
Market IdentifiertokenIdticker + outcome
Gas FeesGasless relayUser pays SOL
Cancel OrdersYesNo (atomic execution)
Get Polymarket tokenId from the List Markets endpoint - each outcome has a unique ID in the outcomes array. For Kalshi, use the market ticker from Kalshi List Markets with outcome set to "Yes" or "No".

Token Addresses

Reference addresses for tokens used across venues.

Polygon (Polymarket)

TokenChain IDAddress
USDC.e1370x2791Bca1f2de4661ED88A30C99A7a9449Aa84174
You can also use the Bridge API to deposit from Ethereum, Solana, Bitcoin, or other chains. Funds are automatically converted to USDC.e and deposited to your Polymarket wallet.

Solana (Kalshi)

TokenAddress
USDCEPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
SOLNative token (no contract address)
Send USDC on Solana and SOL to your Kalshi wallet. Do not send USDC from other chains directly. SOL is required for transaction fees.