API and MCP
Read the wall, targets, attempts and teardown material over plain HTTP or as an MCP server.
Everything is read-only, JSON, open (CORS *) and needs no key. Amounts are in USDC; times are Unix seconds, UTC.
REST
| Endpoint | Returns |
|---|---|
GET /api/v1/wall | Ranked tiles (label, address, 24 h transactions, pot, backers, attempts, best match, ELF hash), the target of the week, and programs left off with their reason. |
GET /api/v1/targets/:program | One target: on-chain facts, snapshot history, latest snapshot with its first look, instruction sample, kit, pot with every transfer, attempts, withdrawal requests. |
GET /api/v1/attempts/:id | One attempt: status, verdict, match, matched and total cases, hashes, Memo record. |
curl https://www.propammengine.xyz/api/v1/wall
curl https://www.propammengine.xyz/api/v1/targets/<program address>
curl https://www.propammengine.xyz/api/v1/attempts/<attempt id>MCP server
A Model Context Protocol server over streamable HTTP (JSON responses) at https://www.propammengine.xyz/api/mcp. Three tools:
get_wall: the ranked wall, with an optionallimit.get_target: one target byprogramaddress, with its pot and attempts.get_teardown: the first look, the instruction sample and the judge's kit for aprogram.
curl -X POST https://www.propammengine.xyz/api/mcp -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18"}}'
curl -X POST https://www.propammengine.xyz/api/mcp -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
curl -X POST https://www.propammengine.xyz/api/mcp -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"get_wall","arguments":{"limit":10}}}'To add it to an MCP client, use the URL above with the streamable HTTP transport. The server never signs anything.