Skip to content

Conversation

@0xAxiom
Copy link
Contributor

@0xAxiom 0xAxiom commented Feb 5, 2026

Summary

Proposes a new split scheme for x402 that enables atomic multi-party payment distribution via on-chain splitter contracts.

Related: #937

Problem

The current exact scheme transfers to a single payTo address. Many real-world use cases require splitting payments between multiple parties:

  • Content platforms (90% author / 10% platform)
  • Referral systems (70% provider / 20% referrer / 10% protocol)
  • Agent marketplaces (80% tool creator / 15% marketplace / 5% protocol)

Today, platforms handle this either off-chain (accounting only) or via custom contracts (like Postera's hardcoded 90/10 splitter). A standardized scheme would let any x402 client automatically pay into multi-party splits.

What's Included

specs/schemes/split/scheme_split.md

  • Scheme overview and use cases
  • PaymentRequirements format with extra.recipients array
  • Basis point (BPS) allocation system
  • Splitter contract interface (IPaymentSplitter)
  • Client flow, verification, and settlement
  • Security considerations
  • Comparison with exact scheme

specs/schemes/split/scheme_split_evm.md

  • EVM-specific implementation details
  • Payment header payload construction
  • Verification steps (event-based, smart wallet compatible)
  • Gas cost estimates per recipient count
  • Splitter contract ABI

Design Decisions

  • Basis points over percentages: 0.01% precision, no floating point
  • 2-5 recipient limit: Balances flexibility with gas costs
  • Calldata-based splits: No on-chain storage needed per split (gas efficient)
  • Event-based verification: Works with smart wallets (ERC-4337) where tx.to may be EntryPoint
  • Permissionless contract: No admin keys, no upgrade path, fully trustless
  • Remainder to first recipient: Deterministic rounding behavior

Next Steps

Per CONTRIBUTING.md, submitting the spec first for review. Once the spec is approved, I'll follow up with:

  1. Reference PaymentSplitter.sol contract
  2. TypeScript scheme implementation (@x402/evm split mechanism)
  3. Facilitator verification logic
  4. Example integration

Happy to iterate on the spec based on feedback from the x402 Foundation team.

@cb-heimdall
Copy link

cb-heimdall commented Feb 5, 2026

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1

@vercel
Copy link

vercel bot commented Feb 5, 2026

@0xAxiom is attempting to deploy a commit to the Coinbase Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions github-actions bot added the specs Spec changes or additions label Feb 5, 2026
@0xAxiom 0xAxiom force-pushed the feat/split-scheme-spec branch 3 times, most recently from 2a92637 to 8fa2eaf Compare February 8, 2026 19:49
Introduces the 'split' scheme specification for x402, enabling atomic
multi-party payment distribution via on-chain splitter contracts.

Key features:
- 2-5 recipients per payment with basis point allocations
- Atomic execution (all-or-nothing)
- Any ERC20 token support
- Permissionless splitter contract (no admin keys)
- EVM implementation spec included

Related: coinbase#937

Follows the spec-first contribution approach per CONTRIBUTING.md.
Implementation PR to follow after spec review.
@0xAxiom 0xAxiom force-pushed the feat/split-scheme-spec branch from 8fa2eaf to 9569923 Compare February 10, 2026 01:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

specs Spec changes or additions

Development

Successfully merging this pull request may close these issues.

2 participants