Skip to main content
This guide walks you from zero to a live trade. You’ll authenticate, inspect your wallet, fund it with USDC, run a standalone swap, and then open a position inside a group. Each step builds on the last, so follow them in order.
All monetary values sent to and received from the API are decimal strings"25.00", not 25 and not 25000000. See Money & precision for the full rule.
1

Get your API key

Create an API key in the Murmo app. It will look like murmo_.... Treat it like a password — it can place trades and move funds on your behalf. Store it in an environment variable and never commit it to source control.
export MURMO_API_KEY="murmo_your_key_here"
export MURMO_BASE="https://api.alpha-labs.trade"
2

Confirm your identity

Verify the key works by calling the identity endpoint. A 200 with your userId means everything is set up correctly.
curl
curl "$MURMO_BASE/api/v1/me" \
  -H "Authorization: Bearer $MURMO_API_KEY"
If you receive a 401, check that your key starts with murmo_ and that you’re sending it as Authorization: Bearer ... — not in the URL or as a query parameter.
3

Check your wallet balance

Fetch your account to see your current balances and your deposit address.
curl
curl "$MURMO_BASE/api/v1/account" \
  -H "Authorization: Bearer $MURMO_API_KEY"
Response
{
  "data": {
    "totalValueUsd": "0",
    "cashBalanceUsd": "0",
    "deposit": {
      "walletAddress": "5xY...wallet",
      "token": "USDC",
      "tokenMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      "chain": "solana"
    }
  }
}
4

Fund your wallet

Send USDC on Solana to the deposit.walletAddress returned above. Once the transaction confirms on-chain, cashBalanceUsd will reflect the deposit.
Withdrawals are intentionally not available over the API. To move funds out of your wallet, use the Murmo app’s interactive session. Your API key can deploy funds into trades but cannot send them to an external address.
5

Execute your first swap

Swap $25 USDC for a token by its Solana mint address. The transaction is signed server-side — you never handle a private key.
curl -X POST "$MURMO_BASE/api/v1/spot/swap" \
  -H "Authorization: Bearer $MURMO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "sell": "USDC", "buy": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263", "amountUsd": "25.00" }'
Response
{
  "data": {
    "success": true,
    "signature": "4nP...solana_sig",
    "inputAmountRaw": "25000000",
    "outputAmountRaw": "1380000000000",
    "alphaFeeUsd": "0.05"
  }
}
inputAmountRaw and outputAmountRaw are token base units (the field name ends in Raw), not USD. To convert them to human-readable amounts, divide by 10^decimals using the token’s decimals field from GET /api/v1/spot/tokens/{mint}. Fields like alphaFeeUsd are already human decimal strings.
6

Trade inside a group

Most of Murmo is social: positions live as proposals inside groups. List the groups you belong to, then open a spot proposal — the opening buy happens in the same call.
# List groups you belong to
curl "$MURMO_BASE/api/v1/groups" \
  -H "Authorization: Bearer $MURMO_API_KEY"

# Open a spot proposal with a $50 opening buy
curl -X POST "$MURMO_BASE/api/v1/spot/proposals" \
  -H "Authorization: Bearer $MURMO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "groupId": "GROUP_ID",
    "contractAddress": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
    "reason": "breakout",
    "amountUsd": "50.00"
  }'
Once the proposal is open, you can call buy, sell, or close on it — and other group members can follow it. See Spot trading and Groups & proposals for the full flow.

Where to next

Money & Precision

The one rule that prevents the most bugs — read it before building.

Authentication

Keys, the Bearer header, rate limits, and WebSocket auth.

Prediction Markets

Predict YES/NO on real-world events backed by Kalshi.

Perpetuals

Leverage, stop-loss / take-profit brackets, and live PnL.