place_limit_order
Place a resting limit order: sell amount tokenIn for tokenOut once the market reaches limitPrice (tokenOut per tokenIn) or better. Keeper-executed — it keeps working with the chat closed. If the user granted this client an agent grant and the order fits its caps, it is queued with a stable requestId (status reserved or submitted); otherwise you get an approval link the user signs in the Epsilon app (status needs_approval). Run check_order first. For a protective sell below the market use place_stop_order; for an immediate swap use place_market_order. HUMAN units.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | optional one-line reason shown to the user (≤ 140 chars) | |
| amount | Yes | amount of tokenIn in HUMAN units, decimal string | |
| tokenIn | Yes | ERC-20 address being sold (0x-hex) | |
| tokenOut | Yes | ERC-20 address being bought (0x-hex) | |
| expiresIn | No | optional lifetime like 7d, 24h, 30m; default: never | |
| requestId | No | stable 32 lowercase hex characters for this trade; required for autonomous execution, reuse unchanged when retrying | |
| limitPrice | Yes | price in tokenOut per 1 tokenIn, decimal string (e.g. selling WETH for USDG at "4200") | |
| slippageBps | No | slippage tolerance for the fill in basis points (default 100) |