Accept payments on Solana

Cosmos Pay turns each payment into a Solana Pay link and QR code. Your customer pays in USDC or SOL from their own wallet, straight to your address.

How a payment works on Solana

Payment link
Solana Pay transfer requests (solana:) and their QR code. A link that carries your own fee is a Solana Pay transaction request instead.
Wallets that pay
Any wallet that reads Solana Pay links, such as Phantom or Solflare.
  • Phantom
  • Solflare
How it is matched
A Solana Pay reference key on each link. The link’s memo is recorded with the SPL Memo program.
Where the money goes
Straight to your Solana address once the network confirms the payment.
Test network
Solana Devnet with a test key (dv_); mainnet with a live key (prod_).

Assets with a preset

The dashboard offers these by name. Any other SPL token, such as USDT, goes by its mint.

Assets with a preset
AssetMintEnvironment
SOLThe network’s own coinMainnet
USDCEPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1vMainnet
SOLThe network’s own coinDevnet
USDC4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDUDevnet

What it costs

Each payment pays your plan’s rate. The payer’s wallet pays the Solana network fee.

  • Starter1.5% + 18¢per payment0.65% per swapNo monthly fee
  • Essentials1.12% + 18¢per payment0.26% per swap$33 per month
  • Growth0.75% + 18¢per payment0.13% per swap$99 per month
  • EnterpriseCustom0.07% per swap

Create a Solana payment link

One request to the Payments API with your secret API key. The response carries the payment link (uri), its QR code and the id of its hosted checkout.

Every way to integrate
REST
curl https://api.cosmospay.lat/cosmos-api/v1/payment-intents/pay \  -H "Authorization: Bearer $COSMOS_PAY_API_KEY" \  -H "Content-Type: application/json" \  -d '{    "chain": "solana",    "destination": "YOUR_SOLANA_ADDRESS",    "amount": "25",    "assetCode": "USDC",    "assetIssuer": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",    "msg": "Order #1001"  }'

A test key (dv_) creates the link on Devnet: use the Devnet USDC mint from the table above, or leave out assetCode and assetIssuer to charge in SOL.

Solana payments: questions and answers.

Other networks:Stellar paymentsMonad payments

Which wallets can pay a Solana payment link?

Any wallet that reads Solana Pay links, such as Phantom or Solflare, can pay a Cosmos Pay payment link on Solana. The customer scans the QR code or opens the link, and approves the transfer in the wallet. They need no account: their wallet pays the Solana network fee, and the payment goes straight to your Solana address once the network confirms it.

How is a Solana payment matched to its link?

Each Cosmos Pay payment link on Solana carries a Solana Pay reference key. Cosmos Pay finds the transfer that carries that key on-chain and matches it to its link, and the link’s memo is recorded with the SPL Memo program. Once the network confirms the transfer, the checkout turns to Paid and Cosmos Pay fires the same webhooks as on Stellar, so the same webhook endpoint serves both networks.

Can I accept USDT or another SPL token on Solana?

Yes. On Solana, Cosmos Pay offers SOL, the network’s own coin, and USDC by name, on mainnet and on Devnet. Any other SPL token, such as USDT, goes by its mint when you create the link. Your customer pays in the token set on the link, and that same token goes straight to your Solana address once the network confirms the payment.

How do I test Solana payments without real money?

Create a test API key (dv_) in the Cosmos Pay dashboard, or choose Sandbox there: payment links then run on Solana Devnet, and their checkout says that no real funds move. The Devnet preset is Circle’s Devnet USDC mint; leave the asset out to charge in SOL instead. A live key (prod_) creates the same links on Solana mainnet: the key decides the network, not the code.

What changes when a Solana link carries my own fee?

A Cosmos Pay link on Solana that carries your own fee becomes a Solana Pay transaction request instead of a transfer request: the payer’s wallet asks Cosmos Pay for one transaction with both transfers, one to your Solana address and one to your fee wallet. The payer approves it once in their wallet. Your fee is separate from your plan’s rate, which each payment still pays.

Start accepting stablecoins.

Create a free account, mint a test key and send your first payment link today.

Write to us

Questions about plans, integration or protected payments? Tell us and we will reply by email.

We use these details only to reply to you.