Inspiration

Traditional payroll systems are slow, opaque, and expensive when crossing borders. Crypto-native companies and remote teams need a way to reliably and transparently disburse salaries that:

Avoids holding users' funds in a custodial account.

Keeps fees low by leveraging L2 throughput and native token rails.

Provides auditable, verifiable records for compliance and accounting.

We built PayStream to serve on-chain payroll flows for teams that want the benefits of blockchain settlement without sacrificing compliance, traceability, or usability.

What it does

PayStream provides:

Batch salary scheduling: Create payroll batches (recurring or one-off) which atomically settle via wallet-to-wallet transfers.

Non-custodial flow: The platform never custody funds — the payer signs and funds transactions from their wallet; PayStream coordinates and verifies settlement.

Real-time tracking: Live status for each payment (queued, signed, broadcast, confirmed, failed) with block-level references and hashes.

Low-cost settlement: Cost-optimized transactions on StarkNet (bundled where possible to reduce per-payment fee overhead).

Payroll primitives: On-chain payroll objects (payroll batch, recipient line items, scheduled windows, and payment receipts) stored in Cairo contracts for auditability.

How we built it

Architecture Overview Frontend: Nextjs + TypeScript web app for payroll managers to create and manage payrolls.

StarkNet Layer: Cairo smart contracts that represent payroll

Wallet interactions: Connect via Argent, Braavos, or any StarkNet-compatible wallet for signing transactions. Optionally support sponsored transactions / pay-for-gas relayers.

Event indexing: A lightweight indexer (e.g., using The Graph or a custom off-chain indexer) to surface payment statuses and receipts in the app.

Challenges we ran into

Wallet UX differences: Multiple StarkNet wallets behave differently across devnet/testnet/mainnet which made building a unified signing UX challenging.

Gas UX and sponsorship: Ensuring payers could reliably authorize gas sponsorship without exposing private keys required careful relayer design and replay protection.

On-chain indexing: Relying on quick, reliable event indexing required building a robust off-chain indexer to supplement block explorers.

Regulatory clarity: Non-custodial flows are simpler, but some customers asked for escrow. Supporting both models while maintaining clear legal/UX distinctions required additional product and security work.

Cairo toolchain friction: Tooling for building/testing varied across versions; build scripts and CI needed to be resilient to toolchain changes.

Accomplishments that we're proud of

Non-custodial payroll primitives: Designed payroll contracts that keep the platform out of the custody path by default while still providing verifiable receipts.

Batch signing flow: Implemented a batch signing UX that reduces friction for payroll managers while preserving per-payment auditability.

What we learned

UX matters: Wallet inconsistencies are a major source of friction; give users explicit, clear steps and meaningful error messages.

What's next for PayStream

Planned improvements and roadmap items:

Relayer marketplace: Allow companies to choose a relayer or sponsor model for gas payments.

Multi-asset payrolls: Support paying in multiple tokens with an on-chain exchange or payment

Built With

Share this project:

Updates