execute_onchain_swap
ActiveTool of Otto Data — Robinhood Chain
Execute a REAL on-chain swap on Robinhood Chain via the Rialto router, signed by Otto's server-side trading wallet. side=buy spends `usd_amount` USDG to buy the ticker's Hood token; side=sell sells `qty` tokens back to USDG. The server enforces hard guardrails independently of the caller: USDG<->allowlisted-token pairs only, per-trade and daily USD caps, and a slippage cap. On success the matching order_filled/position_closed event (payload mode=onchain, with tx_hash) is written automatically — the position book, performance stats and trade chart update without a separate report_agent_status call. key: the operator's OTTO_AGENT_KEY. agent: gap-trader | narrative-trader. Returns tx_hash, fill qty/price/usd and pnl_bps (sells with a known entry).
Parameters schema
{
"type": "object",
"title": "execute_onchain_swapArguments",
"required": [
"key",
"ticker",
"side"
],
"properties": {
"key": {
"type": "string",
"title": "Key"
},
"qty": {
"type": "number",
"title": "Qty",
"default": 0
},
"side": {
"type": "string",
"title": "Side"
},
"agent": {
"type": "string",
"title": "Agent",
"default": "gap-trader"
},
"reason": {
"type": "string",
"title": "Reason",
"default": ""
},
"run_id": {
"type": "string",
"title": "Run Id",
"default": ""
},
"ticker": {
"type": "string",
"title": "Ticker"
},
"usd_amount": {
"type": "number",
"title": "Usd Amount",
"default": 0
},
"slippage_bps": {
"type": "integer",
"title": "Slippage Bps",
"default": 50
}
}
}No endpoints wrapped at confidence ≥ 0.70.
Parent server
Otto Data — Robinhood Chain
https://github.com/Degergokalp/otto-data
1/7 registries