{"openapi":"3.1.0","info":{"title":"clawg.network","version":"0.1.0","summary":"A token's record, signed by whoever controls the token. Written by x402, read free.","description":"clawg.network is a registry of token records with a build log. A record is written only by the token's provable controller — on Solana, the pump.fun bonding-curve creator or the mint's update authority — and every version carries that ed25519 signature, so any wallet or agent verifies the record against the chain instead of trusting a directory. Each write is one $0.02 x402 call in USDC on Base, Polygon, Solana or Arc; reads, the OpenAPI, the per-token pages and the log are free. No votes, no promotion, no review queue.","contact":{"name":"Meex","email":"clawg@meex.work","url":"https://meex.work"},"x-payment-info":{"protocol":"x402","protocols":["x402"],"x402Version":2,"scheme":"exact","price":{"mode":"fixed","currency":"USD","amount":"0.02"},"priceDisplay":"$0.02 per write","asset":"USDC","networks":["eip155:8453","eip155:137","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","eip155:5042"],"chains":["Base","Polygon","Solana","Arc"],"facilitators":["https://api.cdp.coinbase.com/platform/v2/x402","https://gateway-api.circle.com"],"unpaid":"402 with the challenge in the body","accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.02","payTo":"0x76c4eEE755Ee20c973db55C522F1E75AD3132DFF"},{"scheme":"exact","network":"eip155:137","price":"$0.02","payTo":"0x76c4eEE755Ee20c973db55C522F1E75AD3132DFF"},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","price":"$0.02","payTo":"C9ide76mSgMpVRtPtYazMorn1tEhnTn46Zwb7VETMFx4"},{"scheme":"exact","network":"eip155:5042","price":"$0.02","payTo":"0x76c4eEE755Ee20c973db55C522F1E75AD3132DFF"}]},"x-guidance":"Read first: GET /v1/token/{id}/challenge names the controllers the chain accepts and the text to sign for the next version. Sign it with that wallet (ed25519 signMessage, base58). POST /v1/token/{id} with { record, signer, signature }; the 402 lists four USDC networks — pay with any x402 client and repeat. A wrong signer, bad signature or stale version is a 4xx and is never charged. Reads are free and public; verify a record with ed25519 over the message, and check the signer against the chain, not against this service."},"servers":[{"url":"https://clawg.network"}],"externalDocs":{"url":"https://clawg.network/","description":"the front page: how to write, how to verify"},"paths":{"/v1/token/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"example":"solana:BwRcDY8qToRJsEXc55fuXKt5uFuz1bnBmWRRu61ku9dK"}],"get":{"summary":"Latest signed record","security":[],"responses":{"200":{"description":"record","content":{"application/json":{"schema":{"type":"object","properties":{"version":{"type":"integer"},"record":{"type":"object","required":["name","symbol"],"properties":{"name":{"type":"string","maxLength":64},"symbol":{"type":"string","maxLength":16},"description":{"type":"string","maxLength":2000},"image":{"type":"string","format":"uri"},"links":{"type":"object","additionalProperties":false,"properties":{"website":{"type":"string","format":"uri"},"twitter":{"type":"string","format":"uri"},"telegram":{"type":"string","format":"uri"},"discord":{"type":"string","format":"uri"},"farcaster":{"type":"string","format":"uri"},"github":{"type":"string","format":"uri"},"docs":{"type":"string","format":"uri"},"chart":{"type":"string","format":"uri"},"swap":{"type":"string","format":"uri"},"whitepaper":{"type":"string","format":"uri"},"youtube":{"type":"string","format":"uri"},"other":{"type":"string","format":"uri"}}},"note":{"type":"string","maxLength":280,"description":"the log line for this version"}}},"hash":{"type":"string"},"message":{"type":"string"},"signer":{"type":"string"},"kind":{"type":"string","enum":["pump-creator","metaplex-update-authority","token-2022-update-authority","mint-authority"]},"signature":{"type":"string"},"note":{"type":"string","nullable":true},"createdAt":{"type":"string"}}}}}},"404":{"description":"no record yet"}}},"post":{"summary":"Write a signed version (x402, $0.02)","x-payment-info":{"protocol":"x402","protocols":["x402"],"x402Version":2,"scheme":"exact","price":{"mode":"fixed","currency":"USD","amount":"0.02"},"priceDisplay":"$0.02 per write","asset":"USDC","networks":["eip155:8453","eip155:137","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","eip155:5042"],"chains":["Base","Polygon","Solana","Arc"],"facilitators":["https://api.cdp.coinbase.com/platform/v2/x402","https://gateway-api.circle.com"],"unpaid":"402 with the challenge in the body","accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.02","payTo":"0x76c4eEE755Ee20c973db55C522F1E75AD3132DFF"},{"scheme":"exact","network":"eip155:137","price":"$0.02","payTo":"0x76c4eEE755Ee20c973db55C522F1E75AD3132DFF"},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","price":"$0.02","payTo":"C9ide76mSgMpVRtPtYazMorn1tEhnTn46Zwb7VETMFx4"},{"scheme":"exact","network":"eip155:5042","price":"$0.02","payTo":"0x76c4eEE755Ee20c973db55C522F1E75AD3132DFF"}]},"security":[{"x402":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["record","signer","signature"],"properties":{"record":{"type":"object","required":["name","symbol"],"properties":{"name":{"type":"string","maxLength":64},"symbol":{"type":"string","maxLength":16},"description":{"type":"string","maxLength":2000},"image":{"type":"string","format":"uri"},"links":{"type":"object","additionalProperties":false,"properties":{"website":{"type":"string","format":"uri"},"twitter":{"type":"string","format":"uri"},"telegram":{"type":"string","format":"uri"},"discord":{"type":"string","format":"uri"},"farcaster":{"type":"string","format":"uri"},"github":{"type":"string","format":"uri"},"docs":{"type":"string","format":"uri"},"chart":{"type":"string","format":"uri"},"swap":{"type":"string","format":"uri"},"whitepaper":{"type":"string","format":"uri"},"youtube":{"type":"string","format":"uri"},"other":{"type":"string","format":"uri"}}},"note":{"type":"string","maxLength":280,"description":"the log line for this version"}}},"signer":{"type":"string"},"signature":{"type":"string"}}}}}},"responses":{"200":{"description":"stored","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"version":{"type":"integer"},"hash":{"type":"string"},"url":{"type":"string"}}}}}},"401":{"description":"signature does not verify"},"402":{"description":"payment required; the body is the free challenge","headers":{"PAYMENT-REQUIRED":{"schema":{"type":"string"},"description":"base64 x402 v2 PaymentRequired with accepts[] for Base, Polygon, Solana, Arc"}}},"403":{"description":"signer is not a controller"}}}},"/v1/token/{id}/challenge":{"get":{"summary":"Who may sign, and the text","security":[],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"challenge"}}}},"/v1/token/{id}/log":{"get":{"summary":"Every version","security":[],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"versions","content":{"application/json":{"schema":{"type":"object","properties":{"versions":{"type":"array","items":{"type":"object","properties":{"version":{"type":"integer"},"record":{"type":"object","required":["name","symbol"],"properties":{"name":{"type":"string","maxLength":64},"symbol":{"type":"string","maxLength":16},"description":{"type":"string","maxLength":2000},"image":{"type":"string","format":"uri"},"links":{"type":"object","additionalProperties":false,"properties":{"website":{"type":"string","format":"uri"},"twitter":{"type":"string","format":"uri"},"telegram":{"type":"string","format":"uri"},"discord":{"type":"string","format":"uri"},"farcaster":{"type":"string","format":"uri"},"github":{"type":"string","format":"uri"},"docs":{"type":"string","format":"uri"},"chart":{"type":"string","format":"uri"},"swap":{"type":"string","format":"uri"},"whitepaper":{"type":"string","format":"uri"},"youtube":{"type":"string","format":"uri"},"other":{"type":"string","format":"uri"}}},"note":{"type":"string","maxLength":280,"description":"the log line for this version"}}},"hash":{"type":"string"},"message":{"type":"string"},"signer":{"type":"string"},"kind":{"type":"string","enum":["pump-creator","metaplex-update-authority","token-2022-update-authority","mint-authority"]},"signature":{"type":"string"},"note":{"type":"string","nullable":true},"createdAt":{"type":"string"}}}}}}}}}}}},"/v1/tokens":{"get":{"summary":"Index","security":[],"responses":{"200":{"description":"tokens"}}}}},"components":{"securitySchemes":{"x402":{"type":"apiKey","in":"header","name":"PAYMENT-SIGNATURE","description":"x402 v2 payment payload, base64"}}}}