docs/swagger.json in the repo, generated with make swagger). Prefer generating a typed client from that spec. The interactive reference is also in this guide under ADDONS → API.
Endpoint map (/api/v1)
One-shot trade
- Required:
wallet_id,input,direction,amount. directionisbuyorsell. Any other value silently becomesbuy— validate it yourself.chain:solana(default when empty/invalid),evm,robinhood.inputis validated per chain (Solana base58 pubkey; EVM hex address).preset/strategyreference saved ids;fee,tip,slippageare per-call overrides.- EVM / Robinhood wallets must be upgraded first:
POST /wallets/{id}/upgrade. - Response includes
task_idand, when finished,result(transaction_id,slot,pool_id,pool_platform,token_in/token_outinfo, amounts,market_cap_usd).
Exact semantics of
amount and stable (which token, what units) are not fully spelled out in the OpenAPI spec. Test with a tiny amount — or confirm with the user — before scaling up. For asset tickers and empty-stable behavior, see Assets.Polymarket trade
POST /polymarket/trade with:
Also:
GET /polymarket/{wallet_id}/positions.
Task groups (long-running automation)
Modules:solswap, evmswap, polymarket, dtf, solmm.
Solswap modes include default, copy-trade, afk, limit, snipe, feed, and bb.
-
POST /tasks/once to register task modules after init. -
PUT /tasks/to create a group:datais an array of task models for that module. Shape depends on the module — copy an existing group fromGET /tasks/, or readmodels.Task/models.<Module>Metadatain the OpenAPI spec. -
POST /tasks/{group_id}to start,PUT /tasks/{group_id}to stop.POST /tasks/idlestarts all idle groups. -
Change a running setup with
PATCH /tasks/{group_id}/{task_id}rather than deleting and recreating.
POST /presets/ in the GUI or via API) and referencing it instead of hand-writing every field. GET /presets/comments and GET /config/comments return field-by-field documentation — use those to explain settings instead of guessing.
Related guide pages: Presets (CLI), Presets (GUI), Strategies, Tasks (CLI).
Feed mode (bring your own signal)
feed mode tasks fire when you push a Solana transaction. Use this to trigger buys from your own detector. Task field reference: Feed.
transactionis a base64 Solana transaction and is the only required field. With noctx, all running feed tasks see it.- With
ctx,group_idis required.task_id: -1targets all tasks in the group;amount/fee/tip/slippageoverride per call. - Leave
no_account_set_on_create_poolunset unless BLOOD maintainers tell you to set it. - Working reference clients ship in the repo at
examples/feed/goandexamples/feed/rust.
