How Tribute works
Tribute is a fee bridge on Robinhood Chain. Fees are collected in USDG and sent to a website that supports Stripe. Tokens are launched on Pons, the launchpad on Robinhood Chain. Each coin's fees go to its own fee vault; we claim them, bridge them out as USDC and pay the website: to its bank account or Stripe balance through Stripe, or to a USDC wallet, whichever the website picks. The creator only names the domain; the website claims its payouts once.
- Fees should be dollars, not tokens
Coins launch on Pons paired against USDG, so every trade pays creator fees in dollars on Robinhood Chain.
- Every fee must belong to one coin
Each coin's creator fee recipient is its own fee vault, so the vault's balance is exactly that coin's fees.
- Stripe doesn't accept USDG
Across fills the website's share as USDC on Base in seconds, at a fee quoted before signing.
- No one can push money into a Stripe account by its ID
The website proves its domain once and chooses where to be paid: a bank, its Stripe balance or a USDC wallet.
- A payout is only done when the money arrives
Stripe Global Payouts sends dollars to the bank, typically in 0–1 business days in the US. Only then is it Delivered.
Overview
Tribute turns a token's creator fees into a payment to a website. Tokens are paired against USDG, Paxos's Global Dollar, so creator fees arrive as dollars on Robinhood Chain and are never exposed to the price of the token that earned them.
- The token is launched on Pons
The creator's wallet launches the token through the Pons factory, paired against USDG, with its creator fee recipient set to a fee vault that belongs to that coin alone.
- The creator names a website
Only the domain. The website claims its payouts once by verifying the domain and choosing where the money goes.
- Fees: we claim on a schedule
Pons accrues the creator share in USDG in its fee escrow, credited to the coin's vault. The vault claims it into the payout wallet.
- Every claim is split
80% to the website, 20% to buy and burn $TRBT.
- Sending, then Delivered
The USDG is bridged out as USDC and paid to the destination the website chose: its bank account through Stripe Global Payouts, its Stripe account, or a USDC wallet. It counts as Delivered once it arrives.
Supported chains
Tokens launch and pay out on Robinhood Chain, Robinhood's Layer 2 built on Arbitrum Orbit. Gas is paid in ETH. Fees are collected in USDG; payouts leave Robinhood Chain as USDC.
- Robinhood Chain
- Mainnet since July 2026. Chain ID 4663, network eip155:4663, explorer Blockscout.
- Stablecoin
- USDG (Paxos Global Dollar), 6 decimals, 0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168. Robinhood Chain has no native USDC.
- Launchpad
- Pons v2, factory 0x7eD598BcEf8bd9Edd8C97A195C6d13f40801EC7e, fee escrow 0xd3AFEB2a57f70eF218Aa82451c51B2fb0416Ac9e.
- Payouts
- USDG bridged out as USDC on Base with Across, then paid to the website's bank (Stripe Global Payouts), Stripe balance (Global Payouts) or USDC wallet.
Launching on Pons
Every token on Tribute is launched on Pons, a launchpad on Robinhood Chain. A launch sells from a bonding curve; when the curve sells out it graduates to a Uniswap v4 pool with the liquidity locked. Tribute doesn't run its own launchpad; the only contracts it adds are the fee vaults.
- Deploy
- The creator's wallet calls the Pons factory with the token's name, ticker and image, paired against USDG, and with creatorFeeRecipient set to the coin's fee vault.
- Fees
- Each trade pays the launch's fee in the pair token. Pons takes its share first; the rest, plus any creator tax set at launch, goes to the creator fee recipient. Rates are per launch and read from the curve with feeBps() and creatorTaxBps(). A launch paired against USDG pays its creator in USDG.
- Sweeping
- Fees accrue on the launch. As the coin's creator fee recipient, its vault moves them into the Pons fee escrow itself: curve.sweepFees() while the token is on its curve, hook.sweepPoolFees() after it graduates. Pool fees held in the token need a conversion only Pons's operator runs; Pons sweeps those, and graduation sweeps the curve on its own.
- Claiming
- One call, FeeVaultFactory.collectMany(coinIds), has each vault sweep, claim escrow.claimToken(USDG) and forward the USDG to the payout wallet, which runs the payout pipeline below.
- Existing tokens
- A creator can point an existing Pons token at a website by calling transferCreatorFeeRecipient(token, vault) with the vault address the Register tab gives them. Pons applies it immediately.
Pons's protocol reference is public in the Pons v2 docs. A token paired against ETH pays its creator in ETH; its vault forwards the ETH and Across bridges it out as USDC like any other batch. Tribute is not affiliated with Pons or Robinhood.
Naming the website
The website is the only field that decides where money goes. Name, category and description are read from the site itself; the creator does not type them.
Normalization
Whatever is pasted is reduced to a bare domain: lowercased, with the scheme, a leading www., any path, query, fragment and port removed. So https://www.Substack.com/about?ref=x becomes substack.com. Input that isn't a valid domain is rejected.
What the live check shows
- Stripe on the site
We fetch the site and look for Stripe.js, Checkout, Payment Links or pricing tables. It is shown as evidence, alongside a Stripe customer story where one exists.
- 402 endpoint
Whether the site answers 402 Payment Required. Shown for information; payouts don't depend on it.
- Who gets paid
Neither check pays anyone. Money only moves once the website claims its payouts.
From USDG fees to the website
Every coin's money moves through three stages, shown on every token and website page: Fees, Sending, Delivered. Delivered means the money has arrived where the website chose to be paid: its bank account, its Stripe account or its USDC wallet. Every step below is a call on Pons, the fee vault contract, Across or Stripe, and every step leaves an ID that is stored against the payout.
1. Fees: collected and claimed on Robinhood Chain
- Launch
Before signing, Tribute allocates the coin a fee vault: a small contract at a CREATE2 address that is known before it is deployed. The creator's wallet calls launchToken on the Pons factory with creatorFeeRecipient set to that vault, buybackEnabled off and the pair token set to USDG. Pons only pairs against tokens it has approved; approvedPairTokens(USDG) returns true on the factory.
- Accrue
Each trade pays the launch's fee in the pair token. Rates are per launch: we read feeBps() and creatorTaxBps() from the curve instead of assuming them.
- Sweep
Each coin's vault sweeps its own fees into the Pons escrow: curve.sweepFees() while the token is on its curve, hook.sweepPoolFees() after graduation. Whoever sweeps, Pons credits its escrow per recipient and asset, and every coin has its own vault as recipient, so escrow.balanceOfToken(vault, USDG) is exactly that coin's fees. Nothing has to be attributed after the fact.
- Claim
Anyone can call FeeVaultFactory.collect(coinId) or collectMany(coinIds); each vault sweeps, calls escrow.claimToken(USDG) and forwards everything to the payout wallet, and the factory emits Forwarded(coinId, USDG, amount) and adds it to collected(coinId, USDG). Only the treasury multisig can change the one payout wallet all vaults forward to. A claim is booked to the coin by transaction hash and log index so it can never be counted twice. ETH-paired launches are collected the same way.
2. Sending: out of Robinhood Chain as USDC
Robinhood Chain uses USDG. Banks, Stripe and most wallets take USDC, so each batch leaves Robinhood Chain as USDC in one step. There is no separate swap and no wait for a bridge to finalise.
- Batch
Payouts are batched once a day per website, and only once the website's balance clears the minimum payout.
- Bridge out as USDC
The payout wallet sends the batch through Across, whose relayers fill USDG on Robinhood Chain as USDC on Base in a few seconds. The fee and output amount are quoted before the transaction is signed, and the batch is skipped if the quote is below the slippage limit. If Across is unavailable, the batch waits.
- Route by payout method
A website paid in USDC gets it straight from the payout wallet. Everything else is deposited to Tribute's Stripe financial account deposit address on Base and credited to its USDC balance, usually within minutes.
Manual route for large batches. USDG can be bridged to Ethereum and redeemed 1:1 for dollars at Paxos with a redeem orchestration, which wires USD to Tribute's bank and on to the Stripe financial account. No bridge fee or spread, but it needs an approved Paxos institutional account.
3. Delivered: paid to the destination the website chose
- Bank account
The default. Stripe Global Payouts sends dollars from the financial account to the website's recipient account. US banks: typically 0 to 1 business days, or immediate to a debit card. 160+ other countries: local currency, typically 1 to 7 days. The website doesn't need a Stripe account.
- Stripe account
For websites that want the money next to their sales. Where Stripe offers it, they pick their Stripe balance as the destination in the same Stripe-hosted form, and the same outbound payment credits it.
- USDC wallet
USDC on Base, Arbitrum, Ethereum or Optimism (or USDG on Robinhood Chain), sent straight from the payout wallet after the bridge. Seconds, with no Stripe step.
- Delivered
Marked when the outbound payment is posted, or when the USDC or USDG transfer to the wallet is final. The ID is shown on the payout.
# fees sweep Robinhood Chain tx 0x… · vault → curve.sweepFees() claim factory.collectMany() · Forwarded(coinId, USDG, 100.00) · 80.00 to the website # sending bridge Across deposit 0x… · 80.00 USDG → 79.94 USDC on Base deposit Stripe financial account · 79.94 USDC credited # delivered payout outbound_payment obp_… → recipient acct_… · bank ••6789
- Timing
- Claims settle in seconds and the bridge fills in seconds. USDC wallets are paid within minutes of the batch. Stripe deposits take minutes; bank payouts arrive in 0 to 1 business days in the US and 1 to 7 days elsewhere.
- Costs
- Robinhood Chain gas (ETH), the Across fee, and any Stripe payout or FX fee come out of the batch. That is why payouts under 5 USDG wait.
- Failures
- Each step saves its ID before the next one runs, and Stripe calls use the batch ID as the idempotency key, so a retry never pays twice. An unfilled bridge deposit is refunded to the payout wallet; a failed or returned bank payout goes back to the financial account and the website is asked to fix its details.
How a website claims its payouts
Nobody can push money into a Stripe account by knowing its account ID, and naming a domain doesn't prove who owns it. So a website claims its payouts once. Until then its share is recorded as Owed and stays in USDG.
- Prove the domain
Add a DNS TXT record tribute-verification=… to the domain, or serve the same value at /.well-known/tribute.txt. This stops anyone other than the site's owner from claiming its money.
- Choose where to be paid
Either a Stripe-hosted form collects the payout details (a bank account, debit card or Stripe balance through Stripe Global Payouts; no Stripe account needed, and Stripe verifies the recipient), or the website enters a USDC wallet address. Tribute never sees bank numbers.
- Get paid
The whole owed balance goes out in the next daily batch, and every later claim follows automatically.
Where x402 fits
x402 is an open standard for paying over HTTP: a server answers 402 Payment Required with its terms, the client signs a payment and retries. It moves stablecoins; it doesn't convert them to dollars. Tribute doesn't pay websites over x402, for the reasons below.
- Stripe's x402
The merchant runs the server. Its 402 response names a Stripe deposit address, the payment settles through a facilitator, and the merchant records it in Stripe as a PaymentIntent. Stripe accepts USDC on Base, Solana and Tempo for this.
- Why we don't use it for payouts
An x402 endpoint charges its own price for its own resource. A fee batch is an arbitrary amount, so it can't be paid through someone else's endpoint without buying something. Global Payouts and wallet transfers send the exact amount.
- On Robinhood Chain
USDG supports EIP-3009 (TransferWithAuthorization), so x402 works on eip155:4663. Stripe doesn't accept USDG or Robinhood Chain, so an x402 payment on Robinhood Chain cannot land in a Stripe account.
Payout methods and owed
Any website can be named. What happens to its share depends on what the website has set up.
- Bank
- Domain verified, bank account added through Stripe Global Payouts. Paid in its local currency after each daily batch.
- Stripe
- Domain verified, Stripe balance chosen in the hosted form. Paid into its Stripe balance.
- USDC
- Domain verified, wallet address added. Paid in USDC within minutes of each batch.
- Owed
- Not claimed yet. The share stays in USDG and is listed on the site's page until the site claims it.
Requirements and status
These are the approvals and accounts the payout pipeline depends on. Pons is live today. Fee vaults and payouts start once all of these are in place.
- Stripe Global Payouts
- A US or UK entity with a Stripe financial account, approved for this use case. Cross-border payouts and payouts from a USDC balance are in public preview in the US; USDC wallet payouts through Stripe are in private preview, so wallets are paid directly.
- Money transmission
- Holding and forwarding other people's fees is regulated, and Stripe's Global Payouts docs say licences may be needed. The operating entity needs the registrations and licences its lawyers confirm, such as FinCEN MSB registration and state licences.
- Paxos
- Only for the redemption route: an approved Paxos institutional account and a linked bank account.
- Pons
- Post-graduation sweeps that need an internal swap depend on Pons's sweep operator running them.
- Infrastructure
- A production Robinhood Chain RPC provider (the public endpoint is rate-limited), a multisig treasury with a limited payout wallet, sanctions screening on every recipient and wallet, 1099 or equivalent tax reporting, and an idempotent payout ledger.
Payment note
Each token carries a payment note, up to 250 characters. It is stored with the coin and shown on its page. When a website's daily payout comes from a single coin, the payout carries that coin's note as its Stripe description; a payout that combines several coins uses the default note, Creator fees via @trytribute.
The split
Every claim is split the same way, on every token.
- 80% · website
Paid to the named website's bank, Stripe balance or wallet, or held as owed until the website claims it.
- 20% · buyback
Buys $TRBT and burns it. See $TRBT buyback and burn.
Claims and schedule
Creator fees do not arrive continuously. They accrue on the token and each coin's vault is claimed every few minutes. Each claim appears in the ledger with its Robinhood Chain transaction and its split.
Payouts under 5 USDG wait. A site's share keeps building across claims until it reaches 5 USDG, because the gas and bridge fee of sending less would eat most of it.
Launching a token
Tokens are launched from the Launch page with a connected wallet. The coin's creator fees go to its own fee vault from the first trade and are paid on to the website it names.
- Website
- Required. The website that receives the coin's share, picked from the directory or typed as any domain.
- Name and ticker
- Required. Up to 32 characters for the name and 10 letters or digits for the ticker.
- Image and description
- Optional. Shown on Pons and on the token's page.
- Social links
- Optional: website, X, Telegram and Discord, passed to Pons with the token's details. With no website, the token's Tribute page is used.
- Payment note
- Optional. Up to 250 characters. Used as the payout's Stripe description when a payout comes from this coin alone; payouts that combine several coins use the default note.
- Dev buy
- Optional. Buys your own token at launch, before anyone else.
- Fee vault
- Set automatically as the creator fee recipient. Fees credited to any other address can't be traced to a website and aren't paid out.
- Register
- For a token already on Pons. Name the website, enter the token's address, then from the current creator fee recipient call transferCreatorFeeRecipient(token, vault) to hand 100% of the creator fees to its fee vault. No wallet here: Check confirms the vault is receiving the fees.
Wallets
A wallet is needed to launch a token. Robinhood Chain is an EVM chain, so any EVM wallet works.
- Chain
- Robinhood Chain, EVM-compatible.
- Connection
- Injected wallets announce themselves (EIP-6963) and are listed; MetaMask, Coinbase Wallet, Phantom, Rabby, Rainbow and OKX are offered with install and mobile links.
- Gas
- Paid in ETH on Robinhood Chain. Launching a token needs a small amount of ETH.
$TRBT buyback and burn
The 20% share of every claim goes to the buyback wallet, which buys $TRBT on Robinhood Chain with USDG and sends it to the burn address. Buys in progress show as Buying; completed ones show the amount burned and link to the transaction. Totals are on Analytics.
- Token
- not announced yet — the contract address appears here and in the app bar once it is
- Funded by
- 20% of every claim, in USDG.
Fees and limits
- Split
- 80% website, 20% buyback and burn.
- Minimum payout
- 5 USDG. Smaller shares wait for later claims.
- Payment note
- Up to 250 characters.
- Network gas
- Paid in ETH on Robinhood Chain, plus the Across bridge fee, out of each batch.
- Stripe fees
- Stripe's payout and FX fees on the payout method the website chose.
Terms
Pointing a token's creator fees at a Tribute fee vault is a choice made by whoever controls the token. By doing so, and by naming a website, they direct those fees to be claimed and split as described on this page.
The site and the protocol are provided as is. Payouts depend on Robinhood Chain, Pons, Across, Stripe and each website claiming its payouts, none of which we control. Nothing here is investment advice, and $TRBT is not an investment product.
Disclosures
Tribute is not affiliated with, endorsed by or sponsored by Stripe, Inc., Robinhood Markets, Paxos, Pons or Across. Stripe, Robinhood, Robinhood Chain, USDG and Pons are trademarks of their respective owners.
Directory and figures. Websites in the merchant directory are real businesses and people listed because public evidence shows they take payments with Stripe; none of them have opted in. Tokens, payments, claims, buybacks and totals are read from the chain and this site's ledger; they show zero until there are launches.