Skip to main content
Murmo offers leveraged derivatives and event-contract trading — products that carry regulatory obligations in many jurisdictions. Before building an integration that trades these verticals, understand which restrictions apply to your account and region.
You are responsible for complying with the laws and regulations of your jurisdiction. Do not use the Murmo API to access products that are not available to you where you are.

What’s restricted

ProductRestriction levelNotes
PerpetualsNarrower listLeveraged derivatives are restricted in the United States and all comprehensively OFAC-sanctioned regions.
Prediction marketsBroader listEvent-contract trading is restricted in a wider set of jurisdictions and may also require identity verification.
Spot tradingGenerally availableSubject to standard account eligibility.
Groups, portfolio, chatGenerally availableSubject to standard account eligibility.

Which endpoints enforce geo restrictions

Geo restrictions apply only to specific write endpoints. Read endpoints are never gated — you can always fetch proposal details, prices, and market data regardless of your region. These endpoints return 403 GEO_RESTRICTED in a restricted region:
VerticalRestricted endpointAction
PerpsPOST /perps/proposalsOpen a new perp proposal
PerpsPOST /perps/proposals/{id}/increaseJoin / increase a perp position
PerpsPOST /perps/positions/{assignmentId}/reduceReduce a perp position
PerpsPOST /perps/proposals/{id}/closeClose a perp proposal
PredictionsPOST /predictions/proposalsCreate a new prediction proposal
PredictionsPOST /predictions/proposals/{id}/predictEnter a prediction position
These endpoints are NOT restricted, even for users in geo-restricted regions:
  • All GET read endpoints (proposals, positions, prices, market data)
  • Perps: POST /perps/positions/{assignmentId}/claim (claim funding)
  • Predictions: POST /predictions/proposals/{id}/sell (sell a prediction position)
  • Predictions: POST /predictions/proposals/{id}/close (close a prediction proposal)
  • Predictions: POST /predictions/proposals/{id}/claim (claim prediction winnings)
This means a restricted user can still settle and exit an existing prediction position — they simply cannot open new ones.

The 403 GEO_RESTRICTED response

When a write endpoint is called from a restricted region, the API returns:
{
  "statusCode": 403,
  "code": "GEO_RESTRICTED",
  "message": "This product is not available in your region.",
  "retryable": false,
  "details": { "region": "US" },
  "errorId": "..."
}
retryable is always false for GEO_RESTRICTED. Do not retry — the restriction is enforced at the account and region level and will not resolve on its own. Surface a clear message to the user or operator instead.

Identity verification (KYC)

Certain products — particularly prediction markets — may require identity verification (KYC) before trading. If your account has not completed the required verification, calls to those endpoints return 403 PROOF_REQUIRED. KYC is completed exclusively in the Murmo app. There is no API route to submit or check verification status. If your integration hits PROOF_REQUIRED, direct the user to open the app and complete verification there.
{
  "statusCode": 403,
  "code": "PROOF_REQUIRED",
  "message": "Identity verification is required to trade this product.",
  "retryable": false,
  "details": {},
  "errorId": "..."
}

Withdrawals are in-app only

Withdrawing funds from your Murmo wallet to an external address always requires an interactive in-app session. This action is never exposed over the API. An API key can deploy your funds into positions but cannot send funds to an external wallet. Attempting a withdrawal-like action via the API returns 403 ACTION_IN_APP_ONLY.
Eligibility rules are enforced at the account and product level and may change over time. If a product that previously worked starts returning 403, open the Murmo app to check whether your account still meets the requirements for that product.