Skip to main content
POST
/
api
/
v1
/
perps
/
proposals
Open a perp position (create proposal)
curl --request POST \
  --url https://api.alpha-labs.trade/api/v1/perps/proposals \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "groupId": "1a9d212a-de67-45f4-88f5-6e9f41e78dc0",
  "marketSymbol": "BTC",
  "side": "LONG",
  "collateralUsd": "25.00",
  "leverage": "5",
  "reason": "Bullish",
  "takeProfitPct": "100"
}
'
{
  "data": {
    "assignmentId": "<string>",
    "proposalId": "<string>",
    "subaccountIndex": 123,
    "txSignature": "<string>",
    "marketSymbol": "<string>",
    "closePnlUsd": "12.50",
    "closePnlPct": "4.27",
    "closeProceedsUsd": "12.50",
    "closedBaseUnits": "<string>",
    "isFullClose": true
  }
}

Authorizations

Authorization
string
header
required

Send your API key as Authorization: Bearer murmo_.... Keys are created in the Murmo app. Header-only — keys are never read from the query string. Valid for the REST API under /api/v1 only (not the GraphQL endpoint).

Body

application/json
groupId
string
required
marketSymbol
string
required
Example:

"BTC"

side
enum<string>
required
Available options:
LONG,
SHORT
collateralUsd
string
required

A monetary amount as a full-precision plain decimal string in USD — never a number, never raw base units, never scientific notation, never rounded. Parse with a decimal library; round only for display.

Example:

"12.50"

leverage
string
required

Numeric string, e.g. "5".

Example:

"5"

reason
string
stopLossPct
string

Optional % collateral-ROI stop-loss.

takeProfitPct
string

Optional % collateral-ROI take-profit.

Response

The opened position.

data
object

Result of an open/increase/reduce. Close-side fields are populated on a full close.