M·O·R·S·E
The public ledger
- What is this list?
- Every call Morse has ever made to the Telegraph network, newest first, including the operator's own testing. Nothing is separated out and nothing is manufactured.
- What does the routed column mean?
- Telegraph: Telegraph's own router picked the miner. Morse (named miner): you named the miner, so Morse dispatched to it directly. Morse (fallback): the router did not answer within 20 s and Morse routed the question itself. Older rows also read Morse (podium) and (2nd opinion) — two features retired on 4 September; the rows stay because history is not rewritten.
- Is my question public?
- Yes, clipped to 200 characters, with the answer excerpt. Who asked is stored only as a salted hash. Do not type anything private.
On-chain proof
- What does it prove?
- That the calls in the ledger happened and were paid: every settlement hash the ledger holds is matched against the payer wallet's USDC transfers on Base Sepolia, read from a public block explorer, not from Morse.
- What is a chain-only settlement?
- A payment the chain shows but the ledger does not: usually a call Morse recorded as timed out that the node settled anyway. They are listed, not hidden, and not counted as answered calls.
- Why does this matter?
- Because "people used it" is otherwise a claim. Here it is a number anyone can recompute from the chain.
API and MCP
- Do I need a wallet?
- No. Morse's own wallet pays the x402 fee for every call. Get a free key on this page; each key has a daily cap so the budget cannot be drained by one caller.
- How do I use it from Claude Code or Cursor?
- One command adds Morse as an MCP server:
claude mcp add --transport http morse https://telegraph-morse.vercel.app/mcp --header "Authorization: Bearer morse_YOURKEY". The tools cover asking the network, asking a named miner, running a recipe, and free discovery. - Can I call a specific miner?
- Yes: the
minerfield on REST,telegraph_ask_minerover MCP,/miner <slug> <question>in Telegram. The receipt says routing was bypassed at your request.
The source
- Is the code open?
- Yes: the whole app, its tests, and an honest limits ledger (GAPS.md) that names what is unverified or deliberately not built.
- Can I run my own Morse?
- Yes. It needs a burner wallet with testnet USDC and a Telegram bot token; the README and GO-LIVE.md walk through it. Never reuse a wallet that holds anything real.
Telegraph
- What is Telegraph?
- A marketplace where independently run APIs, called miners, answer questions; validators score and rank them per intent; and every answer is paid for per call over x402, about $0.01 in USDC.
- Is this real money?
- No. Everything here runs on the Base Sepolia testnet with faucet USDC. The mechanics are real; the money is not.
- Where does the $0.01 go?
- To the protocol's Diamond contract, and only when the miner actually answers. Failed calls are not charged, and every paid call gets a signal hash you can look up on the node.
Signal 0x40154a8c876338953624a021bd05d4b9f62841c946c17c15d70d5fe7262055a7
| Found on the node | yes — GET /engine/v1/signal/0x40154a8c87… |
|---|---|
| Kind | direct_result |
| Miner | openweathermap id 211 |
| Paid by | 0xfBB3C3bd51EC6E19BDECc786945d83719b6b4c9c = Morse's payer wallet |
| Node's own check | verified — the node confirms this hash commits to the payload below (keccak256 over payload) |
| Settlement tx | 0x0df9b74096305063ac8f49f7fc42b56960b5f4b7f17d87429c619aaa7ce3efed |
| Recorded | 2026-09-16T08:26:28.949719Z |
| Morse's ledger row | 2026-09-16T08:26:24.379Z · web · ask · WEATHER_CHECK · openweathermap · $0.01 |
The node states the hash is keccak256 over the payload and reports it verified. Morse shows that attestation as the node returns it: eleven serialisations of the payload as served were tried and none reproduced the hash, so Morse does not claim to have re-derived it independently (GAPS G3). What Morse does establish on its own is the payer — the wallet above is checked against Morse's.
Payload the hash covers
{
"intent_id": "WEATHER_CHECK",
"miner_slug": "openweathermap",
"subnet_id": "211",
"wallet_address": "0xfBB3C3bd51EC6E19BDECc786945d83719b6b4c9c",
"request": "what's the temp of china",
"response": {
"base": "stations",
"clouds": {
"all": 92
},
"cod": 200,
"coord": {
"lat": 25.7,
"lon": -99.2333
},
"dt": 1789547188,
"id": 3530839,
"main": {
"feels_like": 303.79,
"grnd_level": 999,
"humidity": 75,
"pressure": 1017,
"sea_level": 1017,
"temp": 300.82,
"temp_max": 300.82,
"temp_min": 300.82
},
"name": "China",
"sys": {
"country": "MX",
"sunrise": 1789561394,
"sunset": 1789605631
},
"timezone": -21600,
"visibility": 10000,
"weather": [
{
"description": "overcast clouds",
"icon": "04n",
"id": 804,
"main": "Clouds"
}
],
"wind": {
"deg": 140,
"gust": 9.15,
"speed": 6.11
}
},
"timestamp": "2026-09-16T08:26:28.94278895Z"
}