Skip to main content
The DelegatedOrderService enables partners with the delegated_signing scope to place and cancel orders on behalf of sub-accounts. The server signs orders using the sub-account’s managed wallet, so the partner does not handle private keys directly.
Delegated signing requires a sub-account created with create_server_wallet: Some(true). EOA sub-accounts sign their own orders.
Recommended setup: Store your HMAC credentials (token_id / secret) on your backend. Use this SDK server-side to sign partner-authenticated requests. Expose only your own app-specific endpoints to the frontend. Never expose HMAC secrets in browser bundles or client-side storage.

Access

Create a GTC delegated order

Use post_only: true when the order must rest on the book:

Create a FAK delegated order

FAK orders use price and size, then cancel any unmatched remainder:

Create a FOK delegated order

FOK orders execute immediately or cancel entirely. They use maker_amount:

Parameters

CreateDelegatedOrderParams

Cancel an order

Cancel on behalf of a sub-account:

Cancel all orders in a market

Cancel all on behalf of a sub-account:

How it works

  1. The SDK builds an unsigned order locally with a zero verifying address.
  2. It sends owner_id and on_behalf_of as the sub-account profile ID.
  3. The backend detects delegated-signing scope and signs the order with the managed wallet.
  4. The signed order is submitted to the exchange engine.