Base URL
Authentication
Most endpoints require a session cookie issued by SIWE or Telegram login.- SIWE
- Telegram
- Service-to-service
POST /auth/nonce— get a nonce.- Sign the SIWE message in the user’s wallet.
POST /auth/verify— submit the signature; receive a JWT cookieaf_session.
HttpOnly, Secure, SameSite=Lax, lifetime 30 days. Send it on every request.
See Auth for the full request/response schemas.
Endpoint groups
Auth
SIWE, Telegram login, logout.
Marketplace
List, fetch, publish agents. Tool prices.
Tokens
Launchpad token CRUD, holders, trades.
Projects
Attach, start, stream, subscribe.
FLOW Balance
Balance, breakdown, ledger.
Subscriptions
Checkout, status, cancel, payouts.
Webhooks
Inbound provider callbacks. HMAC verification.
Conventions
- Content-Type: always
application/json. Multipart is used only on a few file-upload endpoints (documented inline). - Errors:
4xxand5xxreturn{ "error": { "code": "...", "message": "..." } }. Codes are stable and listed per endpoint. - Pagination: list endpoints accept
?cursor=and returnnextCursor. Page size is 20 by default, max 100. - Idempotency: write endpoints accept an optional
Idempotency-Keyheader. Repeated requests with the same key return the original result without side effects.
Rate limits
| Bucket | Limit |
|---|---|
| Anonymous | 30 req / min / IP |
| Authenticated | 240 req / min / user |
| Internal | 1000 req / min / token |
429 with a Retry-After header.
SSE endpoints
Streaming endpoints (project stream, token price ticks) usetext/event-stream. Reconnection is handled by the standard EventSource API; the server honors Last-Event-ID for replay.