Your users never need SOL for fees.

Pimlico pays Solana transaction fees for your users, or lets them pay in USDC or USDT instead. Kora-compatible, and live on mainnet and devnet.

send.ts
// User taps "Send": no SOL, no fee prompt
const { signature } = await pimlico.signAndSendTransaction({
  transaction: userSignedTransaction,
})

// ✓ Confirmed on Solana
// ✓ Fee paid: sponsored by you

Two ways to cover the fee

Every Solana transaction names a fee payer. Make it Pimlico, then choose who ends up paying.

You pay it

The user never sees a fee. You cover it from your Pimlico balance.

1

Build the transaction

Set Pimlico’s signer as the fee payer.

2

The user signs

Only their own signature, with no SOL needed for the fee.

3

Pimlico pays and sends

Pimlico adds the fee payer’s signature and submits the transaction.

4

Charged to your balance

Itemized with your sponsorship spending in the dashboard.

Your users pay it in USDC or USDT

The user pays the fee in a stablecoin they already hold, not in SOL.

1

Get a quote

The fee is priced in USDC or USDT before anyone signs.

2

Add the payment

A token transfer to Pimlico joins the transaction.

3

The user signs once

Their action and the fee go out as one transaction.

4

Pimlico pays and sends

Pimlico checks the payment, pays the network fee and submits.

Built on Kora’s API

Pimlico speaks the JSON-RPC API of Kora, the Solana Foundation’s open-source fee payer. Integrate with the official @solana/kora client, or send the JSON-RPC calls yourself.

Running your own Kora node today? The methods below work against Pimlico unchanged, without a node to operate.

  • getPayerSigner
  • getBlockhash
  • getSupportedTokens
  • estimateTransactionFee
  • signAndSendTransaction
sponsor.ts
import { KoraClient } from "@solana/kora"

// The same Pimlico API key you use on EVM chains
const pimlico = new KoraClient({
  rpcUrl: "https://solana.pimlico.io/v1/mainnet/rpc?apikey=API_KEY",
})

// Set Pimlico's signer as the transaction's fee payer
const { signer_address: feePayer } = await pimlico.getPayerSigner()

// The user signs, Pimlico co-signs as fee payer and sends
const { signature } = await pimlico.signAndSendTransaction({
  transaction: userSignedTransaction, // base64
})

// ✓ Fee paid by Pimlico, charged to your balance
Privy

Works with Privy’s Solana wallets

Privy’s embedded Solana wallets can sign a transaction without sending it, so Pimlico can be its fee payer. Users log in with email or a social account, sign once, and never need SOL for the fee.

Pimlico can also collect the fee in USDC or USDT, on the same API key and dashboard you’d use with Privy on EVM chains.

Privy’s guide to signing Solana transactions
privy.ts
import {
  useSignTransaction,
  useWallets,
} from "@privy-io/react-auth/solana"
import { KoraClient } from "@solana/kora"
import { getBase64Decoder } from "@solana/kit"

const pimlico = new KoraClient({
  rpcUrl: "https://solana.pimlico.io/v1/mainnet/rpc?apikey=API_KEY",
})
const { wallets } = useWallets()
const { signTransaction } = useSignTransaction()

// Build it with Pimlico's signer as the fee payer (encoded bytes)
const { signer_address: feePayer } = await pimlico.getPayerSigner()
const transaction = buildTransaction({ feePayer, instructions })

// The user signs with their Privy embedded wallet
const { signedTransaction } = await signTransaction({
  transaction,
  wallet: wallets[0],
})

// Pimlico adds the fee payer's signature and sends it
const { signature } = await pimlico.signAndSendTransaction({
  transaction: getBase64Decoder().decode(signedTransaction),
})

One dashboard for Solana and EVM

Solana runs on the same API keys as your EVM chains and sits beside them everywhere you look: usage, sponsorship spending, and a transaction log that links every signature to Solscan.

When someone asks whether a transaction landed or who paid for it, the answer is one filter away.

Solana transaction logs

Illustrative data

SignatureTypeNetworkStatusFee
4vJ9…uKq2SponsoredSolanaIncluded$0.0012
2nXa…8hTePaid in USDCSolanaIncluded0.0031 USDC
5Gk3…pW7rPaid in USDTSolanaIncluded0.0029 USDT
3hQm…Zc1bSponsoredSolana DevnetPending$0.0011
Example of the Solana transaction logs in the Pimlico dashboard: each transaction's signature, who paid the fee, the network, its status and the fee.

Pimlico has processed 250M+ transactions and sponsored 100M+ across 100+ chains. Solana runs on the same platform, with the same team and 24/7 support behind it.

Frequently asked questions

Can I use my existing Pimlico API key?

Yes. Every Pimlico API key works on Solana. Point the Kora client at https://solana.pimlico.io/v1/mainnet/rpc?apikey=YOUR_KEY (or swap mainnet for devnet), and Solana shows up next to your EVM usage in the dashboard.

Which Solana networks are supported?

Solana mainnet and devnet.

Which tokens can users pay fees in?

USDC and USDT. The fee is quoted in the token before the user signs, so they see the exact amount they are paying.

How am I billed for sponsored Solana fees?

Sponsored fees are charged to your Pimlico balance, the same way as gas sponsorship on EVM chains, and itemized under Usage in the dashboard.

Do sponsorship policies work on Solana?

Not yet. Policies apply to EVM chains today, and Solana support is coming. Until then, sponsored Solana transactions aren’t capped by policy rules.

Is it compatible with Kora?

Yes. The endpoint speaks Kora’s JSON-RPC API and supports getPayerSigner, getBlockhash, getSupportedTokens, estimateTransactionFee, signAndSendTransaction, so the @solana/kora client works with it.

Does it work with Privy?

Yes. Privy’s embedded Solana wallets can sign a transaction without sending it. Build the transaction with Pimlico’s signer as the fee payer, have the user sign it with Privy’s useSignTransaction hook, then send it through Pimlico.

Do my users need a smart account?

No. On Solana the fee payer is its own signer on the transaction, so users keep the wallet they already have.

Start sponsoring gas in minutes

Free on testnets, pay-as-you-go in production. Or talk to us about enterprise rates and ecosystem programs.