Client Layer
The Client Layer is responsible for orchestrating user-facing interactions and preparing transaction requests for processing within Interstellar’s secure execution environment. It acts as the initiating interface for all user actions that lead to transaction validation and signing.
In the current architecture, the client logic is not implemented as a standalone frontend. Instead, it is embedded within secure workers to streamline testnet interactions and to simulate real-world flows in a controlled environment.
🧩 Design Philosophy
The Client Layer aims to:
- Provide a consistent interaction model across supported blockchains.
- Abstract differences between UTXO-based and account-based chains.
- Ensure that transaction preparation logic is deterministic and auditable.
- Route all sensitive actions through secure layers (e.g., VCA, KMS).
⚙️ Execution Context
- The Client Layer is implemented within Integritee workers.
- Each worker encapsulates both the transaction logic and user interaction flow.
- Workers run in trusted execution environments and expose limited RPC interfaces for testing purposes.
- These interfaces allow external scripts or frontends to:
- Simulate user inputs (e.g., send X tokens to Y)
- Trigger transactions
- Receive validation challenges (TAVP)
- Fetch transaction status and events
Responsibilities
-
Transaction Preparation
- Construct transaction payloads using coin-specific rules.
- Fetch account state (balance, nonce, UTXO set) via RPC or light client mechanisms.
- Estimate and attach fees or gas limits.
-
Validation Routing
- By default in M2 a transaction validation is required to sign transaction( a conditional validation in M3 will managed by Transaction Manager).
- Trigger the corresponding challenge-response protocol.
-
Signature Request
- To Key Manager if User Validation through TAVP is successfull.
- Receive and relay signing outcome from the KMS or future signer layers.
-
Feedback Loop
- Collect and format execution results, confirmation data, or error conditions for client display or logging.
🌐 Supported Chains
- Bitcoin – UTXO model, SegWit address support, fee-per-byte estimation.
- Ethereum – Account model, nonce tracking, EIP-1559 gas pricing.
- Polkadot – Substrate account abstraction, runtime call encoding.
- Solana – Account model with recent blockhash and fee payer logic.
Each chain is handled via dedicated logic modules within its worker instance.
Extensibility
This architecture supports multiple future extensions:
- Separation of frontend clients (e.g., Web, CLI, mobile SDK) from worker-based logic.
- Remote attestation for worker sessions to prove execution integrity.
- Progressive introduction of decentralized relayers to transmit signed TXs.
- Layered caching or batching for enhanced throughput.
Summary
The Client Layer provides the entry point for initiating and managing transaction flows inside Interstellar’s architecture. By colocating client logic with execution workers, the system ensures end-to-end control over the transaction lifecycle while preserving modularity and forward compatibility with decentralized user interfaces.