Triggers decide when an agent runs. You can attach more than one. Each fires independently and produces its own session you can review later from the run history.Documentation Index
Fetch the complete documentation index at: https://docs.shuriken.trade/llms.txt
Use this file to discover all available pages before exploring further.
Three trigger types
On a schedule
Fire on a recurring cadence. Cron, but with a friendly UI.
When I make a trade
Fire after your own buys, sells, or both. With cooldown.
Allow API calls
Invoke from a webhook, an MCP client, or any HTTP request.
On a schedule
Schedules run the agent on a recurring cadence. Useful for morning briefings, weekly recaps, and any hands-off task you want to wake up to. Frequencies: minutely, hourly, daily, weekly, monthly. Each one shows the relevant pickers: weekday for weekly, day-of-month for monthly, hour and minute for daily and below. Timezone: required. Defaults to your browser’s timezone so a schedule respects your local time, not UTC. You can pick any timezone from the dropdown. Example: morning briefing.The agent runs under your scoped agent key. Per-trade and daily limits still apply, so a runaway schedule can’t exceed them. If you hit your daily cap mid-schedule, the next fire skips trades and just reports.
When I make a trade
Trade triggers fire right after you execute a trade through Shuriken (Terminal, Telegram, NLP, or the API). They do not fire off other people’s wallets or alpha calls. Action filter: buy, sell, or any. You can attach two trade triggers at once with different actions (one for buy, one for sell), but only one configured asany.
Cooldown: default 60 seconds. Prevents back-to-back fires while you ladder out of a position.
Example: take-profit watcher.
Allow API calls
Turning this on lets you invoke the agent from outside Shuriken. Same agent, same task prompt, same tools. The fire signal comes from your own webhook, script, or MCP client.REST
POST /api/v2/agents/{agentId}/invoke. Send a Bearer token from a key with the invoke:agent scope, a JSON body with the prompt, and an optional await_result flag. The optional Idempotency-Key header makes a retry safe: same key, same response, no duplicate session.
GET /api/v2/agents/sessions/{sessionId}/status.
MCP
The same surface is exposed as MCP tools to any MCP client, including Claude Desktop, Cursor, and Windsurf. Both tools require a key with theinvoke:agent scope.
invoke:agent and the read scopes the agent needs to start, with no trade scope of its own.
Rate limit
Setmax_per_minute on the trigger (default 10). The endpoint returns 429 once you cross it. Useful for keys you embed in webhooks where a stuck loop could otherwise burn through your credit.
Combining triggers
An agent can carry a schedule, a trade trigger, and an API trigger at the same time. A research agent might run every morning on a schedule, fire after every buy you make for a quick post-trade sanity check, and also be callable on demand from your Claude Desktop session when you want a one-off. Each fire is its own session with its own transcript.Testing a trigger
The agent modal has a “Run” button in the top bar. It fires the agent once with a custom prompt, ignoring all triggers. Use it to sanity-check the task prompt before you turn triggers on. The session shows up in the same run history as a real fire.Get started
Back to Labs
Concept, run lifecycle, Stop button, credits and billing.
Permissions and safety
The full list of scopes, plus the per-trade and daily limits the agent runs under.