Repository navigation
Troubleshooting
🇬🇧 English · 🇷🇺 Русский
On a computer: install MetaMask, Rabby or another supported extension, then reload the page. A freshly installed extension is not visible to a page that was already open.
On iPhone or in Safari: there is no wallet extension on iOS at all. MetaMask runs as an app with a browser built into it — open the site from inside that app. Or connect a phone wallet such as Tangem over WalletConnect, which needs no extension.
If the address bar starts with file://: you opened the page as a file off disk, and most wallets refuse to work that way. Serve it over http://localhost instead:
python3 -m http.server 8080The wallet is waiting for you somewhere you cannot see. Click the extension's icon in the browser toolbar — the request is sitting in that popup, and nothing proceeds until you approve or reject it.
Clicking connect again does not help; it queues another request behind the first.
Check, in this order:
- Is the wallet on Polygon? Not Ethereum mainnet, not a testnet. Polygon PoS, chain ID 137.
- Is there POL in it? Not ETH, not MATIC on another chain. A few cents' worth is enough, but zero is not.
- Is the popup waiting? Same as above — the wallet may be asking for confirmation behind the browser window.
Three possibilities, in order of likelihood:
- A typo. The IDs are long. Copy and paste rather than retyping.
- It is on an older registry line. This site resolves against the v0.6 registry only and does not fall back to superseded ones. A passport issued under v0.5 will not be found here.
- It was never actually minted. A transaction that failed leaves no record.
You pasted a 0x… wallet or contract address. Passport IDs look like ODP-2026-03-123456789, profile IDs like C-482-930-174-005. The page recognises the mistake specifically rather than reporting a generic failure — including when you paste this site's own registry contract address.
The camera needs two things: permission — check the browser's site settings — and an https:// page, because browsers refuse camera access over plain http and over file://.
If the page reports that the QR library did not load, an ad blocker or a network filter is blocking the script. Paste the ID by hand instead.
Use the language switch in the header. English and Russian are available; the choice is remembered.
Interface text lives in frontend/localization/. If a string reads badly or is untranslated, that is a reportable bug — the translation issue template is there for exactly this.
Open an issue with the page, browser, wallet, and anything in the browser console (right-click → Inspect → Console). If it is about what the standard requires rather than what this site does, it belongs in the protocol repository instead.