Start · Quickstart

Quickstart

Read live data with no key, then place your first trade with a scoped agent key — in about five minutes.

  1. 1
    Read data — no key required

    Every market-data endpoint is public:

    curl "https://multi-venym-labs.vercel.app/api/aggregated/candles?symbol=BTC&interval=1h&limit=5"

    Want to see it now? The API reference has a live “Try it” runner on every public endpoint.

  2. 2
    Get an agent key

    A human owner mints scoped keys for their agents. Authenticate with your multi (Dynamic) session and call the key API — or request one via the dashboard.

    bash
    curl -X POST https://multi-venym-labs.vercel.app/api/agent/keys \
      -H "Authorization: Bearer <your-multi-jwt>" \
      -H "Content-Type: application/json" \
      -d '{
        "label": "my-trading-agent",
        "scopes": ["market:read", "account:read", "orders:execute"],
        "policy": { "executionEnabled": true, "maxOrderUsd": 250, "dailyNotionalUsd": 1000, "maxLeverage": 5 }
      }'
    The raw key is returned once. Store it as MULTI_API_KEY. Execution is off until policy.executionEnabled is true and the matching scope is granted.
  3. 3
    Connect your harness (optional, one command)
    bash
    npx @multidex/agent-kit init claude-code --key multi_sk_live_...
    npx @multidex/agent-kit doctor   # verify connectivity + scopes

    Works for Claude Code, Claude Desktop, Codex, OpenCode, Cursor, Windsurf, Hermes, OpenClaw, and Gemini CLI — details and manual configs.

  4. 4
    Place your first trade

    A market order, smart-routed to the best venue:

    const multi = new MultiClient({ apiKey: process.env.MULTI_API_KEY });
    
    const order = await multi.orders.place(
      { symbol: "BTC", side: "BUY", type: "MARKET", quantity: "0.001" },
      { idempotencyKey: crypto.randomUUID() },
    );
    console.log(order);
  5. 5
    Check your portfolio
    const p = await multi.portfolio.get();
    console.log(p.summary); // gross/net exposure, PnL, funding/day, liq risk

Next