Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Based Apps

What it is

Start here when one app needs shared-state concurrency by default.

You build one app in Rust. It runs inside a managed environment that provides built-in accounts, balances, shared-state execution. If your product is mostly about native asset rules without default shared-state concurrency, first check whether Covenants fits more naturally.

Mental model

Picture users sending app actions through Kaspa L1 to your app. The managed environment runs your Rust logic, updates shared app state, and later settles back on L1.

flowchart TD
    U1[User A]
    U2[User B]
    L1[Kaspa L1]
    R[Managed environment]
    A[Your Rust app logic]
    S[Shared app state<br/>Balances and app data]

    U1 --> L1
    U2 --> L1
    L1 --> R
    R --> A
    A --> S
    S --> R
    R -.-> L1

Pick this when

  • Many users need to touch the same app state without waiting for previous actions to finish.
  • You want built-in accounts and shared-state execution.

Good fits

  • Consumer apps with many concurrent active users
  • Trading venues or product suites

When not to use it

  • Your product is mostly about native asset rules and flows.
  • You do not need concurrency by default and your state fits naturally in Covenants.
  • Each action should be verified and settled independently.
  • You need a custom account model or a privacy-first execution model.

Current expectations

This option is in construction.

If you are thinking about broader app-to-app composition, treat Full vProgs as the future direction rather than a separate current option.