Xpaidcreator fees split on chain
Live on Robinhood Chain mainnet
Non-custodial fee routing
Point a Pons token’s creator fees at a splitter that cannot change its mind — fixed shares, no owner, pull-only withdrawals.
Live on chain
Every wei, at the hop it is sitting on.
The terms are the whole product.
How it worksPons fee on every trade
1%
Creator share of it
70%
Taken by Xpaid
0%
Owner keys
None
Set it once.
Nobody moves it after that.
01 — The sequence
The address exists before the token does.
Pons names the creator-fee recipient when the token is created, and a splitter can never hand that role on, so its address has to be settled first. CREATE2 is what makes that possible — the address falls out of the shares alone, before anything is on chain.
Walk the flow- 01predict()address from the shares alone
- 02Pons launchnames the splitter as recipient
- 03deploy()the splitter occupies it
- 04link()verified against Pons
02 — The path
Three hops, and a fourth deliberately missing.
A fee crosses from a trade to a wallet without ever resting in an account Xpaid can spend from. It stops at the recipient in ETH — converting that to dollars on someone else’s behalf is money transmission, which needs licences this does not hold.
See the whole path- The Pons escrowheld by Pons
- The splitterheld by The contract
- Recipient walletheld by The recipient
- A bank accountheld by nobody
The fourth hop is where a licence would be required. Xpaid stops at the third.
Who Splits Fees
Four founders, a fixed split, and no treasurer. The shares go into the splitter when it is deployed, and from then on each person withdraws their own balance. Nobody holds anybody else's money in between, and nobody has to be chased for it.
What Is On Chain
Contract
XpaidSplitter
Immutable shares, pull-only withdrawals, and cumulative accounting so streaming inflows stay correct between claims.
Contract
XpaidFactory
CREATE2 deploys, so the address is known before the token exists — plus link, which proves a token and splitter belong together against Pons' own launch record rather than trusting the caller.
Contract
AttestationRegistry
Handle to address binding that needs both the attestor's signature and the holder's own transaction. Opting out is one-way, and only the holder can lift it.
Testnet
MockPonsV2
Pons is mainnet-only — eth_getCode returns 0x on testnet. The mock keeps Pons V2's exact interface, so the app sends the same calldata on both, and the same flow also runs against the real contracts on a mainnet fork.

