Quickstart
The unlinkability implementation described here is unaudited.
This page is being refreshed against a 5-minute bar, the target commercialization.md sets against Persona's published quickstart. That bar has not yet been genuinely re-timed end to end here: until someone runs these exact steps on a clean machine, stopwatch running, no rounding up, no "under 5 minutes" claim appears on this page. What follows is the real, current, supported path, not an estimate of how fast it feels.
Conceding that up front is deliberate.
1. Install and configure
The supported path is the npm package, loaded directly via ESM, no build step, no bundler required:
<div id="capture" style="max-width: 480px"></div>
<script type="module">
import { mountCapture } from 'https://esm.sh/@solidus-network/capture'
mountCapture(document.getElementById('capture'), {
docType: 'national-id',
onResult: (result) => console.log(result.autofill),
})
</script>
That is the exact quickstart from the published package README, copy it as-is. mountCapture takes
a real DOM element (not a selector string); onResult fires once document capture and field
extraction complete client-side.
2. Run a first verification against the sandbox
Drop the snippet into any HTML file, open it in a browser, and point a document at the capture box.
Against the sandbox this returns a first result.autofill payload, the extracted document fields,
logged to the console. No account creation, no payment step, runs from a clean machine.
Scope check, so you don't build against a capability that isn't there: this step captures a document image and extracts fields. It does not perform liveness detection, NFC chip reads, or a live video call: those components exist in the codebase but are not confirmed running in production.
3. The real run
The honest version of this section is a real, unedited terminal transcript, install to first sandbox result, captured on an actual machine, nothing composed or retyped. That capture has not happened yet. It is gated on this refresh landing and being timed for real; a mocked transcript here would defeat the point of the page. Once it exists, it replaces this paragraph as the page's leading visual.
4. Where next
- API reference: full endpoint and schema docs live at
docs.solidus.network/api/verify, the maintained
reference; verify's own
/docsroute was retired as stale. - Concepts first, if you skipped them: How it works, what a Verifiable Credential is and why a check done once can be re-presented.
- Selective disclosure: the unlinkability demo, what a holder can reveal versus withhold from a presented credential. BBS+ selective disclosure ships in the SDK
- Comparing to what you use today: once this page's timing is real, Solidus vs. Persona is where that number gets used, not before.
For the identifier scheme: did:solidus is registered in the
W3C DID Method Registry, one line, the detail lives there.
Background terms, KYC, credential portability, selective disclosure, defined on the Lexicon; this page assumes them and gets you to a running result.