Skip to content

REST Endpoints

Base URL: https://quasdaq.com

All endpoints are served from the Next.js app deployed on Cloudflare Workers.

Returns the full asset catalog with feed IDs and keccak256 hashes. See Feed Catalog API for full documentation.

Fetches the current price for a given feed from the Stork Oracle.

ParameterTypeDescription
feedIdstringAsset pair string (e.g. "BTCUSD")

Fetches full Stork Oracle signed price data — used for market resolution. Returns the TemporalNumericValueInput struct needed for resolve().

ParameterTypeDescription
feedIdstringAsset pair string (e.g. "BTCUSD")

Returns protocol-wide statistics (total markets, volume, leaderboard, etc.).

Batch lookup of X (Twitter) profiles linked to wallet addresses.

POST /api/users/x-profiles
Content-Type: application/json
{ "wallets": ["0x00...abc", "0x00...def"] }

GET /api/users/resolve-handle?handle=quasdaq

Section titled “GET /api/users/resolve-handle?handle=quasdaq”

Resolve an X handle to a linked wallet address.

ParameterTypeDescription
handlestringX username (without @)

Comments are polymorphic: any on-chain entity (a market today, a swap pool or launch token tomorrow) shares the same routes and UI. Identify the entity with entityType (e.g. "market") plus its address as entityId.

GET /api/comments/{entityType}/{entityId}?viewer={wallet}

Section titled “GET /api/comments/{entityType}/{entityId}?viewer={wallet}”

Returns comments for the given entity. The optional viewer parameter marks per-comment likedByUser for the supplied wallet.

ParameterInTypeDescription
entityTypepathstringEntity kind. "market" today.
entityIdpathstringEntity identifier (e.g. market address)
viewerquerystringWallet address (optional)

Response:

{
"comments": [
{
"id": "uuid",
"walletAddress": "0x00…",
"content": "...",
"createdAt": "ISO-8601",
"parentId": null,
"likeCount": 0,
"likedByUser": false,
"replies": []
}
]
}

POST /api/comments/{entityType}/{entityId}

Section titled “POST /api/comments/{entityType}/{entityId}”

Post a top-level comment or reply. Requires a wallet signature.

{
"walletAddress": "0x00…",
"content": "Your comment",
"parentId": "uuid-or-omit",
"signature": "0x…",
"timestamp": 1715000000000
}

The signed message is quasdaq:comment:post:{entityId}:{timestamp}. Timestamps expire after 5 minutes. Rate limit: 1 comment per 30 seconds per wallet.

DELETE /api/comments/{entityType}/{entityId}/{commentId}

Section titled “DELETE /api/comments/{entityType}/{entityId}/{commentId}”

Delete your own comment. Signed message: quasdaq:comment:delete:{entityId}:{timestamp}.

PUT /api/comments/{entityType}/{entityId}/{commentId}/like

Section titled “PUT /api/comments/{entityType}/{entityId}/{commentId}/like”

Toggle like on a comment. Signed message: quasdaq:comment:like:{entityId}:{timestamp}. Response: { "liked": boolean, "likeCount": number }.

All public endpoints return Access-Control-Allow-Origin: * headers.