x402 dispute extension

Add a dispute record to an x402 payment.

The open-source People’s Court SDK binds published dispute terms and a payer’s explicit acceptance to an ordinary x402 payment. If a dispute follows, the integration can produce a canonical evidence packet for an authorized filing.

Public TypeScript SDK · Apache-2.0 · Package version 0.1.0

Protocol flow

Payment stays x402. The dispute record travels with it.

The extension adds an integrity-checkable record around the transaction. It does not replace the facilitator, hold funds, or change ordinary x402 settlement.

  1. 01

    Declare

    The seller publishes the forum, Rules, claim scope, evidence expectations, filing window, and execution owner with the payment requirement.

  2. 02

    Accept

    The payer explicitly accepts those exact terms and binds the acceptance to the resource and payment.

  3. 03

    Settle

    The payment continues through the ordinary x402 verification and settlement flow. People’s Court is not the facilitator.

  4. 04

    Preserve

    The integration builds a canonical packet that binds the parties, amount, terms, acceptance, and signed payment artifacts.

  5. 05

    File

    If a dispute arises, an authorized integrator submits the packet through the controlled Partner API path.

  6. 06

    Decide

    People’s Court applies the recorded consent and Rules, closes the record, and serves a reasoned award to the actual execution owner.

What the extension records and checks

  • The supplied declaration, acceptance, payment, and settlement fields are mutually consistent.
  • The supplied acceptance record is bound to the exact terms, resource, and payment requirement.
  • A separately retained or confirmed packet hash detects later changes to the transaction and evidence references.
  • The execution owner is named for any later award handoff.

What it does not establish

  • A signer’s identity or authority unless the integration verifies it separately.
  • Whether either party performed, breached, or has a valid claim.
  • That an ordinary x402 payment can be reversed or refunded.
  • That metadata alone opened a case or supplied both parties’ consent.
  • That a merchant, platform, or other execution owner carried out an award.
Base Sepolia test0.01 test USDC · x402 2.20.0

Transaction and packet binding reproduced

A dedicated payer sent 0.01 test USDC to a separate merchant through an x402 facilitator. The resulting packet passed integrity checks, the acceptance wallet signature was recovered, and altered resource, transaction, and amount bindings were rejected.

This is testnet protocol evidence, not production volume, a merits test, or proof of automatic recovery. No case was filed and no award or refund was executed in this run.

View testnet transaction

Composition

Ordinary x402 and x402r stay distinct.

For ordinary x402, the extension preserves a dispute record around a settled payment. The merchant or platform that controls the funds remains responsible for carrying out any award.

x402r is a separate refundable-payment protocol with its own referral and execution semantics. People’s Court can remain available through x402r while offering this independent extension for ordinary x402 integrations. One path does not pretend to be the other.

Bring a controlled integration.

The SDK is public. Hosted Partner API access is not open signup yet: we set up and scope live credentials for one integration at a time. Before we accept a filing, the integration must present a configured authority record, records of both parties’ consent, and a second confirmation of the exact filing.

Review the Rules, Terms, and Privacy Notice.

Discuss an integration