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
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."
}
}