Blockchain in Payments
Working principles, network types, consensus mechanisms, DeFi protocols, stablecoins, and CBDCs — a technical guide to blockchain technology and its integration with modern payment infrastructure.
Solana Architecture
Solana uses an account model where every piece of state (including token balances) lives in a separate account. Transactions reference accounts as read-only or writable. Proof of History (PoH) timestamps each transaction, enabling ~65 000 TPS (theoretical) with ~400ms slots.
| Concept | Solana | Ethereum analogue |
|---|---|---|
| Native currency | SOL (lamports, 1 SOL = 10⁹) | ETH (wei, 1 ETH = 10¹⁸) |
| Token standard | SPL Token | ERC-20 |
| Smart contracts | Programs (Rust/SBF) | Contracts (EVM bytecode) |
| Account state | Separate accounts | In-contract storage |
| Consensus | PoH + Tower BFT | PoS Gasper |
| Block time | ~400ms | ~12s |
| Finality | ~1 s optimistic · ~13 s finalized (32 slots) | ~12.8 min (2 epochs) |
| Typical fee | $0.00001–$0.001 | Cents to dollars (varies with gas price) |
SPL Token Payment flow
Solana Pay Specification
Solana Pay defines two request types encoded in a QR-scannable URI scheme, making it suitable for point-of-sale integration.
Transfer Request
Simple SOL or SPL-token transfer. The wallet constructs and signs the transaction automatically.
solana:mvines9iiHiQTysrwkJjGf2gb9Ex9jXJX8ns3qwf2kN
?amount=1.5
&label=Acme+Coffee
&message=Order+%23A42
&memo=ORDER-A42solana:mvines9iiHiQTysrwkJjGf2gb9Ex9jXJX8ns3qwf2kN
?spl-token=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
&amount=10.00
&label=Acme+CoffeeTransaction Request
For complex payments (loyalty, NFT receipts, conditional logic), the merchant provides an API endpoint. The wallet POSTs its account address; the endpoint returns a partially signed transaction for the wallet to complete.
solana:https%3A%2F%2Fapi.merchant.com%2Fpay%3ForderId%3DA42URI parameters
| Parameter | Type | Description |
|---|---|---|
amount | decimal | Transfer amount (SOL or token units) |
spl-token | address | SPL token mint address; omit for SOL |
label | string (URL-encoded) | Merchant name shown in wallet |
message | string | Human-readable description |
memo | string | On-chain memo instruction (SPL Memo) |
reference | address (repeatable) | Public keys for payment tracking |