Skip to content

Architecture Map

KeyApp follows a Layered Architecture inspired by Operating System design.

mermaid
graph TD
    subgraph "App Layer (DApps)"
        DApp1[Uniswap]
        Miniapp[System Miniapps]
    end

    subgraph "Shell Layer (System UI)"
        Router[Stackflow Router]
        SystemApps[Wallet / Settings]
    end

    subgraph "Kernel Layer (Runtime)"
        Process[Process Manager]
        Window[Window Manager]
        Sandbox[Iframe Sandbox]
    end

    subgraph "State Layer (Reactive)"
        Stores[TanStack Store]
        Queries[TanStack Query]
    end

    subgraph "Service Layer (Logic)"
        WalletCore[Wallet Core]
        Identity[Biometric / Auth]
        Platform[Platform Adapters]
    end

    subgraph "Driver Layer (Chain)"
        HAL[ApiProvider Interface]
        EVM[EVM Driver]
        UTXO[BTC Driver]
        TVM[Tron Driver]
    end

    DApp1 --> Sandbox
    Sandbox --> ServiceLayer
    SystemApps --> StateLayer
    StateLayer --> ServiceLayer
    ServiceLayer --> DriverLayer
    ServiceLayer --> Platform

1. By Code Structure (Physical View)

Mapping source directories to documentation books.

Architecture LayerCode PathDocumentation Book
Kernelsrc/services/miniapp-runtime01-Kernel-Ref
Driverssrc/services/chain-adapter02-Driver-Ref
UI Systemsrc/components/ui, src/styles03-UI-Ref
Platformsrc/services/{biometric,camera,...}04-Platform-Ref
Statesrc/stores, src/queries05-State-Ref
Servicessrc/services/{chain-config,ecosystem,...}06-Service-Ref
Wallet Logicsrc/services/wallet, src/services/transaction10-Wallet-Guide
DAppssrc/components/ecosystem11-DApp-Guide
Shellsrc/stackflow12-Shell-Guide
DevOpsvite.config.ts, .github90-DevOps

2. By User Flow (Logical View)

Tracing a feature across multiple layers.

Released under the MIT License.