utxray interrogates a Cardano smart contract across five layers — toolchain, contract, schemas, behavior, chain — and returns every verdict as structured JSON. It never designs, never implements. It judges.
You don't operate utxray — your agent does. These cards are messages you send to your agent; the agent does everything they describe.
Set up utxray as the quality gate for my Aiken project.
Read https://utxray.paopao.studio/skill.md and follow it:
1. install the CLI (https://utxray.paopao.studio/install.sh)
2. run the full gate — build, test, schema validate,
trace, tx evaluate — and fix anything that fails
3. wire the gate into CI so a red verdict blocks merge
Treat a failing gate as a hard stop. Never claim the
contract works until every check returns "pass". Install utxray as a skill in this project:
mkdir -p .claude/skills/utxray
curl -sSfL https://utxray.paopao.studio/skill.md \
-o .claude/skills/utxray/SKILL.md
Use it whenever we build, debug, or deploy
Aiken contracts. My Cardano transaction is failing. Use utxray: 1. utxray diagnose --tx tx.cbor 2. run every suggested_command it returns 3. re-run utxray tx evaluate until "pass" 4. save a replay bundle of the original failure
A contract that "looks right" and a contract that is proven right are different things when the code moves real money. The beam goes top to bottom; a contract ships only when every layer answers pass.
aiken on PATH, network config parsed, Blockfrost reachable — checked before any other verdict is allowed to exist.
envThe Aiken toolchain — compile, type-check, unit tests — wrapped into structured verdicts instead of console prose.
buildtypechecktesttraceEvery datum and redeemer checked against the CIP-0057 blueprint — the classic Cardano failure mode, caught before it costs anything.
schema validateredeemer-indexscript-data-hashcbor decode / diffEvery transition executed with real transaction contexts — including the negative paths that are required to fail. The checks an author never writes against their own blind spots.
tracetest-sequencetx build / evaluateReal transactions on Preview testnet, UTxO state diffed before and after — then frozen into a replay bundle you can re-run byte-for-byte, forever.
tx submitutxo diffreplay bundle / run
Only then does the contract ship. The verdict is machine-readable, the
exit code is binary, and an agent cannot talk its way past it —
in its own loop, or in your CI.
Cardano's native errors are famously opaque — ScriptFailure, and good luck. utxray classifies every failure into an error code with the exact commands to run next, so the agent's fix loop closes without a human translating.
status: "error" means the tool itself broke. A validator returning false is status: "ok" with result: "fail" — a verdict, not a crash. The gate never confuses the two.diagnose maps node noise to a stable taxonomy an agent can branch on.suggested_commands — the difference between a wall and a work order.The reader of record here is an agent, and agents don't browse — they fetch. Everything they need lives at stable plain-text URLs. The human's entire job is one paste.
Commands marked chain need a Blockfrost key; the other 24 run
fully offline — deterministic checks in CI with zero secrets. Full detail:
/manifest.md