package polymarket

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Polymarket_clob.Order_builderSource

High-level order building helpers for the CLOB API.

This module provides ergonomic functions for building signed orders. For low-level signing, see Polymarket_common.Order_signing.

Example:

  let order =
    Order_builder.create_limit_order
      ~private_key:"your_private_key_hex"
      ~token_id:"12345..."
      ~side:Types.Side.Buy
      ~price:0.65
      ~size:100.0
      ()
  in
  let request =
    Order_builder.create_order_request
      ~order
      ~order_type:Types.Order_type.Gtc
  in
  (* Submit with Clob.L2.create_order *)

Amount Calculations

Sourceval calculate_amounts : side:Polymarket_clob.Types.Side.t -> price:float -> size:float -> string * string

Calculate maker and taker amounts for an order.

For BUY orders: maker provides USDC, receives CTF tokens For SELL orders: maker provides CTF tokens, receives USDC

  • parameter side

    Buy or Sell

  • parameter price

    Price per share (typically 0.0 to 1.0)

  • parameter size

    Number of shares

  • returns

    (maker_amount, taker_amount) as decimal strings

Order Building

Sourceval create_limit_order : private_key:Polymarket_common.Crypto.private_key -> token_id:string -> side:Polymarket_clob.Types.Side.t -> price:float -> size:float -> ?expiration:string -> ?nonce:int -> ?fee_rate_bps:string -> unit -> Types.signed_order

Create a signed limit order ready for submission.

  • parameter private_key

    Ethereum private key (64 hex chars, no 0x prefix)

  • parameter token_id

    The CTF token ID for the market outcome

  • parameter side

    Buy or Sell

  • parameter price

    Price per share (0.0 to 1.0 for prediction markets)

  • parameter size

    Number of shares to buy/sell

  • parameter expiration

    Optional Unix timestamp for order expiry (default: 1 year)

  • parameter nonce

    Optional order nonce (default: 0)

  • parameter fee_rate_bps

    Optional fee rate in basis points (default: "0")

  • returns

    A fully signed order with all required fields

Sourceval create_order_request : order:Types.signed_order -> order_type:Types.Order_type.t -> Types.order_request

Create an order request for API submission.

  • parameter order

    The signed order from create_limit_order

  • parameter order_type

    Order type: Gtc, Gtd, Fok, or Fak

  • returns

    An order request ready for Clob.L2.create_order