Signer Authorization
Order-management requests are authorised by an EIP-712 signature from a wallet permitted to trade for your account. Manage signer permissions with your owner wallet in the environment you intend to use.
Owner wallet, signer, and accounts
Your owner wallet owns your accounts.
A signer produces the EIP-712 signatures on your orders (see Signatures & Nonces). The signer must be permissioned to act for the account it trades on — an "invalid signature" / "not permissioned" error usually means the signer isn't authorised for that
accountId.
Authorise a signer
A signer is authorised to act for an account per environment. Connect the account's owner wallet to the environment's API Keys page to add or remove authorised signer wallets: mainnet or devnet1. You can authorise more than one signer for the same account; orders signed by any currently authorised signer are accepted for that account.
For programmatic signer management, the TypeScript SDK (@reyaxyz/sdk) provides enableApiWallet and disableApiWallet. Pass the owner's signer and the additional signer's public address as apiWalletAddress, with the SDK configured for the intended environment.
The dApp calls these signers "API keys", but the page manages on-chain signer permissions: enter the public address of each signer you generated and never share its private key. Signer management is environment-specific, so use each environment's page only for that environment's accounts.
Each signer has its own nonce sequence. REST and WebSocket Order Entry share that sequence for the same signer, so switching transports does not create a second nonce stream. If you need independently concurrent order submission, authorise multiple signers and allocate nonces independently per signer; see Signatures & Nonces.
Last updated