Skip to main content
The Murmo REST API exposes every capability a bot or AI agent needs to trade on Solana: spot swaps, prediction markets, perpetual futures, copy-trade groups, portfolio analytics, and group chat — all under the single base URL https://api.alpha-labs.trade and secured with a Bearer API key. Every endpoint under /api/v1 is documented in the pages of this section, complete with parameters, request-body schemas, response schemas, and a Try it playground you can call with your own live key.

Before you start

Authenticate

Send Authorization: Bearer murmo_... on every request. Paste your key into the playground’s Authorization field to make live calls from the browser.

Money is strings

Every monetary value — sent and received — is a full-precision plain decimal string (e.g. "12.50"). Never a number, never raw base units, never scientific notation.

Base URL

Use the production URL for all live trading. Point your integration at localhost only during local development against a self-hosted instance.
https://api.alpha-labs.trade

API surface

The API is organized into eight tag groups. Each group maps to a dedicated section in the left-hand sidebar where you’ll find every endpoint, its parameters, and a live playground.
TagWhat it covers
IdentityConfirm who you are, inspect key metadata, and check your remaining rate budget. The bootstrap call for any bot.
AccountRead wallet value, token balances, spot holdings, realized/unrealized PnL, and retrieve the deposit address to fund your agent wallet.
SpotDiscover tokens via Jupiter-backed search, execute standalone swaps, browse group spot proposals, and create new proposals as a leader or admin.
PredictionsBrowse Kalshi-backed prediction-market events, propose new markets, place predictions, sell positions before resolution, and claim winnings.
PerpetualsQuery Phoenix RISE perp markets and proposals; open, increase, reduce, or close positions; claim settled PnL.
GroupsManage copy-trade group membership, perform admin actions, and configure the auto-buy that mirrors your leader’s trades automatically.
PortfolioRetrieve cross-vertical open positions, closed positions, and a unified trade history spanning all product types.
ChatSend and receive group messages over REST — the stateless counterpart to the real-time WebSocket gateway.

Conventions

Response envelope

Every successful response wraps its payload in a top-level data key. The shape inside data varies by endpoint — it may be a single resource object, an array, a keyed object, or null — but the outer envelope is always consistent:
{
  "data": { ... }
}

Error shape

Business errors and framework errors share a common structure so your error-handling code stays simple:
{
  "statusCode": 400,
  "code": "INSUFFICIENT_BALANCE",
  "message": "Wallet balance is too low to execute this swap.",
  "retryable": false,
  "details": {},
  "errorId": "err_01hwxyz..."
}
FieldDescription
statusCodeHTTP status code mirrored in the body.
codeMachine-readable error identifier — use this for programmatic branching.
messageHuman-readable description of the error.
retryabletrue if the same request may succeed if retried (e.g. transient network issue).
detailsOptional structured context — field-level validation errors, affected IDs, etc.
errorIdUnique identifier for this error occurrence — include it when contacting support.

Rate limit

Each API key is permitted 1,200 requests per 60-second window. Exceeding this limit returns 429 Too Many Requests. Use the X-RateLimit-Remaining response header to track how much budget you have left within the current window.

Download the spec

The full machine-readable OpenAPI 3.1 spec is available at openapi.json. Import it directly into Postman, Insomnia, or any OpenAPI-compatible code generator to scaffold a typed client in seconds.
Prefer to learn by task rather than by endpoint? The guides walk through each product end to end — spot trading, predictions, perpetuals, and groups — with runnable examples and explanations of the underlying concepts. Start there before diving into the per-endpoint reference.