Sphyre Verifier
Sphyre Verifier is the verifier-facing application. It lets organizations create presentation requests, show QR codes to holders, track holder responses, verify submitted presentations, and manage reusable request presets.Technology
Framework: Next.js
React:
Language: TypeScript
Styling: Tailwind CSS
15.4.4React:
18.3.1Language: TypeScript
Styling: Tailwind CSS
3.3.5Core Libraries
lucide-reactreact-qr-code@yudiel/react-qr-scannerethers, bip39, tweetnaclImplemented App Routes
Main Workflows
- Register or recover a verifier identity.
- Create presentation requests with
POST /api/verifier/requests. - Render QR codes for wallet scanning.
- Poll request and presentation status while waiting for holder action.
- Verify submitted presentations with
POST /api/verifier/presentations/:id/verify. - View received presentations with
GET /api/verifier/:did/presentations. - Manage request presets through
GET/POST /api/verifier/:did/presets. - Resolve public credential verification pages through
/verify/[ipfsHash].
Implementation Notes
The frontend keeps API integration insrc/services, shared UI in src/components/ui, and route pages under src/app. New UI should follow the existing Tailwind and component patterns.
Implemented API Calls
Verification Contract
Verifier requests define the purpose, required credentials, requested attributes, optional predicates, and expiration. Holder responses create presentation records. Verification returns:Security Notes
- Verifier pages should only show data that was explicitly disclosed by the holder or derived from accepted predicate proofs.
- Presets are reusable request definitions; changing a preset should not mutate already-issued presentation requests.
- Public IPFS verification pages should treat IPFS content as untrusted until Fortro Engine confirms signature, anchor, and revocation status.