Examples

All examples use the public Caddy gateway URL. Replace placeholders before running paid retries.

MCP discovery tool

After connecting to https://amarok-mcp.compx.io/mcp, call amarok_get_discovery for the same route catalog as HTTP /discovery (free tool).

# Example: MCP client invokes amarok_get_discovery (no payment required)
# Paid tools: first call returns PAYMENT_REQUIRED; retry with paymentSignature

Discovery fetch (HTTP)

curl -s https://amarok-api.compx.io/discovery | jq '.routes[] | {path, access, summary}'

OpenAPI fetch

curl -s https://amarok-api.compx.io/openapi.json | jq '.info, (.paths | keys)'

MCP paid tool retry shape

Paid MCP tools mirror the HTTP x402 flow. First invocation returns payment metadata; retry passes the signed payload as paymentSignature (tool argument, not an HTTP header).

// 1) amarok_list_opportunities({})
//    -> PAYMENT_REQUIRED + paymentRequiredHeader metadata

// 2) amarok_list_opportunities({
//      paymentSignature: "<base64-json-payload>"
//    })
//    -> opportunity data

Signed retry shape (HTTP)

The website does not sign payments. Your agent/client wallet must build this payload.

{
  "x402Version": 2,
  "scheme": "exact",
  "network": "algorand-mainnet",
  "accepted": { /* selected accept option from PAYMENT-REQUIRED */ },
  "payload": {
    "paymentGroup": ["<base64-signed-txn>"],
    "paymentIndex": 0
  },
  "paymentRequired": { /* decoded PAYMENT-REQUIRED */ }
}

Sample response payloads

These are illustrative placeholders of the response contract, not live paid data. Live responses vary; field semantics should match OpenAPI when the gateway is public. Full schemas: OpenAPI.

Ranked opportunities

GET /v1/alpha/opportunities — ranked LP reward, maker/spread, and parity lanes.

curl -i https://amarok-api.compx.io/v1/alpha/opportunities

Sample response (200, placeholder)

{
  "data": [
    {
      "kind": "lp_reward",
      "marketAppId": 3100000001,
      "slug": "SAMPLE-MARKET",
      "title": "Sample Alpha Market (placeholder)",
      "estimatedUsdPerDay": "12.40",
      "confidence": 0.82,
      "notes": "Illustrative snapshot — not live paid data."
    },
    {
      "kind": "maker_spread",
      "marketAppId": 3100000002,
      "slug": "SAMPLE-SPREAD",
      "title": "Sample maker/spread opportunity",
      "estimatedUsdPerDay": "4.15",
      "confidence": 0.71,
      "notes": "Illustrative snapshot — not live paid data."
    }
  ],
  "meta": {
    "asOf": "2026-07-23T00:00:00.000Z",
    "source": "placeholder",
    "note": "Replace with live discovery-backed samples when API is public."
  }
}

Market deep dive

GET /v1/alpha/markets/{marketAppId} — single-market book tops and related slice.

curl -i https://amarok-api.compx.io/v1/alpha/markets/3100000001

Sample response (200, placeholder)

{
  "data": {
    "marketAppId": 3100000001,
    "slug": "SAMPLE-MARKET",
    "title": "Sample Alpha Market (placeholder)",
    "status": "live",
    "book": {
      "bestBid": "0.42",
      "bestAsk": "0.44",
      "mid": "0.43",
      "spreadBps": "465"
    },
    "relatedOpportunities": 2
  },
  "meta": {
    "asOf": "2026-07-23T00:00:00.000Z",
    "source": "placeholder",
    "note": "Illustrative sample — not live paid data."
  }
}

Unsigned execution quote

POST /v1/alpha/execution/quotes — unsigned txn groups. meta.executionSubmitted is always false.

curl -i -X POST https://amarok-api.compx.io/v1/alpha/execution/quotes \
  -H 'content-type: application/json' \
  -H 'PAYMENT-SIGNATURE: <base64-json-payload>' \
  -d '{ /* see OpenAPI */ }'

Sample response (200, placeholder)

{
  "data": {
    "shape": "alpha_place_limit_order",
    "unsignedTxnsBase64": [
      "<base64-txn-0>",
      "<base64-txn-1>"
    ],
    "userSignIndexes": [
      0,
      1
    ],
    "meta": {
      "executionSubmitted": false,
      "note": "Amarok never signs or submits. Agent signs and submits via own algod."
    }
  },
  "meta": {
    "asOf": "2026-07-23T00:00:00.000Z",
    "source": "placeholder",
    "note": "Illustrative sample — not live paid data."
  }
}