Markets do not close.
Neither does your agent.
An agent that can only pay is half a participant. The Trading SDK gives it quotes, routing, and order types that survive being left alone overnight, with the spend guard sitting between every intent and every signature.
import { createTrading } from "@moneolabs/trading"; const trading = createTrading({ venues, guard, quoteAsset: "USDG" }); const quote = await trading.quote({ sell: "USDG", buy: "AAPLX", notional: "1500 USDG",}); // → best route across verified venues on Robinhood Chain// { venue: "uniswap-v4", price: 228.41, impact: 0.0011,// fee: "0.75 USDG", expiresAt: 1784876036000 }Built for a caller that is not watching the screen.
Immediate fill inside a slippage bound you set. Rejected, not filled badly, when the bound is missed.
Rests until price or expiry. The agent gets a handle it can poll or await without holding a socket open.
Slices a notional across a window so a large agent order stops being the reason the price moved.
Entry with a take-profit and a stop attached at submission, so an unattended run has an exit.
Four checks stand between an idea and a fill.
Every order carries a maximum. Exceeded means rejected, never silently filled worse.
Routing only touches venues that pass liquidity and contract checks. Names are not evidence.
Concentration limits per symbol and per agent, enforced at submission time.
Notional passes the spend guard before signing, exactly like a payment does.
- Open orders
- 3
- Filled today
- $4,210.00
- Avg slippage
- 0.11 %
- Rejected
- 1 · bound missed
- Venues
- verified
- Realized P&L
- +$36.57
Start on the sandbox ledger.
Test funds, real routing behaviour, no capital at risk.