Building a Polymarket CLOB Client in Elixir: Architecture and Cryptography
Polymarket CLOB API needs 3 auth layers (REST, L1 Ethereum wallet, L2 HMAC). No Elixir client exists yet — signet package provides EIP-712 support for building one.
Polymarket's Central Limit Order Book (CLOB) API requires three authentication layers: 1. HTTP REST for market data 2. L1 Ethereum wallet authentication (secp256k1 elliptic curve signatures) 3. L2 HMAC per-request authentication for trading operations Key cryptographic concepts involved: secp256k1 (Ethereum's elliptic curve), EIP-712 typed data signing (structured data hashing for wallet signatures), ECDSA (the signature algorithm), keccak256 (Ethereum's hash function), and ABI encoding. As of early 2026, no Elixir Polymarket CLOB client exists on hex.pm or GitHub. Relevant Elixir packages for building one: `signet` (full EIP-712 support), `eip712`, `ex_eip712`. Reference implementations exist in Python (`py-clob-client`) and TypeScript (`@polymarket/clob-client`).