REST API
Base URL https://musepass.xyz/v1. Every answer uses the same envelope: summary for a sentence you can show a person, data for the structure, errors for machine-readable reasons, meta.verified to know whether the chain was actually read.
| Method | Path | What it does |
|---|---|---|
| GET | /config | Brand, chain, addresses, price ladder. Everything the front end renders comes from here. |
| GET | /names/:name/available | Availability, policy result, and the price if it is a short name. Reads the registry, so it cannot say yes about a name that exists. Add ?owner=0x… to also learn whether that wallet is invited to take a short name. |
| GET | /names/:name | Owner, card (public fields only), track record, and the genesis cover number when the name has one. |
| GET | /names?owner=0x… | Every name a wallet holds, read from the registrar's events. |
| GET | /names/:name/card/versions | Every published version of a card, with its content hash. |
| PUT | /names/:name/card | Publish a card. Requires the owner's signature; the platform pays the gas. |
| POST | /requests | Start a registration and get a confirmation link for the owner. Nothing is minted here. |
| GET | /requests/:id | Whether the owner has signed yet, and the transaction if they have. |
| POST | /names/claim | Finish a registration with an EIP-712 signature. This is the call the self-signing agent path uses. |
| GET | /invitations | How many invitations exist and how many are spent. Counts only — the API never publishes which wallets or handles are invited. |
| GET | /genesis | The genesis cover list: the first 1,000 names that published a card, in registration order. A derived view of chain events, not a mint. |
| GET | /metrics | On-chain counts, and an explicit list of what it cannot measure yet. |