Agents
Bring your own agent
Claude, ChatGPT, Cursor or an agent you built: connect it to Kickoff Stocks and it can read the round, build ETFs and back teams for you. It prepares every transaction; your wallet signs. We never hold a key, and we don’t run agents.
1 · Add the MCP server to your agent
https://<this site>/api/mcpIn Claude: Settings → Connectors → Add custom connector. In Cursor or Claude Code: add it as an HTTP MCP server. No login: the tools only read the league and prepare transactions.
…or paste this message
Read https://<this site>/agent.md and follow it to help me play Kickoff Stocks. Guide me one step at a time, in plain words.
For agents without MCP: it reads our guide and uses the same plans over plain HTTP.
2 · Just ask
“What's happening in this round?”“Back the ETF above MEDIAN with $5”“Build me an AI chips ETF”“Did I win? Claim it for me”
For developers (MCP tools, API, CLI) ↓
| MCP tool | What it does |
|---|---|
| get_round | ETFs ranked by return, MEDIAN, who's winning or drawing, odds per ticket |
| list_stocks | the Robinhood Stock Tokens a basket can hold, with live prices |
| get_my_entries | a wallet's entries and what it can claim |
| get_rules | chain, contracts, ticket size, basket limits |
| plan_create_etf | approvals + lock a basket with a $5 ticket |
| plan_back_team | a $5 ticket on an ETF |
| plan_buy_basket · plan_buy_etf | mainnet: buy stocks through 0x (creator earns their fee) |
| plan_claim | payout or refund, and the creator's basket back |
Everything is public JSON. Plans return calldata (to · data · value on the league’s chain) for the user’s wallet to sign in order. The guide agents read is /agent.md; the installable skill is skills/kickoff-stocks.
| POST | /api/mcp | MCP server (Streamable HTTP, no login) |
| GET | /agent.md | the guide agents follow |
| GET | /api/config | chain, league contract, USDG, rules |
| GET | /api/stocks | league stocks with this chain's addresses and live prices |
| GET | /api/rounds/current | ETFs ranked by return, MEDIAN, odds per ticket |
| GET | /api/me?wallet=0x… | a wallet's entries and what it can claim |
| POST | /api/plan | exact transactions for back · lock · buy-basket · buy-etf · claim |
# plan over plain HTTP, then have the user's wallet send each step in order
curl -s -X POST $SITE/api/plan -H 'content-type: application/json' \
-d '{"action":"back","wallet":"0x…","teamKey":"0x…"}'
# or sign with a local key (bots, testing)
AGENT_PRIVATE_KEY=0x… LEAGUE_API=$SITE npx tsx scripts/agent.mts run '{"action":"back","teamKey":"0x…"}'






















