Guides

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 --version

Verify 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…c1a2
import { 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.