Five checkpoints, each backed by something real: a settlement Horizon confirms, a verdict re-checked against the live facilitator, an attack the bench actually refused, a live catalog lookup, and one question about the ownership latch.
Pay the demo resource once, end to end, from a real funded testnet wallet.
Proof: the 64-character settlement transaction hash Station 1 produces.
Run Station 2's live re-verification: fetch the seller's own 402 challenge and confirm it names the bound owner address.
Proof: the verdict text Station 2's own verification step produces (it's read-only, so there's no XDR to sign here).
Get a wallet first (Station 1's "Get started"), then run "Verify now" — Station 2 needs no payment, just a wallet.
Run Station 3's attack bench and get at least one attack to be refused for the right reason.
Proof: the reason code (or HTTP status) from any attack result stored locally with passed === true.
No passing attack result stored yet in this browser.
This level is checked entirely from your browser's own attack-bench history — no live re-check needed, since a past attack result is itself the evidence.
Confirm the demo resource appears in the facilitator's live public catalog with an ownership state beyond "unverified".
Proof: a live GET against the facilitator's /discovery/resources — not a cached result.
The demo resource is shared infrastructure everyone hits — there's no separate station to go complete first; clicking below performs the live fetch and computes pass/fail on the spot.
Once a binding is verified, what happens if a later settlement arrives from a different address?
Proof: a correct written answer — this is a comprehension check, not something verified on-chain.
Reads the live catalog and prints the demo resource's ownership state — the same real value Level 4 checks above.
curl -s https://vellar-facilitator.onrender.com/discovery/resources \ | jq '.items[] | select(.resource == "https://vellar-seller-demo.onrender.com/quote") | .trust.ownershipState' # Expect: "verified" — the same real value Level 4's live check reads.