mainnet · pending audit / v0.4.0-rc.2 / apache-2.0 / open-source · no-investors / built in Indonesia
open-source · pre-mainnet

One integration.
Every SPL token.
Instant settlement.

SolUPG is open payment infrastructure for Solana — a universal router that connects wallets, merchants, and providers into a single network with sub-second finality and near-zero fees.

4
on-chain programs
6
off-chain services
1k
target TPS
~$0
gas per tx
ROUTE · live demo t=0.00s
PAYER Alice · SOL ROUTER SolUPG · jup DEX Jupiter · swap IDENTITY bob@mail.id MERCHANT Bob · USDC
0.00$ payment.create({ to: "bob@mail.id", amount: 25, settle: "USDC" })
0.08 directory.resolve → 7xK…9mP
0.14 router.quote: 0.167 SOL → 25.00 USDC
0.22 tx.sign · ed25519
0.41 settled · slot 274,391,028 · fee 0.000005 SOL
built on · integrates with
SOLANA
ANCHOR 0.29
JUPITER
RUST · AXUM
POSTGRES
REDIS
DOCKER
PROMETHEUS
§01 · problem

Crypto payments are a fragmented mess.

Every merchant integration re-invents the same five pieces of infrastructure. Tokens don't match, wallets aren't human-readable, and escrow lives off-chain in a spreadsheet.

01

Token mismatch

Payer holds SOL. Merchant wants USDC. Someone writes custom swap logic every single time.

02

Unreadable addresses

Sending to 7xKX…9mPq is a UX disaster. One typo, funds gone.

03

No standard escrow

Marketplaces bolt together hacky multisigs. No audit trail. No dispute window.

04

Payouts ≠ atomic

Splitting revenue to 40 contributors = 40 transactions, 40 failure points, 40 bugs.

05

Vendor lock-in

Hosted processors charge 1–3% and hold your funds. Defeats the point of using a chain.

§02 · solution

Six primitives. One network.

Each primitive is an on-chain Solana program or an off-chain service — all open-source, all composable, all deployed with a single docker compose up.

F_01 shipped

Universal Token Routing

Payer sends SOL. Merchant settles in USDC. SolUPG quotes Jupiter, executes atomically, and charges zero spread.

pay({ token: "SOL", settle: "USDC" })
F_02 shipped

Verified Payment Identity

Pay to email, phone, or .sol domain. OTP-verified directory resolves to the right wallet — no more copy-pasting.

directory.resolve("bob@mail.id")
F_03 shipped

On-Chain Escrow & Splitter

Marketplace escrow with dispute window. Splitter program pays N recipients in a single tx — payroll, royalties, revenue share.

splitter.distribute(recipients)
F_04 shipped

Instant Settlement

Sub-second finality. No batching. No T+2. The merchant dashboard updates the moment the block confirms.

finality: < 800ms · fee: ~$0.0001
F_05 shipped

Self-Hostable

Clone the repo, run one command, get a full stack: 5 services, Postgres, Redis, Grafana. No SaaS, no middleman.

$ docker compose up -d
F_06 shipped

Apache 2.0 · Open Core

Every line of code, on-chain and off, is Apache 2.0. No hosted add-ons. No premium tier. No platform fee — ever.

license: apache-2.0
§03 · architecture

Five layers. All open.

A full payment stack — on-chain programs at the base, routing and identity in the middle, compliance and monitoring on top. Hover a node to see what it runs.

solupg/architecture.dot rendered · graphviz
LAYER 5 LAYER 4 LAYER 3 LAYER 2 LAYER 1 CHAIN FRAUD · RULES stride model AUDIT TRAIL append-only METRICS · ALERTS prom · grafana INDEXER slot stream OFF-CHAIN LEDGER postgres · double-entry MERCHANT DASHBOARD next.js EMAIL · RESOLVER otp · 6-digit PHONE · RESOLVER sms · twilio .SOL · RESOLVER bonfida · sns QUOTE AGGREGATOR jupiter · 400ms cache ROUTER rust · axum TOKEN REGISTRY spl · metaplex API GATEWAY rust · axum TYPESCRIPT SDK @solupg/sdk · v0.4 SOLANA PAY · QR bip-21 PAYMENT anchor · 0.29 ESCROW anchor · 0.29 SPLITTER anchor · 0.29 SWAP jupiter wrapper SOLANA mainnet-beta
hover a node

Five vertical layers route every payment: compliance at the top, raw SPL program calls at the bottom. Each box is open-source.

§04 · use cases

Who's it for?

Five distinct integrations, one API surface. No separate products, no per-vertical pricing.

01DEV
Developers
Embed Solana payments in any app. 5 lines of TypeScript — no wallet-adapter boilerplate, no transaction builders.
sdk.pay({ to, amount, token })
02MRCH
Merchants
Accept crypto like you accept cards. API key, dashboard, webhooks, payouts in the token of your choice.
POST /v1/payments
03MKT
Marketplaces
On-chain escrow holds buyer funds until the seller delivers. Dispute window, arbiter role, refund path.
escrow.create(buyer, seller, asset)
04DAO
DAOs & Payroll
Pay 50 contributors in a single atomic transaction. CSV in, split out — with audit trail on-chain.
splitter.distribute(csv)
05COM
Communities
Accept donations in any SPL token, to an email or phone number. Transparent, trustless, no custody.
donate("community@sol", 100, "USDC")
§05 · quickstart

Integrate in 30 seconds.

Three snippets covering the common patterns. Or skip the code and create a QR code now — no SDK required. Full reference in ~/quickstart.

copy
1
2
3
4
5
6
7
8
9
10
11
// Install: npm i @solupg/sdk import { SolUPG } from "@solupg/sdk"; const upg = new SolUPG({ apiKey: "sk_live_…" }); const tx = await upg.pay({ to: "alice@example.id", // email · phone · .sol · wallet amount: 25, settle: "USDC", // merchant receives USDC, payer sends anything }); console.log(tx.signature); // 5YqJk…2vCp9
§06 · roadmap

Where we are. Where we're going.

Six phases. Four shipped, two blocked on funding. No hidden milestones, no unscheduled pivots.

Q3 2025 shipped

Phase 1 · Core protocol

4 Anchor programs (Payment, Escrow, Splitter, Swap). Devnet deploy. Initial SDK scaffolding.

Q4 2025 shipped

Phase 2 · Off-chain infrastructure

6 Rust services, Postgres ledger, Redis cache, Prometheus, Grafana. Docker Compose stack.

Q1 2026 shipped

Phase 3 · Developer experience

TypeScript SDK v0.4. E2E tests. k6 load tests (1k TPS target). 2 runnable examples. CI/CD.

Q1 2026 shipped

Phase 4 · Security hardening

STRIDE threat model. Audit scope doc. cargo-audit, cargo-deny. Fraud detection rules. Tamper-evident audit trail.

Q2 2026 blocked · funding

Phase 5 · Professional audit + mainnet

Engage OtterSec / Neodyme / Halborn / Zellic. Remediate findings. Funded keypair + multisig upgrade authority. Mainnet deploy.

→ see funding breakdown
Q3 2026 planned

Phase 6 · Production scale

Grafana dashboards public. 1k+ TPS proof on mainnet. Merchant dashboard v1. Partner integrations.

$ open-source

This project has no investors.
Built with passion, shipped for free.

SolUPG is built and maintained by independent developers in Indonesia. Everything is open-source, Apache 2.0, and free to use. If you believe in open payment infrastructure on Solana, consider supporting the project.

Tweaks v0.1