Prepare mandate position
prepare_mandate_create_positionOpen or add to the account's position: create(collateral, tokens) through the account, which sets its own allowance. Checks the account's limits, then returns UNSIGNED transaction data for the session key, simulated first. Above the approval threshold it returns EIP-712 typed data for the owner instead, which only works when the owner is an ordinary wallet: it refuses when the owner is a contract, such as a Safe. Never signs or sends.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| market | Yes | Market address (0x...) or symbol, e.g. NO-NVDA | |
| account | Yes | Mandate account address (0x...) | |
| approval | No | Only above the approval threshold: the nonce and deadline from typedData, plus the owner's signature | |
| collateral | Yes | Collateral to deposit, in USDG as a decimal string, e.g. "11" or "25.5" | |
| mintTokens | Yes | Synth to mint ("0" for collateral only), in synth tokens as a decimal string, e.g. "0.0189" | |
| sessionKey | Yes | The session key that will send it (0x...). Not held by this server | |
| approvalTtlSeconds | No | Optional: how long a new approval stays valid. Default 1 hour |