Tony Jagodka · Missouri / remote

Verifiable agents, shipped end to end.

I build identity (Proof of Real — a personhood credential on Sui), payments (x402 across Sui, Solana and EVM, including a live mainnet facilitator and a proposed standard extension), and the accountability tooling that lets a human check what an agent actually did. Solo, with Claude Code as the build engine.

Solo is the polite word for “nobody else to blame.” Everything below is code, on chains, with transaction hashes — not a deck.

Ship log

Sizes are rough importance, not chronology

Proof of Real (PoR)

A Sui-native proof-of-personhood credential: prove you’re a real, unique human — passkey + zkLogin onboarding, no personal data captured — and raise your assurance through verifiable real-world actions. Yes, the robots have to go outside.

  • Live credential, attestor and Move package on Sui mainnet; SDK on npm as por-sdk (Apache-2.0) — apps add a human-check in one call
  • Device-attested real-world action: App Attest proven on a real iPhone — a walk mints an on-chain Verified Real credential, one per device (built and proven; enforcement gated off during rollout)
  • personhood-tier: a runnable “third assurance tier” for device-attestation systems, written for Nodle’s trust relay — SIWE + attestation + a live PoR read in one session claim
  • The personhood gate in the x402 charging agent and the Verified Agent demo — paying agents settle, verified humans read free
  • Consumer front door: Yomp (walk to prove you’re real, Sui testnet)
Sui · mainnet · livePersonhood, not “sybil-proof”por-proof-of-real.netlify.app

x402 Settlement-Receipt Binding

A proposed extension to the x402 standard (Linux Foundation): bind an on-chain settlement to a signed execution receipt, recomputable from published bytes with an independent verifier. Its conformance gate has been reproduced green by independent issuers on two rails; a production EVM team posted per-leg records for a real Polygon JPYC settlement against it, and the author of the receipt-envelope I-D it binds to caught a §3.5 defect that I fixed in §4.

Spec · EVM · SVM · SuiPR #2666 · openx402-foundation/x402

In an IETF draft

My review text landed verbatim in draft-morrison-consent-settlement-05 (§8.1, §10.5), with a named Contributor credit, after a thread where the author took every correction, including three overclaims I caught. A rarer sport than it should be.

Standards · Aug 2026x402#2734

Source Review Coverage

The flagship: signed, recomputable evidence that the code which shipped is the code a human approved — SLSA’s L4 asks that the final revision be approved, and its own tooling checks that by reading branch-protection settings — which establishes the gate is configured, not what went through it. This is the other half, raised with them directly. One line of CI; a stranger with git can replay every verdict offline. Built around one question: can a human check what the agent did without trusting the agent’s own account of it? (The agent’s account is always very confident. That’s the problem.)

  • Validated against 810 production merges with zero false positives; predicate submitted as in-toto/attestation#581; on the GitHub Marketplace with a fortnightly release train — sponsorable
  • rv — Reversible Actions: undo for shell-command file effects, journaled on every command an agent runs. For the ones it swore were safe.
  • ev — Evidence Tiers: every claim labelled ran / read / told / recalled / inferred, as an in-toto predicate with an offline verifier.
  • xv — Verified Examples: execution attestations for doc examples so an agent can check instead of recall; CI gate.
  • Desktop agent v1.4.1: local-first (Tauri 2 + Rust + Ollama), macOS signed + notarized, in-app updater. Trust, but rv undo.
Marketplace · fortnightly releases · Apache-2.0 / MITgithub.com/DrVelvetFog

Second implementer on someone else’s standard

A standard is only as good as the second person who implements it from the text alone. I took that seat on someone else’s in-toto predicate — Adversarial Execution Evidence — and built an independent validator from the specification, Python standard library only, agent-written and declared as such.

  • The first run was committed raw, before any fix — spec pinned by digest, corpus verified, then 236 of 272 vectors with every failure published, then the resolution log. Finished at 272/272, and 61/61 on the result recompute, which never disagreed at any run.
  • Found a gap in the specification the author accepted: the text pins canonical bytes but never the base64 carrying them, so two distinct payloads decode identically. He is landing it as a MUST.
  • All fifteen divergences were mine, not the text’s. When a reviewer showed my evidence-ordering claim rested on my own clock, I withdrew it on the thread rather than qualifying it — and withdrew a second claim about the specification being determinate on the same grounds.
  • Argued that a tooling declaration should name agent assistance, because two agent-built implementations agreeing share a prior instead of proving a text is clear. It is going into the tiering proposal, ITE#63.
  • Landed a crosswalk into the author’s vocabulary registry (merged), at his go-ahead: 63 refusal codes each side, zero shared spellings, anchored to the suite’s own condition identifiers so neither vocabulary is renamed toward the other.
in-toto/attestation#570 · stdlib-only · 329 testsgithub.com/DrVelvetFog/aee-e2

Upstream

23merged PRs · 9 orgs

Into repos I don’t own — someone else’s maintainer decided each was worth carrying, which is the only review that counts.

  • OpenMed — release signing, run-ledger, rollback, registry, preflight, memory planner, demos10
  • huggingface.js — two correctness fixes2
  • sigstore-python — statement-parse fix1
  • syft — SBOM decoder crash + round-trip fixes (Anchore)2
  • zebra — getdata cap + bounded allocation (Zcash Foundation)2
  • x402 — cross-SDK error parity + Sui network registries2
  • Nodle rollup — bridge migration docs (+ Bridgehub commits landed in #122)1
  • Tessera — recovery-hint API (Rust)1
  • agent-evidence-vocabulary — aee-e2 crosswalk + recomputed result2
Plus Mysten Sui-stack issues fixed upstream

Finding bugs in shipped software

Not my code — other people’s, already released and depended on. Rank a language’s most-depended-on parser and network packages, drop everything already in OSS-Fuzz (246 of 349 popular Rust crates, and 34 of 42 supply-chain security tools, had no fuzz target), fuzz the published version, then keep only the crashes that violate something the project actually promises. A panic from misusing an API isn’t a bug.

  • CPython — http.client hangs forever on a bodiless status with chunked framing. Approved, awaiting a core dev.
  • syft and grype — a spec-valid SPDX 2.3 file crashed Anchore’s SBOM tool and its vulnerability scanner, and syft wrote SPDX it couldn’t read back. Both fixed and merged.
  • apko — Chainguard’s image builder had no fuzz targets. The first one found, in 65 seconds, a package name that changes when an index is written and read back.
  • NLnet Labs’ DNS crate — four bugs in the zone-file scanner, including a soundness hole that let a safe API return invalid UTF-8. All fixed in 0.12.3; RUSTSEC-2026-0310 credits me by name.
  • pydicom — a truncated medical scan raised a bare StopIteration, which inside map() silently drops the bad file and every good one after it.
  • attohttpc — HEAD, 204 and 304 responses hung until timeout. 3.0s → 2ms.
  • One bug, four languages — the CPython, attohttpc and actix findings are the same defect: bodiless HTTP statuses whose framing headers are still honored. Found by sweeping eleven clients against one raw-socket server. Five were correct; three were not.
Python · Rust · Go · fuzzing · responsible disclosurethe ledger

x402 EV Charging Agent

An EV that pays for its own charge: authorize a ceiling, meter the kWh (x402 upto), settle the actual, emit a receipt an independent checker verifies — over the network’s own OCPI record. PoR-gated.

Sui mainnet · Solana devnetrepo

x402-pilot

Open-source Claude Code plugin for the x402 standard: bundled spec corpus, authoring/review workflows, and a non-custodial conformance MCP that recomputes a settlement against the on-chain balance change.

Dev tooling · Apache-2.0repo

x402-sui-stack

The x402 builder stack for Sui — facilitator + tooling + a one-command demo that settles a real $0.01 USDC payment on mainnet and lets anyone recompute it in-browser. Sui Overflow 2026 entry.

Sui · mainnetlive

Verified Agent

The thesis in one artifact: who the agent is (PoR), what it paid for (x402 receipts), what it remembers (Walrus, ownership enforced on Sui) — all checkable on-chain, local LLM brain.

Sui · demorepo

Where To Detect

The verification discipline pointed at civic rules: a metal-detecting law reference — five states, 288 locations, every verdict quoted from the ordinance or park policy it comes from, with a last-verified date and the office phone number. Growing organic search traffic, affiliate-monetized.

Live · 5 stateslive

Plummy

The plum at the top of this page, as a product: a fully local voice assistant on a drawer iPhone that runs the Mac — local brain, eyes and voice, code-enforced guardrails, an evidence-tiered action journal, an on-chain passport. MIT.

Local-first · open sourcemeet her

Also shipped

  • Gulp City — installable 3D PWA arcade game. Apparently I also needed a hobby.
  • Jamie Buddy — a local-LLM writing assistant.
  • Postdate — sealed letters to your future self. Native iOS (SwiftUI, StoreKit 2, zero third-party code); built, release on hold.
  • Agent-native payments on Nodle — x402 exact over NODL on zkSync via Permit2, real testnet settlements end to end; paired with an MCP kit for provenance + personhood. Repos private during partnership review.
  • FairLine — tranched liquidity vault on DeepBook Predict. Testnet, unaudited, wound down; kept as a reference.
  • Yomp — walk-to-prove-you’re-real, the consumer front door for PoR (Sui testnet).
Honest labels: testnet / unaudited / in review stated plainly

Work with me

Contract, grants, or a full-time AI-engineering role.

Identity, agentic payments, accountability tooling. Deepest on Sui; actively cross-rail.

tjagodka@gmail.com

How I build

My edge isn’t one language — it’s velocity with receipts. I architect the system, then drive Claude Code as the development engine to design, write, test and refactor across the whole stack. The loop is the same whether it’s a Move package, an iOS app, or a spec PR.

01

Spec first

A locked spec and a numbered decisions log before code. Choices outside the spec get written down, not improvised.

02

Agentic build

Claude Code writes and refactors; I review, steer, and own every commit. Smallest diff that works; reuse before new code.

03

Verify, don’t narrate

Tests, on-chain recompute, ev evidence tiers, rv undo journal. Nothing is claimed that wasn’t run. This is where most demos quietly die.

04

Ship, labelled

Mainnet / testnet / unaudited / in review — stated plainly, every surface. Then the next loop.

Proof the loop works: a personhood credential live on mainnet with a published SDK, a facilitator on mainnet and in the x402 standard’s official facilitators directory, a spec extension with independent reproductions, text in a published IETF draft, and twenty-four merges into other people’s repos.

Stack

What I actually ship with

Chains
Sui (Move · zkLogin · Enoki)Solana / SVMEVM · zkSync · PolygonWalrus
Languages
TypeScriptSwift / SwiftUIRustPythonGoMoveSolidity
Agents & AI
Claude CodeMCP serversTool calling · subagentsLocal LLMs (Ollama)in-toto attestations
Payments & identity
x402 (exact · upto)USDC settlementPermit2Passkeys / WebAuthnApp AttestProof of personhood
Apps & infra
Tauri 2StoreKit 2PWASQLite · PostgresNetlify · RenderGitHub Actions · Sigstore
Security
Fuzzing (cargo-fuzz · Go native)Source-level DeFi auditsOracle / AMM / lending reviewResponsible disclosure

Background

The short version

Independent AI builder

solo · present

Designing, building and shipping AI products and on-chain systems end to end: Proof of Real, the sui-x402 facilitator, x402-sui-stack (Sui Overflow 2026), the x402 charging agent, the rv / ev / xv accountability specs, a local-first desktop agent, and consumer apps people can buy.

Open-source & standards

Nodle · OpenMed · Mysten · x402 · IETF

Migrated Nodle’s L1 bridge off the deprecated ZKsync Mailbox to Bridgehub (Solidity; commits landed with authorship preserved after validation against live-mainnet state). Shipped release provenance for OpenMed: Sigstore-signed wheels + SLSA attestations, a release run-ledger binding artifacts to gate reports, and a reproducible rollback decision. Filed and reviewed fixes in Mysten’s Sui SDKs (a cached-price payment race in Walrus, a silent setSender() no-op behind Seal). Independent source-level audits of major Sui DeFi protocols, including a responsible disclosure of a latent oracle-quoter issue.

Skilled manual trades

20+ years · prior career

Two decades of hands-on, demanding work — reliability, problem-solving under pressure, seeing jobs through to the end. The same persistence now goes into software. The hours are similar; the splinters are fewer.

Education
A.S., Film & Television Production — Full Sail University, 2006. A visual-storytelling base that shapes how products feel and flow.
Certifications
Anthropic: AI Fluency: Framework & Foundations · Claude 101 (2026)
Location
Missouri, USA · remote-first