Case Study

Paystreamer

Web3 billing infrastructure enabling digital platforms to accept and automate recurring stablecoin subscriptions on Sui.

Paystreamer platform interface

Problem

Digital platforms in Africa and emerging markets face fragmented payment systems, high transaction fees, and limited access to stablecoin infrastructure. For subscription-based businesses, recurring billing typically requires either payment providers with high fees or manual invoice chasing — both unreliable at scale. On-chain payment solutions exist but require users to sign every transaction, creating friction that kills conversion.

Solution

Paystreamer is a permissionless on-chain subscription scheduler built on Sui that enables platforms to accept recurring stablecoin payments with a one-time wallet approval. Users approve the contract once; subsequent payments are automated on-chain without further user interaction.

The system consists of 10 Move modules with full test coverage (73/73 tests passing), an on-chain scheduler that triggers payments at defined intervals, and a React frontend for subscription management.

Architecture

Paystreamer architecture overview

On-chain scheduler contract (Sui Move) → Platform subscription manager (React) → Wallet provider integration (@mysten/dapp-kit)

Technical Decisions

Move for smart contracts

Sui's object model and Move's resource-oriented design map naturally to subscription state — each subscription is an owned object that the scheduler can reference directly, eliminating the need for external indexers.

One-time approval pattern

Instead of requiring users to sign every payment, the contract uses an allowance pattern. Users approve a spending limit once; the scheduler draws from that allowance on each cycle. Revocable at any time.

Permissionless scheduler

The payment scheduler is itself a Move module — not a centralized cron job. Anyone can trigger the scheduler, making it censorship-resistant and removing a single point of failure.

73/73 test coverage

Full test coverage across all 10 modules. Every edge case (failed payments, revoked allowances, duplicate scheduler calls) is handled in Move unit tests before deployment.

Results

10
Move modules deployed
73/73
Tests passing
1tx
User approval for unlimited payments

Stack

SUI MoveReactTypeScriptTailwind CSS v4@mysten/dapp-kitFramer Motion
← All ProjectsNIHub Attendance System →