Accept Solana (SOL) payments
SOL is the native coin of Solana: fast to send and cheap to move, which makes it a common choice for customers who already hold crypto. Here is how SOL payments work with easyway, when they count as yours, and what they cost.
How a SOL payment works here
Every invoice gets its own deposit address, derived from a key the API server cannot spend from. An address belongs to one invoice at a time, so the payment is matched by the address alone; there is no memo for the customer to type. The SOL amount is fixed from the exchange rate when the customer picks Solana on the checkout; the QR code holds the address, and the customer enters the amount shown next to it.
Read from the ledger, checked twice
A SOL transfer is not always a simple "send": exchanges batch withdrawals, and wallets often pay through a swap or another program. easyway does not try to decode each instruction. For every finalized transaction that touches the invoice address, it reads how much the address's balance grew in the validator's own before/after balance table, which is correct however the SOL was sent. Before anything is credited, a second, unrelated RPC provider must return the same transaction with the same amount.
Very small payments and rent
Solana charges storage "rent" for accounts and only lets a brand-new account exist if it receives at least the rent-exempt minimum, about 0.00089 SOL. A fresh invoice address is such an empty account, so a transfer below that is refused by the network before it is sent: the customer's wallet shows an error and nothing is lost. Normal invoice amounts are far above it; it only matters for tiny test payments.
SOL or a token on Solana?
The same checkout also accepts USDT, USDC, BONK on Solana. Tokens land in a separate token account that belongs to the invoice address, and they are credited through the same two-provider check; see USDT on Solana and USDC. Choose SOL when your customers hold SOL itself; offer a stablecoin when you would rather receive dollars. A customer must pay SOL to a SOL invoice: a token sent to the address of a SOL invoice is not credited to it.
Price risk
Nothing is converted: SOL stays SOL on your balance and is withdrawn as SOL to an address you have whitelisted. Its value follows the market after the customer picks the coin.
Fees
| Amount | |
|---|---|
| Platform fee on a payment | 0.5% |
| Example: customer pays 1 SOL | you receive 0.995 SOL |
| Credited after | finalized + second-provider check |
| Minimum withdrawal | 0.005 SOL |
| Withdrawal network fee | 0.0001 SOL (flat) |
The customer pays the (small) network fee of their own transfer. Every other coin and network is on the pricing page.
Integrating SOL payments
Create an invoice in USD and let the customer choose Solana among every enabled coin, or set currency: "SOL" to price in SOL and accept only SOL. Redirect to the hosted checkout, then fulfil the order on the signed invoice.paid webhook. The quickstart has runnable code in cURL, Node.js, PHP and Python, and the whole API is described in OpenAPI format.
Common questions
Who holds the SOL? easyway does, on your balance, until you withdraw it to your own wallet. Live withdrawals only go to addresses you have whitelisted with two-factor authentication; see security.
Is Ethereum accepted too? Yes, see accepting ETH and Bitcoin.