Guides · Part 1 of 5
Quickstart
Label 309 has two halves: anyone can publish a proof of existence, and anyone can verify one. Verifying is the half you can run right now, with nothing set up — so that's where we start.
Install
Pick whichever fits your stack — they're byte-for-byte siblings of the same verifier:
# TypeScript / JavaScript
npm i @cardanowall/sdk-ts
# Python
pip install cardanowall-sdk
# Rust
cargo add cardanowall
# CLI — a single self-contained binary; grab it from the releases page
cardanowall --versionVerify a record
This is the fastest win: point any of them at a Cardano transaction and get a verdict back. No account, no login, no key — verification runs entirely off the public chain.
cardanowall verify 3b9f…c1a2import { verifyTx } from '@cardanowall/sdk-ts/verifier';
const report = await verifyTx({ txHash: '3b9f…c1a2' });
console.log(report.verdict); // 'valid' | 'pending' | 'failed'import asyncio
import cardanowall
report = asyncio.run(cardanowall.verify_tx(cardanowall.VerifyTxInput(tx_hash="3b9f…c1a2")))
print(report.verdict)use cardanowall::verifier::{verify_tx, VerifyTxInput};
let report = verify_tx(&VerifyTxInput::new("3b9f…c1a2"));
println!("{}", report.verdict.as_str()); // "valid" | "pending" | "failed"The verdict — and, for the CLI, the exit code — is all you need to wire this into a script or a CI job. For decryption of sealed records, custom explorers, and the full report shape, see Verify a record.
Next: publish
Publishing writes a record to the chain, so it needs somewhere to submit the transaction. You point the SDK or CLI at a Label 309 gateway, which builds and broadcasts the transaction for you — your keys and content never leave your machine in the clear. Walk through it in Publish your first PoE.
Start by verifying
Verification asks nobody's permission — it's the one thing you can do before you've signed up for anything. Once you trust what the verifier tells you, publishing is the natural next step.