OVERVIEW
Pay every fee on Solana in USDC.
Solana charges its network fees in SOL. That means anyone holding only USDC — actual dollars — can't move them without first acquiring a second token just for gas. Payr removes that requirement.
With Payr, you send USDC and pay the network fee in USDC. A relayer co-signs your transaction, fronts the SOL gas, and collects a flat fee in stablecoin — all inside one atomic transaction. You hold zero SOL, ever.
GETTING STARTED
Using the app
- Connect — open the app ↗ and connect Phantom, Solflare or Backpack. Payr never holds your keys; you approve every transaction in your own wallet.
- Portfolio — live balances and USD prices for supported tokens.
- Swap — real swaps routed through Jupiter with live quotes, price impact and minimum-received shown before you sign.
- Send — transfer SOL or SPL tokens the ordinary way (network fee in SOL).
- Gasless — the headline: send USDC, pay the fee in USDC, hold zero SOL.
GASLESS TRANSFERS
How a gasless transfer works
- You enter an amount and a recipient. The app asks the relayer to build the transaction (POST /api/build). The relayer composes it with itself as fee payer: your USDC → recipient, plus your USDC fee → treasury.
- You sign the transaction in your wallet. Your signature only authorizes the two USDC transfers — nothing else.
- The relayer validates the signed transaction against a strict allow-list, co-signs as fee payer, and submits it (POST /api/relay). It pays the SOL gas.
- The transaction settles atomically on mainnet. If any part fails, everything reverts — there is no partial state.
If the recipient has never held USDC, the relayer also creates their token account and pays the rent for it — covered by the fee.
FEES
What it costs
| Action | Fee | Paid in |
|---|---|---|
| Gasless USDC transfer | 0.25 USDC flat | USDC |
| Swap (Jupiter) | ~0.000005 SOL + priority | SOL |
| Send SOL / SPL | ~0.000005 SOL | SOL |
Why 0.25? When a recipient needs a new USDC token account, on-chain rent costs the relayer ~0.002 SOL. The flat fee covers gas, rent in the worst case, and the relayer's spread. No hidden costs, no percentage cut of your transfer.
RELAYER & SECURITY
Why the relayer can't hurt you — or be drained
The relayer refuses to co-sign anything that fails a single check:
- The fee payer must be the relayer key — it never signs as anything else.
- Every instruction must be allow-listed: ComputeBudget, token-account creation paid by the relayer, or SPL TransferChecked on the USDC mint only.
- The relayer can never be a transfer owner — its own token accounts cannot be debited by user transactions.
- The fee to the treasury is enforced inside the same transaction. No fee, no signature.
Your side is simpler: you sign in your own wallet, Payr never holds keys or funds, and your signature can only authorize exactly the transfers shown. The worst case for the relayer is losing the gas it chose to front; the worst case for you doesn't exist.
The full acid-test output is reproduced on the Proof section ↗ of the landing page.
API REFERENCE
Relayer endpoints
All endpoints live on this domain under /api. CORS is open; no key required.
Relayer status and gas tank.
{ "ok": true, "state": "ready", "cluster": "mainnet",
"feePayer": "E1j4…aspJ", "feePayerSol": 0.146 }
Public config: USDC mint, treasury, fee.
{ "cluster": "mainnet", "usdcMint": "EPjF…TDt1v",
"treasuryAta": "3y8F…K7hq", "feeUsdc": 0.25 }
Compose an unsigned gasless transfer. Body: { user, recipient, amount } (base58 addresses, amount in USDC). Returns { txBase64, lastValidBlockHeight, feeUsdc } — deserialize, sign with the user wallet, pass to relay.
Validate a user-signed transaction, co-sign, submit and confirm. Body: { txBase64 }. Returns { ok, signature } or a 400 with the exact policy violation.
Same-origin Solana JSON-RPC proxy (read methods + sendTransaction), used by the app because the public RPC blocks browser origins.
$PAYR
Token
$PAYR is live on pump.fun.
CA: 5oC2bsdKkHcZLHhZoGKWwnSN9hoRMfkKwa4o8n7Cpump ↗
The only official announcements come from @usepayr ↗ and this site. Any other address claiming to be $PAYR is fake.