Builder Mode

Build your own trading terminal on top of Opinion's prediction market with non-custodial user management and 2,000 free gasless transactions per day.

Overview

Builder mode lets platforms manage user sub-accounts and place orders on behalf of users. Users retain control of their funds through Gnosis Safe wallets and sign all operations with their own keys.

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Your App    β”‚     β”‚  Opinion Backend  β”‚     β”‚  BNB Chain  β”‚
β”‚  (Builder)   │────>β”‚  (API + Relayer)  │────>β”‚  (On-chain) β”‚
β”‚              β”‚     β”‚                   β”‚     β”‚             β”‚
β”‚  BuilderClient     β”‚  - Order matching β”‚     β”‚  - Safe     β”‚
β”‚  + UserClientβ”‚<────│  - TX relay       β”‚<────│  - CTF      β”‚
β”‚              β”‚     β”‚  - Safe creation  β”‚     β”‚  - ERC20    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Three wallets involved:

Wallet
What
Who Controls

EOA (signer)

Signs orders and Safe transactions

User (private key)

Safe (asset wallet)

Holds funds, executes trades

Multi-sig (EOA is owner)

Builder API key

Authenticates builder API calls

Builder (your server)

Quick Start

Configuration

Parameter
Type
Required
Description

host

string

Yes

API host URL

builderApiKey

string

Yes

Builder API key (uses builder-apikey header)

chainId

number

Yes

Blockchain chain ID (56 for BNB Chain)

rpcUrl

string

No

RPC endpoint URL (required for Safe operations)

proxyUrl

string

No

HTTP proxy URL for API requests

useBeta

boolean

No

Use beta/testnet addresses (default: false)

contractAddresses

object

No

Override specific contract addresses

quoteTokensCacheTtl

number

No

Cache TTL for quote tokens in seconds (default: 3600)

marketCacheTtl

number

No

Cache TTL for market data in seconds (default: 300)

API Reference

User Management

Market Data

Trading

On-chain Operations

Testing

Error Handling

Signature Types

Type
Value
Description

EOA

0

Direct EOA signature (maker == signer)

POLY_GNOSIS_SAFE

2

Gnosis Safe signature (maker != signer)

The signature type is automatically determined based on whether signerAddress differs from userWalletAddress in buildOrderForSigning().

Last updated