Pay & earnPlanned

Revenue Split

Split one payment between several addresses in the same transaction: the agent’s developer, the data provider, a referrer. Designed, not live.

On this page+

The idea

A seller often owes part of every sale to someone else. Settling that later means trust and bookkeeping. On Solana the split can happen inside the payment itself: several TransferChecked instructions in one transaction, all or nothing.

split.json (draft)
{
  "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
  "splits": [
    { "payTo": "DEVELOPER_ADDRESS", "bps": 7000 },
    { "payTo": "DATA_PROVIDER_ADDRESS", "bps": 2500 },
    { "payTo": "REFERRER_ADDRESS", "bps": 500 }
  ]
}

Why it isn't live

The x402 exact scheme on Solana expects exactly one TransferChecked to one payTo, and facilitators reject anything else, on purpose. A split needs either a new scheme that facilitators verify, or an on-chain program that receives the payment and distributes it. We are designing the program route together with escrow, since both need one.

Draft rules

  • Shares are basis points and must add up to 10,000.
  • Amounts are computed in atomic units; the rounding remainder goes to the first recipient.
  • Every recipient needs a token account for the mint, or the whole payment fails.
  • The split config is public, so partners can check what they are owed against receipts.

Until then

Receive into one payTo and forward the shares on a schedule with an ordinary SPL transfer. Every forward has its own public signature, so partners can verify it against the incoming receipts.