DelegatedOrderService enables partners with the delegated_signing scope to place and cancel orders on behalf of their sub-accounts. The server signs orders using the sub-account’s managed Privy wallet — no private key management is needed on the partner side.
Recommended setup: Store your HMAC credentials (
TokenID / 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
Builds an unsigned GTC (Good-Til-Cancelled) limit order locally and submits it toPOST /orders with the OnBehalfOf profile ID. The server signs the order via the sub-account’s managed wallet. GTC orders remain on the orderbook until filled or explicitly cancelled.
PostOnly: true to ensure the order only rests on the book and is never filled immediately as a taker:
Create a FAK delegated order
FAK (Fill-And-Kill) orders use the samePrice and Size inputs as GTC, but they only consume immediately available liquidity and cancel any unmatched remainder.
PostOnly is not supported for FAK orders.
Create a FOK delegated order
FOK (Fill-Or-Kill) orders execute immediately at the best available price or are cancelled entirely — there are no partial fills. Instead ofPrice and Size, FOK orders use MakerAmount:
- BUY:
MakerAmountis the USDC amount to spend (e.g.,50.0= spend $50 USDC) - SELL:
MakerAmountis the number of shares to sell (e.g.,18.64= sell 18.64 shares)
Parameters
GTC order args (GTCOrderArgs)
FAK order args (FAKOrderArgs)
FOK order args (FOKOrderArgs)
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
- The SDK builds an unsigned order locally with a zero verifying address and default fee rate (300 bps)
- For GTC and FAK orders,
PriceandSizeare used; for FOK orders,MakerAmountis used (withTakerAmountalways set to 1) - The order is posted to
POST /orderswithOnBehalfOfandOwnerIDset to the sub-account’s profile ID - The server detects the
delegated_signingscope and missing signature - The server looks up the sub-account’s server wallet, builds EIP-712 typed data, and signs via Privy
- The signed order is submitted to the CLOB engine — GTC orders can rest on the book, FAK orders cancel unmatched remainder, and FOK orders either fully fill or cancel