Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Epoch Streams

Epoch Streams is a contribution-ready starter repo for building programmable, second-by-second micro-streaming payment contracts on Soroban. The project is aimed at automated payroll and SaaS subscriptions, with an emphasis on precise token distribution, stream cancellation, and top-up flows.

The scaffolded frontend stays in place so contributors can still inspect the sample contract UI, debug local behavior, and work incrementally while the core streaming contract emerges.

Architecture

The repo keeps the standard mixed frontend and Rust workspace layout:

  • contracts/ contains the Soroban contracts and tests.
  • src/ contains the Vite + React app, including the homepage and explorers.
  • packages/ contains generated TypeScript clients for the example contracts.
  • target/ stores compiled artifacts and local WASM outputs.
  • .github/ISSUE_TEMPLATE/ defines the issue intake paths for contributors.

The expected product direction is a streaming-payment contract stack backed by careful math and integration docs, while the scaffold preserves a usable local developer experience.

Getting Started

  1. Install the workspace prerequisites:
npm install
rustup target add wasm32v1-none
  1. Start the local app and contract watch process:
npm run dev
  1. Use the existing explorers to validate the scaffolded contract flow while you iterate on the Epoch Streams contracts.

  2. When working on stream logic, keep the verification loop tight:

cargo test
npm run lint
npm run typecheck

Roadmap

  • Core streaming contract features, including cancellation and top-ups.
  • Mathematical precision tests for per-second token distribution.
  • Integration documentation for payroll and subscription use cases.
  • Stronger edge-case coverage for long-lived or interrupted streams.
  • Developer-facing examples that show how to wire the contract into apps.

Wave Issue Strategy

Use Wave issues to keep the backlog scoped and predictable:

  • bug-report for broken streaming math, state corruption, or replay issues.
  • feature-proposal for new stream lifecycle behavior, CLI support, or user workflow improvements.
  • maintenance-task for refactors, dependency updates, docs, and test hygiene.

Keep each issue focused on one outcome, describe the exact stream state when the problem occurs, and include any token or timing assumptions that affect the result.

About

Soroban micro-streaming payment contracts for payroll and SaaS.

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages