Anatomy of a Credential Badge
What an Andamio Credential Badge actually is, layer by layer — the image, what travels inside it, the Open Badges form, and the on-chain anchor that makes it a credential rather than a picture.
Real Proof Rings badge — Andamio for Developers, Module 3. Rendered from the current generator; badge art is presentation-layer and mutable.
Layer 1
The Image
What it is. A self-contained SVG served at credentials.andamio.io/badges/<policy_id>.<slt_hash>.svg. The filename keys off the course's on-chain policy_id and the slt_hash (the Student Learning Target it attests). The design is a Proof Rings shield: the outer ring encodes the policy_id, the inner ring encodes the slt_hash, on a per-course colour palette.
Why it matters. It's a normal image file — postable on social media, droppable into a portfolio, embeddable anywhere — and it renders standalone, with no call back to Andamio.
- LiveAny credential serves on demand at credentials.andamio.io/badges/<policy_id>.<slt_hash>.svg (HTTP 200, image/svg+xml). Serving is static-first, with an on-demand render fallback, so a badge resolves even if it was never pre-generated.
- LiveThe (policy_id, slt_hash) pair is decodable straight from the pixels, and a badge provably round-trips to its on-chain hashes (the generator ships a ring-geometry verifier, make verify).
- LiveThe badge image is presentation-layer only — never identity-bearing. The rings encode the identifying hashes, but a credential's identity is its on-chain anchor, not its picture. This is an explicit design invariant.
Real Proof Rings badge — Andamio for Developers, Module 3.
Layer 1
The Image
What it is. A self-contained SVG served at credentials.andamio.io/badges/<policy_id>.<slt_hash>.svg. The filename keys off the course's on-chain policy_id and the slt_hash (the Student Learning Target it attests). The design is a Proof Rings shield: the outer ring encodes the policy_id, the inner ring encodes the slt_hash, on a per-course colour palette.
Why it matters. It's a normal image file — postable on social media, droppable into a portfolio, embeddable anywhere — and it renders standalone, with no call back to Andamio.
- LiveAny credential serves on demand at credentials.andamio.io/badges/<policy_id>.<slt_hash>.svg (HTTP 200, image/svg+xml). Serving is static-first, with an on-demand render fallback, so a badge resolves even if it was never pre-generated.
- LiveThe (policy_id, slt_hash) pair is decodable straight from the pixels, and a badge provably round-trips to its on-chain hashes (the generator ships a ring-geometry verifier, make verify).
- LiveThe badge image is presentation-layer only — never identity-bearing. The rings encode the identifying hashes, but a credential's identity is its on-chain anchor, not its picture. This is an explicit design invariant.
Layer 2
SVG Metadata
What it is. Because the badge is a self-contained SVG, the identifying data travels with the image. Today that is the Proof-Ring encoding of the (policy_id, slt_hash) pair — readable back out of the file itself, wherever it ends up.
Why it matters. The file can be stored anywhere and the identifiers it carries can be recomputed by anyone — no Andamio lookup required to know which course and target it refers to.
- LiveThe Proof-Ring encoding of the (policy_id, slt_hash) pair travels in the file and is readable back out of it.
- ComingOpen Badges “baking” — embedding the signed verifiable credential inside the SVG/PNG (e.g. <openbadges:credential verify="<JWS>">) so the image self-verifies offline. The spec is finalized; today's badges carry the Proof-Ring encoding, not an embedded signed credential.
Layer 3
Open Badges, W3C VC & DID
What it is. Andamio expresses each credential in the Open Badges 3.0 / W3C Verifiable Credentials 2.0 JSON-LD form — a standards-based shape any compliant verifier can read. The Andamio-specific terms (onChainAnchor, onChainAttestation, accessToken, requires, prereqAttestation) are defined in a hosted, versioned JSON-LD context, and a hosted issuer Profile identifies Andamio as the issuer.
Why it matters. The OB3 / W3C VC form is a portable view of the on-chain anchor, so a verifier that has never heard of Cardano can still read and trust the credential — that's what makes an Andamio credential integrate with any app that speaks Open Badges. The DID layer gives the credential a cryptographic issuer identity so a verifier can check who signed it.
- Live/context/v0.jsonld serves Andamio's OB 3.0 extension terms (versioned, immutable).
- Live/issuer serves the hosted OB 3.0 issuer Profile (application/ld+json).
- Comingdid:web:credentials.andamio.io is the production issuer identity — its /.well-known/did.json is not yet published; today credentials use a throwaway did:key and reference the hosted Profile URL informationally.
- ComingThe signing service that emits and lets you verify a credential — KMS-backed signing plus a human-facing verification page.
Layer 4
The Andamio Layer on Cardano
What it is. Underneath the image and the standards form sits the part that makes this a credential and not a certificate: an anchor on Cardano. Each credential's onChainAnchor carries the policyId, asset identifiers, and the transaction hashes that bind the attestation into the recipient's on-chain Access Token global state, governed by Andamio's deployed protocol validators.
Why it matters. The ledger — not Andamio's server, and not the picture — is the source of truth. Anyone can independently confirm the anchor without trusting us.
- LiveThe on-chain course and target identity (the policy_id / slt_hash the badges are built from) is real on Cardano mainnet, and badges provably round-trip to those hashes; anchored via deployed protocol validators.
- In devA recipient's evidence_hash is anchored on-chain and retrievable through the authenticated Andamio CLI; exercising a full end-to-end recipient credential_claim flow is still in progress.
- In devThe public andamioscan explorer does not yet surface evidence_hash — the data is on-chain, but the public reader hasn't exposed it (an API-surface gap, not a data gap).
An Andamio credential is the first part of the protocol you can actually see — a real image, with genuinely novel tech underneath. Click through the four layers above to take one apart, layer by layer, so that before you build on it you understand exactly what you're getting: what's a picture, what's a standard, and what's anchored on a public ledger. It is written for the technical integrator, not the buyer — credibility, not a sales pitch.
Honest reporting: live / coming / in-dev
Andamio is mid-build, and this page situates you in current state. Every claim in the explorer carries a label, and each label is true as of writing:
- Live — deployed and verifiable today.
- In dev — the data or mechanism exists, but a surface around it is still being built.
- Coming — designed and specified, not yet implemented.
Today's live system runs on Cardano mainnet. Credential badges (v1.0) render and serve on demand for any credential. Nothing undelivered is described as if it shipped.
Coach
Coach helps you write course lesson content with an AI agent and shapes it to Andamio's course model, ready to publish through the CLI.
Resolve & Display a Badge
The URL contract for credential badges, how a badge resolves (static-first with an on-demand render fallback), and how to display one in your app.