Route Pons v2 fees to
X-linked wallets
Point a Pons v2 tax token's creator fees at any X handle. Sell-tax ETH is routed to configured wallets on Robinhood Chain — one factory, one receiver per token, no discretion.
TokenFeeReceiver holds one token's fees.Overview
PonsPaid launches Pons v2 tax tokens with auto-distributing fee routing. When a trade happens on a launched token, the creator tax is sent to a per-token TokenFeeReceiver. The receiver splits that ETH across every configured shareholder in the same transaction — there is nothing to claim.
Architecture
PonsPaidFactory deploys one TokenFeeReceiver per launch, and the Pons v2 creatorFeeRecipient is set to that receiver at launch time. The factory doubles as the on-chain registry, so this interface reads its token list directly from chain rather than from a database.
Fee flow
- A trade fires on Pons v2 and the creator tax is forwarded to the receiver's
receive()function. receive()settles every shareholder's basis-point share and sends it with a bounded gas stipend.- Any transfer that fails is recorded in
claimable[]so the recipient can still withdraw it. - If the inbound call arrives with too little gas to distribute, the ETH is held as pending and
distributePending()can be called by anyone.
Share configuration
Shares are set per token, in basis points, and must sum to exactly 10,000. X handles are stored as a hash for display only — the wallet address is what actually receives ETH.
| Field | Type | Description |
|---|---|---|
| wallet | address | Payout destination on Robinhood Chain |
| bps | uint16 | Share in basis points (5000 = 50%) |
| handleHash | bytes32 | keccak256 of the X handle, metadata only |
Security
nonReentrantguards every distribution and claim path.- Outbound sends use a capped gas stipend, so one hostile recipient cannot block the rest.
- Shares must sum to exactly 10,000 bps, with a maximum of 16 shareholders per token.
- Token binding is one-time and immutable once set.
- Rounding dust carries forward to the next settlement instead of being stranded.
- The admin can pause distribution but cannot move claimable balances.
Limitations
This routes ETH to wallets on Robinhood Chain. It does not settle X Money dollar payouts — X handles are identity metadata, and the wallet address is what receives funds. Front-running the gap between receiver deployment and token binding is not yet access-controlled, so treat binding as time-sensitive.