Reports

ClawVille: what we found

x402 chain verifier / agent-pay resume can't read Solana payments sent as version 1 transactions.

Public since 2026-10-28. GitHub issue ItachiDevv/ClawVille/issues/329 was posted.

Code: ItachiDevv/ClawVille, their default branch on 2026-10-28. Reported to them: ItachiDevv/ClawVille/issues/329.

Status: Open: no fix merged yet

Findings

breaks money

x402 chain verifier / agent-pay resume can't read Solana payments sent as version 1 transactions

apps/api/src/services/x402-chain-verifier.ts (line 103) and apps/api/src/services/agent-pay-resume.ts (line 155) read payments with maxSupportedTransactionVersion: 0. For a version 1 payment @solana/web3.js throws "Transaction version (1) is not supported by the requesting client", so reconciling or resuming that payment fails.

Version 1 transactions are a large share of mainnet now (about 40% of non-vote transactions in a block I sampled), so this depends only on which wallet or SDK the payer uses.

  • apps/api/src/services/x402-chain-verifier.ts:103
  • apps/api/src/services/agent-pay-resume.ts:155
getTransaction(<v1 signature>, { maxSupportedTransactionVersion: 0 })  -> error -32015 "Transaction version (1) is not supported by the requesting client"
getTransaction(<v1 signature>, { maxSupportedTransactionVersion: 1 })  -> the transaction (version 1, meta present)

Fix: maxSupportedTransactionVersion: 1 in those calls (and the other two files with the same cap); @solana/web3.js 1.99.0 or later parses v1 fine with it (tested); 1.98.x rejects a version 1 answer even when asked, so it needs the bump too.

What we measured

WhatResultHowChecked
Reported to themItachiDevv/ClawVille/issues/329, posted 2026-10-28https://github.com/ItachiDevv/ClawVille/issues/329Oct 28, 2026, 3:03 PM UTC
StatusOpen: no fix merged yetGitHub issue ItachiDevv/ClawVille#329Oct 31, 2026, 1:55 AM UTC

Tools run on this project

Check it yourself

Every Pulse tool, live on mainnet, starting with tx_version. Paste any signature from this report, or your own.

Toolbox

Pick any tool, change any input, run it on mainnet, and reopen any call to change it and run it again.

Ctrl ↵ runs the tool

25/25 free, then $0.01

Run when code can't find or read a transaction that is on chain, or before relying on code that reads other people's transactions. Read the docs

Response

Run the request to see the live response. The inputs are real mainnet data, so it works as it is.

Your calls 0

Calls you run appear here and stay in this browser. Open one to change its inputs and run it again.