Kaspa x402

Live Testnet Report

Status: current 0.1.0-alpha.10 funded live harness run.

Generated: 2026-08-10T07:21:05.896Z

Network: kaspa:testnet-10

Node: operator-controlled private TN10 node, synced with UTXO index enabled.

Virtual DAA score at run start: 539876359

The proof used the NodeJS SDK built from reviewed rusty-kaspa commit 78257f273a26c4be085bab0f79437dee99ca8835. It executed all 18 required Alpha.10 flows. The raw report and signing material remain in an ignored owner-only local directory; this file contains only sanitized public evidence. Hosted-gateway evidence is tracked separately in docs/testnet-gateway.md.

Controlled Funding Split

The split supplied independent funding inputs for conflict and recovery tests. It did not disclose or copy wallet key material.

Standard-Native Exact

Tiny payment

Normal payment

In both cases the merchant output equalled the advertised amount exactly. The tiny run records the accepted TN10 result and SDK policy calculation separately; it does not claim a universal Kaspa minimum payment or fee.

KIP-10 Additive Exact

Two independent head UTXOs were funded:

Each started at 100000000 sompi with a 10000000 sompi application anti-churn threshold.

The primary additive payment proved:

There was no separate merchant payment output. The KIP-10 successor delta was the payment.

Concurrent Head Conflict And Retry

Two different signed transactions raced the same version-0 head:

Exactly one initial request returned 200; the loser received a fresh 402 and then settled successfully against refreshed head state. Protected work ran twice total: once for the winner and once for the retry.

Verification And Recovery

KIP-20 Batch Lifecycle

Stable covenant ID: dd5abfed8d29acedc3e85b8a1f7da7f481e627927ee1820ac98e5645f9eb6302

Singleton genesis and vouchers

Two partial claims against one voucher

Both claims preserved the covenant ID while advancing the active outpoint, state script, and derived P2SH address. The second claim reused the same cumulative voucher without exceeding its ceiling.

Same-lineage top-up and restart reload

The top-up retained the same covenant ID, S, state script, and derived P2SH address while advancing the outpoint and strictly increasing V. A fresh client/server runtime reloaded the genesis evidence, top-up evidence, active outpoint, channel state, and the exact pre-broadcast claim artifact. No open claim attempt survived the accepted top-up.

Stale-head rejection and terminal refund

The refund builder, persisted artifact, and broadcast transaction IDs matched. Restart reconciliation reloaded the exact signed bytes and captured head, applied the accepted attempt atomically, and did not rebroadcast.

Public TN10 REST independently returned all five batch transactions as accepted version-1 native-subnetwork transactions with accepting block hashes.

Required Flow Status

All 18 required flows passed:

Mainnet Read-Only And Offline Check

The latest separate mainnet read-only check reported a synced Rusty Kaspa 2.0.1 node with UTXO index enabled beyond the recorded Toccata activation score. npm run proof:mainnet:offline constructs and signs deterministic synthetic standard-native v0 and additive v1 shapes without real UTXOs, funds, transaction submission, spend, or broadcast.

This is compatibility evidence, not a mainnet readiness claim. Mainnet remains blocked by docs/mainnet-readiness.md.

Source: /docs/live-testnet-report.md