@moneolabs/trading

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 }
Beta: tokenized equities and stablecoin pairs on Robinhood Chain. Venue coverage is expanding.
Order types

Built for a caller that is not watching the screen.

market

Immediate fill inside a slippage bound you set. Rejected, not filled badly, when the bound is missed.

limit

Rests until price or expiry. The agent gets a handle it can poll or await without holding a socket open.

twap

Slices a notional across a window so a large agent order stops being the reason the price moved.

bracket

Entry with a take-profit and a stop attached at submission, so an unattended run has an exit.

Risk

Four checks stand between an idea and a fill.

Slippage bound

Every order carries a maximum. Exceeded means rejected, never silently filled worse.

Venue verification

Routing only touches venues that pass liquidity and contract checks. Names are not evidence.

Position caps

Concentration limits per symbol and per agent, enforced at submission time.

Guarded settlement

Notional passes the spend guard before signing, exactly like a payment does.

Execution view
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.

Get Started