Kaspa x402

Public Proposal Draft

Status: draft for community review. No external issue, pull request, or standards submission has been opened from this repository yet.

Kaspa x402 proposes native Kaspa bindings for x402 v2 payment flows. The current native alpha surface defines two scheme/network profiles:

The network strings are kaspa:testnet-10 for alpha validation and kaspa:mainnet as a reserved profile name. They are draft binding identifiers, not proof of CAIP or x402 registry acceptance. The current implementation and live evidence are testnet-only. Mainnet use is blocked by the gates in docs/mainnet-readiness.md.

Why These Profiles

Kaspa payments do not all have the same settlement shape.

exact is the simplest fit when the resource has a fixed price and the client can pay directly with a native transaction.

batch-settlement fits repeated small requests and bounded variable-cost requests. A client funds an escrow channel, signs cumulative vouchers per paid request, and the server can claim later while preserving refund paths for remaining value.

Keeping these profiles separate avoids overloading one x402 scheme with different settlement semantics.

Kaspa Binding

The Kaspa binding is UTXO-native:

The public wire format uses x402 v2 transport primitives. HTTP uses PAYMENT-REQUIRED, PAYMENT-SIGNATURE, and PAYMENT-RESPONSE; MCP uses the standard _meta payment fields.

Facilitator Lock-In

The reference implementation is direct-mode first. Servers can verify and settle payments without depending on a hosted facilitator. A self-hosted facilitator package exists for compatibility with x402-style /supported, /verify, and /settle flows, but it is optional and not part of the initial alpha package set.

Evidence

The repository contains:

The live testnet report is evidence that the reference flows can execute on testnet. It is not a production approval, audit result, or mainnet safety claim.

Proposed Community Path

1. Share this proposal with the x402 and Kaspa communities. 2. Open a focused x402 discussion or issue for kaspa:* network binding names, CAIP namespace alignment, and the native KAS asset convention. 3. Keep the first external discussion grounded in spec text, vectors, and live testnet evidence rather than production claims. 4. Iterate on naming, schema shape, and compatibility with existing x402 conventions before tagging a stable spec.

Source: /docs/public-proposal.md