EIP-712 signing domain
Every order on Conviction is signed as EIP-712 typed data against the CTF Exchange contract. The app does this for you — regular users never need this page. It publishes the signing domain, so that integrators can recognize what a Conviction signature is bound to.
The public API is read-only today: market data under /v1/.... Endpoints that place or cancel orders are not part of the public API and are not documented here. They will open to bots and market makers once API keys can be issued from your account, and this page will be extended with the order structure at that point.
#Domain (EIP-712 Domain Separator)
{
name: 'Conviction CTF Exchange', // must match byte for byte
version: '1',
chainId: 56, // BNB Smart Chain mainnet
verifyingContract: '0xA7BFCEB50DAe586c74494c17cd7EAD6DCfa1aF0b', // CTF Exchange
}| Field | Value | Notes |
|---|---|---|
name | Conviction CTF Exchange | Must match exactly, including capitalization and spaces. |
version | 1 | A string, not a number. |
chainId | 56 | BNB Smart Chain mainnet. |
verifyingContract | 0xA7BFCEB50DAe586c74494c17cd7EAD6DCfa1aF0b | The CTF Exchange contract — the same address listed under Contract addresses. |
A signature made over a different domain (a typo in the name, another chain ID, another contract) is still a valid signature — just not for Conviction. Nothing errors on the client; the exchange simply does not accept it.
#Next
- REST → Markets — the public market-data endpoints
- Contract addresses — every deployed contract
- User wallet — the single-address wallet that signs orders