Verify bootcamp certificates on the blockchain
Anchor each certificate's SHA-256 hash on Stellar so your graduates carry a tamper-evident proof anyone can check in seconds — no email thread, no phone call, no login. This is an early-access pilot running live on Stellar testnet.
What it means to verify a bootcamp certificate on blockchain
When your bootcamp issues a certificate, the file itself is easy to copy, screenshot, or forge. Anchoring it on-chain fixes that. Your browser computes the certificate's SHA-256 hash — a 64-character fingerprint unique to that exact document — and an issuer signs the register_certificate transaction, binding the hash to the graduate's Stellar wallet.
From that point the credential has an on-chain record: who issued it, which wallet owns it, and its status. Anyone can confirm the proof against the live contract on Stellar testnet without contacting your registrar. Verification stops being a favor your admissions staff does over email and becomes a public, read-only lookup.
- SHA-256 hash binds one exact certificate file to one graduate wallet
- register_certificate writes the record on-chain and emits a cert_reg event
- Credentials move through explicit statuses: issued, verified, suspended, revoked, expired
Tamper-evidence: duplicate hashes are rejected on-chain
The contract will not let the same certificate hash be registered twice. A second attempt to anchor an already-registered hash fails with an AlreadyExists error before anything is written. Nobody — not another issuer, not a bad actor — can quietly overwrite or re-mint a credential your school already anchored.
Because the hash is derived from the document, any edit to the certificate (a changed name, date, or grade) produces a completely different hash that will not match the anchored record. That mismatch is the tamper-evidence: an altered file simply won't verify.
The public proof page your graduates share
Every anchored credential gets a public proof page. A graduate pastes the 64-character hash — or shares the link — and the page shows the on-chain record, the issuing organization's trust status, the credential's current status, and any attached evidence. No wallet, no account, no login is required to open it.
That means an employer in another country can confirm a certificate the moment they receive it, and your graduate controls the link they hand out. A wallet is only ever needed to issue, verify, or pay on-chain — never to read a proof.
- Wallet-free and login-free — verification is public and read-only
- Shows credential status, issuer trust status, and on-chain evidence
- Every action is auditable on stellar.expert via the emitted events
The issuer trust registry
A proof is only as good as the organization behind it, so issuers are first-class, on-chain identities. Your bootcamp self-registers with register_issuer and enters a pending queue; an admin approves it with approve_issuer before it can issue or verify anything. Approved status is visible on every proof page your credentials appear on.
This two-step trust handshake is what lets an employer distinguish a credential from an approved issuer from one issued by an unverified wallet — without you vouching for it manually. An admin can also suspend an issuer, which is reflected on-chain immediately.
Verification and payment, bound in one flow
Most credential tools stop at issuing a badge; background-check firms only do verification. Stellaroid Earn sits at the intersection: once a credential is verified, the same flow can settle payment. An employer calls link_payment, which sends XLM through the native Stellar Asset Contract straight to the graduate's verified wallet — testnet settlement is typically under five seconds and costs a fraction of a cent.
For a bootcamp, that closes the loop between the proof you issue and the outcome your graduates are chasing: verified work that an employer can trust and pay against without an invoice or a middleman.
How it works
- 1
Register your bootcamp as an issuer
Sign register_issuer with your organization's Stellar wallet to enter the pending trust queue, then an admin approves you with approve_issuer. Approved-issuer status then appears on every proof your credentials produce.
- 2
Anchor the certificate hash
Drop the certificate PDF into the app; the browser computes its SHA-256 hash and you sign register_certificate to bind that hash to the graduate's wallet. The contract rejects duplicate hashes and emits a cert_reg event.
- 3
Verify the credential on-chain
An approved issuer or the admin calls verify_certificate with the hash. The contract updates the credential's status to Verified and emits a cert_ver event that anyone can audit on stellar.expert.
- 4
Share the public proof
The graduate shares the proof page or its 64-character hash. Employers open it with no wallet or login and see the on-chain record, issuer trust status, and credential status in seconds.
Why it holds up
Tamper-evident by design
The certificate's SHA-256 hash is anchored on-chain, and duplicate hashes are rejected with an AlreadyExists error. Any edit to the file breaks the match, so forgeries won't verify.
Wallet-free public proofs
Graduates share a proof link that anyone can open — no wallet, no account, no login. Employers confirm a credential in seconds instead of waiting on an email reply.
On-chain issuer trust
Your bootcamp registers with register_issuer and is approved by an admin. Approved-issuer status shows on every proof, so employers can tell a trusted credential from an unverified one.
Open and auditable
register_certificate and verify_certificate emit cert_reg and cert_ver events that anyone can audit on stellar.expert. Nothing about a credential is hidden behind a private database.
Full credential lifecycle
Credentials carry explicit statuses — issued, verified, suspended, revoked, expired — so you can pause or revoke a credential on-chain while keeping its full audit trail intact.
Verify-then-pay in one flow
Once verified, a graduate's wallet can receive XLM via link_payment through the native Stellar Asset Contract — testnet settlement typically under five seconds for a fraction of a cent.
Frequently asked questions
- How do you verify a bootcamp certificate on the blockchain?
- An issuer computes the certificate's SHA-256 hash and signs register_certificate to bind it to the graduate's Stellar wallet. An approved issuer or admin then calls verify_certificate, which sets the credential's status to Verified and emits a cert_ver event. Anyone can then confirm the credential on the public proof page or on stellar.expert without a wallet or login.
- What does anchoring a certificate's SHA-256 hash actually prove?
- The SHA-256 hash is a unique fingerprint of one exact certificate file. Anchoring it on-chain records which wallet holds that credential and when it was issued and verified. Because the hash is derived from the document, any change to the certificate produces a different hash that won't match the anchored record — so an altered or forged file will not verify.
- Can the same certificate be registered twice?
- No. The contract rejects a duplicate hash with an AlreadyExists error before writing anything, so a credential your bootcamp has already anchored cannot be overwritten or re-minted by anyone else. This is the tamper-evidence guarantee for issuers.
- Do graduates or employers need a wallet to check a certificate?
- No. Verification is public and read-only — anyone can open a proof page or paste the 64-character hash to confirm a credential with no wallet and no login. A Stellar wallet is only needed to issue, verify, or pay on-chain.
- Who is allowed to verify a credential?
- Only an approved issuer or the admin wallet can submit the verify_certificate transaction. Issuers become approved through a two-step handshake: they self-register with register_issuer and an admin approves them with approve_issuer. Approved-issuer status is shown on every proof page.
- Is this running on Stellar mainnet?
- No. Stellaroid Earn is an early-access pilot running live on Stellar testnet. It is a free public demo with no purchase, subscription, or mainnet funds required — you can register as an issuer and anchor test credentials to try the full issue-to-verify flow.
Try the live testnet pilot
Free public early access on Stellar testnet — no purchase, subscription, or mainnet funds required.