Skip to main content
Back to App

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.

Placing orders through the API is not open yet

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
}
FieldValueNotes
nameConviction CTF ExchangeMust match exactly, including capitalization and spaces.
version1A string, not a number.
chainId56BNB Smart Chain mainnet.
verifyingContract0xA7BFCEB50DAe586c74494c17cd7EAD6DCfa1aF0bThe CTF Exchange contract — the same address listed under Contract addresses.
A wrong domain does not fail at signing time

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

Was this page helpful?