stake_coins and opens the position previewed by
preview_order. Accepts only the
confirm_token — the topic, option and stake are read from it, so an agent
cannot reach this tool without having produced a summary first, and cannot
change the amount the user confirmed.
Scope: write · Annotations: destructiveHint, idempotentHint,
_meta["anthropic/requiresUserInteraction"]
REST equivalent: POST /open/v1/orders
Parameters
Returns
order.units is the raw unit count. What the order pays if its option wins is
order.payout_if_correct_rubies — units × the order’s ruby multiplier at
fill. It is a guaranteed minimum: if the topic settles while a ruby boost is
live, the order pays at the higher multiplier. While a ruby boost runs the two
numbers differ, so report and reconcile the payout, not the units: compare
order.payout_if_correct_rubies with previewed.payout_if_correct_rubies.
Example — the 300-coin order from the preview_order
example, filled during a 2× ruby boost:
Price locking — read this before reporting the fill
The preview captures a 60-second price lock:- Lock still live → the order fills at the previewed units and
price_lockedistrue. - Lock lapsed (including under 2 seconds left) → the order fills at the
current market price. It is not rejected.
price_lockedisfalse,order.units/order.pricehold the actual fill, andpreviewedholds what the user confirmed.
Retrying
Safe to retry with the same token: the original order comes back withreplayed: true and nothing is charged twice.
On a replay, price_locked describes this call, not the original fill —
the original’s lock state is not stored. To reconcile, compare order against
previewed (payout_if_correct_rubies and price).
A token minted before contract 2.1.0 carries no previewed payout, so
previewed.payout_if_correct_rubies is an empty string for it. Tokens live 5
minutes, so this only matters around the upgrade.
Errors
See Errors for the full table.
Example prompts
- “Yes, place it.” (after a preview)
- “Confirmed — go ahead.”
Related
preview_order ·
list_my_positions