
Docs
How AlpenPay works.
A checkout for Solana. It makes a payment request, finds the payment on chain, checks what moved, and times how long the block took to become final. It never holds money.
Overview
On 21 October 2026 Solana switched consensus from TowerBFT to Alpenglow at slot 459,653,000. Anza puts finality at about 150 ms, down from 12.8 seconds. For a shop, that means a payment can't be reversed by the time the customer puts their phone away. AlpenPay is built around that moment: it shows it, times it and prints a receipt for it.
- Tokens: SOL and USDC, and $ALPENPAY once it is live.
- Fee: AlpenPay takes nothing. The payer pays Solana's network fee.
- Custody: none. Payments go from the payer's wallet to the address on the request.
Take a payment
Paste the wallet that should receive the money, an amount and a token, then press Create checkout. AlpenPay makes a Solana Pay request with a fresh one-time reference key and shows it as a QR. Any Solana Pay wallet can scan it. On a desktop with a browser wallet, Pay with wallet builds the same transfer and your wallet asks you to approve it.
While you wait, the page asks Solana about every half second for transactions that include the reference key. When one shows up it reads the transaction, checks that the right amount of the right token reached the right wallet, waits for finalized, and prints the receipt.
Pay links
A pay link carries the whole request after the # in the URL: recipient, amount, token, label and reference. Nothing is stored on a server, and the part after # never reaches one. Whoever opens the link sees the QR and a pay button, and their page times the payment the same way.
Split a bill
Choose Split a bill, enter the receiving wallet and a total, and pick 2 to 12 people. Each person gets their own reference key, link and QR for an equal share, rounded down to six decimals. Every share is watched on its own and marked final with its own timing.
How the timing works
The page opens a websocket to a public Solana RPC and subscribes to new slots and to roots (final slots). For every block it notes the moment it first heard about it and the moment that block became final. The difference is the number you see. It is measured in your browser, so it includes the trip to the RPC node and usually reads above Anza's 150 ms.
For a payment, AlpenPay shows the timing of the block the payment landed in. If your tab opened after that block, the receipt says the timing was missed rather than guessing.
ws.send({ method: 'slotSubscribe' }) // slot N appears -> seen[N] = now
ws.send({ method: 'rootSubscribe' }) // root N arrives -> final in now - seen[N]The registry
Every AlpenPay payment carries two read-only keys: its own one-time reference and the shared AlpenPay registry key …. Nobody holds a private key for either, and neither signs anything. Because the registry key is on every payment, Solana itself keeps the list. The live window on the home page is just that list.
Check it yourself
No account and no API key. Ask any Solana RPC for the registry's history, then open any signature on an explorer:
curl https://solana-rpc.publicnode.com -s -X POST \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"getSignaturesForAddress","params":["…",{"limit":10}]}'
To check that Alpenglow is live, call getAgGenesisCert. It returns null on TowerBFT and the genesis certificate once a cluster has switched.
The Solana Pay URL
AlpenPay follows the Solana Pay transfer request spec:
solana:<recipient>
?amount=0.25
&spl-token=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v // only for USDC
&reference=<one-time key>
&reference=<AlpenPay registry>
&label=Coffee%20on%20the%20corner
&message=Paid%20with%20AlpenPay$ALPENPAY
$ALPENPAY is the coin for the checkout. AlpenPay takes no cut of payments, so the coin's creator fees run it: 70% buys $ALPENPAY back, with every buyback posted with its transaction, and 30% pays for RPC, hosting and the live feed. Once it is live, the checkout takes $ALPENPAY next to SOL and USDC. Status: coming soon.
Sources
- Solana Compass: Alpenglow is live on mainnet, slot 459,653,000
- Solana: the Alpenglow upgrade page
- Solana Compass: 557M stablecoin transfers in September 2026
- Solana Compass: Western Union, Noah and USDPT on Solana
- Stripe pricing: 2.9% + 30¢ for domestic cards · Stripe docs: payouts
- Solana Pay specification