How to Use BlockID
A complete, beginner-friendly tour of the product — what it does, what each role does, and how to run every core workflow, illustrated with styled mock-ups of the actual screens. Use the search box (press /) to jump to anything.
- What BlockID does
- The five roles
- Super Admin steps
- Org Admin steps
- Issuer steps
- Verifier steps
- End-User wallet steps
- Create an organization
- Create users
- Create DIDs
- Create schemas
- Issue credentials
- How users view credentials
- How to verify
- How to revoke
- Check ledger integrity
- Use the API
- Common workflows
- Troubleshooting
- FAQ
- Glossary
What BlockID does
BlockID Portal lets an organization make a claim about someone or something, sign it, and hand it over as a verifiable credential. The person who receives it — the holder — keeps it in a wallet. Anyone they show it to — a verifier — can confirm in seconds that it's genuine, unaltered, still valid, and really came from the issuer. Every important event is written to a private, hash-chained MySQL ledger so the history itself can be proven.
1 · Issue
An issuer signs a credential against a DID and schema.
2 · Hold
The holder keeps it in their wallet, with a QR and token.
3 · Verify
Anyone confirms it's genuine, unaltered, and current.
4 · Prove
The hash-chained ledger records every event for audit.
The five roles
BlockID uses role-based access control (RBAC) with strict organization scoping — people only ever see data inside their own organization.
| Role | Who they are | What they can do |
|---|---|---|
| Super Admin | Platform operator | Manage all organizations, global users, marketing admin, platform-wide oversight and the ledger. |
| Org Admin | Runs one organization | Manage that org's users, DIDs, schemas, API tokens, audit logs, and settings. |
| Issuer | Signs credentials | Create schemas, issue credentials against a DID, set expiry, and revoke. |
| Verifier | Checks credentials | Verify by token, ID, or pasted JSON and read the verdict. |
| End User | Holds credentials | View their wallet, open a credential, share its QR/token, download JSON. |
Super Admin: first steps Super Admin
The Super Admin is created by the installer and sets up everything else.
Sign in
Go to /login.php and sign in. You land on /dashboard.php.
Create your first organization
Open Organizations → New and add a name and details. See Create an organization.
Invite an Org Admin
Create a user, assign the Org Admin role, and scope them to the new org. They take over day-to-day management.
Review platform health
Check the audit log and run Verify Ledger Integrity on a fresh schedule.
Org Admin: setting up your org Org Admin
Add your team
Create Issuers, Verifiers, and End Users under Users. Assign roles deliberately — least privilege.
Create a DID
In the DID Registry mint a
did:blockid:{uuid}. This identity will sign your credentials.Define schemas
Build the credential templates your issuers will use.
Create API tokens (optional)
If you'll integrate systems, mint tokens under API Management. See the API Guide.
Watch the audit log
Every sensitive action is recorded. Review it regularly.
Issuer: signing credentials Issuer
Pick or create a schema
Choose the template that matches what you're attesting.
Choose a DID
Select the issuing identity whose private key will sign.
Fill in the values and a holder
Enter the field values, pick the End User who will hold it, and set an optional expiry.
Issue
BlockID hashes, signs, mints a token + QR, and writes the ledger entry. Full detail in the Issuer Guide.
Verifier: checking credentials Verifier
Open Verify
Go to the Verify module.
Provide the credential
Paste a verification token, a credential ID, or the credential JSON (or scan the QR).
Read the verdict
You'll get one of VALID, EXPIRED, REVOKED, TAMPERED, UNKNOWN_ISSUER, or NOT_FOUND with a per-check breakdown. See the Verifier Guide.
End User: your wallet End User
Sign in
Sign in at /login.php.
Open your wallet
The Wallet lists every credential issued to you.
Open a credential
Tap one to see its details, status, QR code, and verification token.
Share or download
Show the QR/token to a verifier, or download the JSON. See the Wallet Guide.
How to create an organization
Super Admin Open Organizations, choose New organization, enter a name and any details, and save. Everything created afterward — users, DIDs, schemas, credentials — is scoped to this organization and invisible to others.
How to create users
Super Admin Org Admin Under Users, choose New user, set their name and email, pick a role, and (for Super Admins) the organization. The user signs in at /login.php and sees only what their role allows.
How to create DIDs
Org Admin Issuer In the DID Registry, choose Create DID. BlockID generates a unique identifier in the form did:blockid:{uuid} plus an RSA-2048 keypair. The private key never leaves the server and is used to sign credentials; the public key lets verifiers check signatures.
did:blockid:7c9e6679-7425-40de-944b-e07fc1f90ae7
How to create credential schemas
Org Admin Issuer A schema is a reusable template. Under Schemas → New schema, give it a name and define each field (its key, label, and type). For example, a "Course Completion" schema might define fullName, course, grade, and completedOn.
How to issue credentials
Issuer Open Credentials → Issue. Select a schema and an issuing DID, fill in the field values, choose the holder (an End User), and optionally set an expiry date. On issue, BlockID:
- builds a canonical JSON form of the credential and computes its SHA-256 hash;
- signs that hash with the DID's private key using RSA-SHA256;
- mints a verification token and a QR code;
- writes a ledger entry hash-chained to the previous one.
How users view their credentials
End User The holder opens the Wallet to see every credential issued to them, opens any one to view its fields and live status, and can share the QR/token or download the credential JSON. See the mock-up under Common workflows.
How to verify
Verifier End User Anyone with the token, ID, QR, or JSON can verify. The verifier re-computes the hash, checks the signature against the issuer's public DID, and looks up revocation and expiry. The result is one clear verdict plus the individual checks behind it (see below).
How to revoke
Issuer If a credential should no longer be trusted — a mistake, a role change, a lost device — open it under Credentials and choose Revoke. BlockID records it in the revocation registry and writes a ledger entry. From then on, verification returns REVOKED. Revocation is permanent and cannot be undone — re-issue a fresh credential instead.
How to check ledger integrity
Super Admin Org Admin Open the Ledger module and click Verify Ledger Integrity. BlockID re-walks the hash chain from the first record forward, recomputing each link. If any record had been altered, the chain would break and the check would flag the exact point. A passing check looks like the panel below.
Use the API (in brief)
Everything above can be automated. Create a token under API Management, send it as Authorization: Bearer <token>, and call /api/v1/**. One quick example — verifying a credential:
curl -X POST https://example.com/api/v1/credentials/verify.php -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{"token":"VTKN-9F2A-7C13-A0E5"}'
Common workflows
Here's what the actual screens look like. These are styled mock-ups, not photographs — but they mirror the real dashboard, credential, verify, and profile UI.
The dashboard
The dashboard overview, with a collapsible sidebar, breadcrumbs, and at-a-glance stats.
A credential
A credential as it appears in the wallet: fields, live status, verification token, and a scannable QR.
A verification result
CRD-4821 · checked just now
- Issuer signature is valid RSA-SHA256
- Content hash matches (not tampered) SHA-256
- Issuer DID is known did:blockid:7c9e…
- Not revoked registry clear
- Within validity window exp 2027-01-31
A passing verification. A failing one swaps the pill (for example REVOKED or TAMPERED) and marks the failing check with a red ✕.
The profile dropdown
The top-right profile dropdown. Sign Out submits a CSRF-protected POST and returns you to /login.php.
Troubleshooting (quick)
- Can't sign in? Confirm cookies are enabled and you're at /login.php. Repeated failures can trigger a temporary lockout — wait and retry.
- Dashboard shows a database error? Follow the ordered checklist in Troubleshooting → Database.php line 41.
- Verification says UNKNOWN_ISSUER? The credential's DID isn't in this system — confirm you're verifying against the right BlockID instance.
- 403 on a form submit? Your CSRF token expired. Reload the page and try again.
The full guide is in Troubleshooting.
FAQ
Is BlockID a blockchain or cryptocurrency?
No. BlockID uses a private, hash-chained MySQL ledger to make tampering easy to detect. There's no token, no coin, no mining, and no public network — your data lives in your own database.
What does "verifiable credential" actually mean?
It's a signed, fingerprinted document. Anyone can confirm it came from the stated issuer and hasn't been changed — without contacting the issuer — using the issuer's public DID and the credential's hash.
Can a holder edit a credential they were given?
They can change the file, but any change breaks the hash and the signature, so verification returns TAMPERED. This makes tampering easy to detect.
What happens when a credential expires or is revoked?
Verification returns EXPIRED or REVOKED respectively. The credential still exists in the wallet, but verifiers are told not to trust it. The issuer can issue a fresh one.
Do I need to write code to use BlockID?
No — every workflow here is available in the dashboard. The API is there when you want to automate or integrate with other systems.
Who can see my organization's data?
Only members of your organization, scoped by role. BlockID enforces strict organization isolation — one org cannot read another's DIDs, schemas, credentials, or logs.
Glossary
| Term | Meaning |
|---|---|
| DID | Decentralized identifier — a unique, self-describing ID for an issuer, in the form did:blockid:{uuid}, backed by an RSA-2048 keypair. |
| Verifiable credential | A signed, hash-fingerprinted document asserting a claim that anyone can check independently. |
| Issuer | The party that signs and issues a credential (e.g. a university, employer, or authority). |
| Holder | The person or entity who receives and keeps the credential in their wallet. |
| Verifier | Anyone who checks a credential's authenticity and status. |
| Schema | A reusable template defining the fields a credential carries. |
| Revocation | Permanently marking a credential as no longer trusted, recorded in the revocation registry. |
| Ledger | The private, append-only MySQL record of every important event. |
| Hash chain | A sequence where each ledger record includes the hash of the previous one, so any change downstream is detectable. |
| Scope | A permission attached to an API token (e.g. credentials:issue) that limits what the token can do. |
| Bearer token | The API credential sent as Authorization: Bearer <token>; stored server-side only as a SHA-256 hash. |