Frag is chain-agnostic — your customers pay with whatever they hold, on any chain, and you receive one clean settlement on the chain you choose. Robinhood Chain, every major EVM network, and Solana all work out of the box.
npm install @fragmentpay/react @fragmentpay/serverimport { FragmentPayProvider, FragmentPayCheckout } from "@fragmentpay/react";
export default function Checkout({ intentId }: { intentId: string }) {
return (
<FragmentPayProvider publicKey={import.meta.env.VITE_FRAG_PUBLIC_KEY}>
<FragmentPayCheckout
intentId={intentId}
onSettled={(p) => console.log("Paid:", p.id)}
onError={(err) => console.error(err)}
/>
</FragmentPayProvider>
);
}Specify amount, currency, settlement chain, token, and wallet. Frag returns a client secret.
User connects wallets. We scan balances, pick the cleanest combination, and sign one checkout.
Same-chain swap, cross-chain intent, or fallback session. Merchant receives the exact output.
Your users do not need the right token. They just need enough value. Turn ETH on Base, USDC on Solana, BONK, and forgotten Arbitrum USDT into one usable checkout.
Multiple tokens on one chain executed in a single real transaction.
One signed intent. A solver routes liquidity and lands the exact output.
Multi-route session with clear progress when solver liquidity is unavailable.
No subscriptions. No setup fees. You only pay when a payment lands — and $FRAG holders don't pay at all, on any chain.
contract address
2vmUzQmoEMCWMckJ2AS2JkoQK8AWDdc5KEBZye3fpump