Skip to content

Dock Apps ​

Pre-built applications that extend Stratos Vault with DeFi, tokenization, and compliance capabilities.


Overview ​

Dock Apps run as iframes within the Stratos Vault interface, with full access to multi-chain transaction signing, Canton smart contract operations, and user authentication via the Stratos Portal SDK.

┌─────────────────────────────────────────────────────────────┐
│                      Stratos Vault                            │
│  ┌─────────────────────────────────────────────────────────┐ │
│  │  Stratos Vault  │  Stratos Swap  │  Stratos RWA  │ ... │ │
│  ├─────────────────────────────────────────────────────────┤ │
│  │                                                          │ │
│  │              Active Dock App (iframe)                    │ │
│  │                                                          │ │
│  │    SDK ←→ postMessage ←→ Parent Portal                  │ │
│  │    Canton operations, signing, balances                  │ │
│  │                                                          │ │
│  └─────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘

All dock apps share a common architecture:

  • React 19 + TypeScript + Vite frontend
  • Cloudflare Pages deployment with serverless API functions
  • @stratos/wallet-sdk for Portal integration
  • Daml smart contracts for Canton-based business logic
  • /api/package endpoint for DAR distribution

Stratos Vault Manager ​

DeFi vault management with Canton governance and EVM execution.

Capabilities ​

  • ERC-4626 Vaults - Deploy compliant vault contracts on EVM chains with share-based deposit/withdrawal
  • Canton Policy Governance - Daml contracts enforce access control, allocation targets, and approval workflows
  • Multi-Signature Approvals - Configurable threshold signing for critical operations (terminate, withdraw, policy updates)
  • Automated Rebalancing - Cloudflare Workflow-based bot monitors allocation drift and executes rebalance trades
  • Policy Profiles - Solo Operator, Team Management (2-of-N), and DAO Governance (3-of-5 + 48h timelock)
  • Emergency Controls - Pause/unpause, emergency withdrawal, and vault termination

Architecture ​

┌──────────────────────────────────────────────────────────────┐
│                     Vault Lifecycle                            │
│                                                               │
│  Create Vault ──> Configure Policy ──> Deploy EVM Contract   │
│       │                   │                    │              │
│  ┌────▼────┐      ┌──────▼──────┐      ┌──────▼──────┐     │
│  │ Canton  │      │   Canton    │      │    EVM      │     │
│  │ Policy  │◄────►│   State     │◄────►│   Vault     │     │
│  │ (Daml)  │      │   (Daml)    │      │  (ERC4626)  │     │
│  └─────────┘      └─────────────┘      └─────────────┘     │
│                          ▲                                    │
│                          │                                    │
│                   Rebalancer Bot                              │
│                  (Cloudflare Workflow)                        │
└──────────────────────────────────────────────────────────────┘

Smart Contracts ​

ContractTypeDescription
VaultPolicyDamlGovernance rules, access roles, allocation targets, rebalance settings
VaultStateDamlEVM state mirror, rebalance tracking, drift monitoring
PendingActionDamlMulti-sig approval workflow for critical operations
StratosVault.solSolidityERC-4626 vault with rebalancing and access control
StratosVaultFactory.solSolidityFactory for deploying vault contracts linked to Canton policies

Supported Chains ​

Ethereum, Polygon, Arbitrum, Avalanche (configurable)

Whitelisted Protocols ​

Uniswap, Aave, Curve, Compound, Yearn, GMX, Convex, Balancer


Stratos Swap ​

Multi-chain DEX aggregator and cross-chain bridge.

Capabilities ​

  • 6 Swap Providers with automatic routing based on source/destination chain
  • Cross-Chain Bridges for moving assets between networks
  • Canton Bridge for bidirectional Canton Coin (CC) to USDC (Base) transfers
  • Unified Quote Interface across all providers

Provider Matrix ​

ProviderChainsType
Skip GoEVM, Cosmos, SolanaCross-chain aggregator
JupiterSolanaDEX aggregator
STON.fiTONDEX
SunSwapTRONDEX
BTTC BridgeTRON, Ethereum, BSCCross-chain bridge
Canton BridgeCanton, BaseCC/USDC bridge

Canton Bridge ​

Bidirectional bridge between Canton Coin and USDC on Base:

Canton Coin (CC)                              USDC (Base)
      │                                            │
      │  CC → USDC:                                │
      │  1. Daml escrow locks CC                   │
      │  2. Oracle confirms                        │
      │  3. Solidity releases USDC ────────────>   │
      │                                            │
      │  USDC → CC:                                │
      │  1. Solidity deposits USDC  <──────────    │
      │  2. Oracle confirms                        │
      │  3. Daml releases CC                       │
      │                                            │
      │  Fee: 0.1%                                 │

Smart Contracts ​

ContractTypeDescription
CantonCoin/BridgeDamlBridgeEscrow, BridgeRequest, BridgeConfig templates
CantonBridge.solSolidityUSDC deposit/release with fee collection and replay protection

Stratos RWA ​

Real-world asset tokenization marketplace with compliance controls.

Capabilities ​

  • Dual Asset Types - Fungible (fractional ownership) and non-fungible (unique) tokenized assets
  • Atomic DvP Settlement - Delivery vs Payment in a single Canton transaction with automatic platform fee
  • Configurable Compliance - Per-asset rules for accredited investor requirements, jurisdiction restrictions, holding limits, and lock-up periods
  • Permissioned DAO Governance - Operator appoints issuers via proposal workflow; issuers operate within approved categories
  • Role-Based UI - Dynamic interface for Operator, Issuer, Verifier, and Investor roles

Compliance Framework ​

RuleDescription
requireAccreditedInvestorRestrict to accredited investors
requireKYCRequire KYC verification
maxHoldersReg D 506(b) limits
maxHoldingPercentageMaximum ownership per investor
minInvestmentAmountMinimum investment threshold
transferRestrictionDaysLock-up period
jurisdictionWhitelist / BlacklistGeographic restrictions

Investor Verification Tiers ​

Unverified → KYC Verified → Accredited Verified → Institutional

Asset Categories ​

Real Estate, Commodities, Art, Securities, and custom categories.

Smart Contracts ​

ContractTypeDescription
RWAOperatorDamlPlatform governance, issuer licenses, verifier, investor profiles
RWAAssetDamlAsset definitions, holdings, lock/unlock mechanisms
RWAMarketplaceDamlOrder book, trades, DvP settlement, listings, payment holdings
RWATypesDamlShared enums and compliance configuration types

Stratos PrivaMargin ​

Privacy-preserving margin verification on Canton Network.

Capabilities ​

  • Collateral Vaults - Create vaults, deposit/withdraw tokenized assets, link to derivative positions
  • Multi-Asset Collateral - Support for stablecoins, RWA, bonds, equities, and crypto assets
  • Margin Verification - Prove sufficient collateral without revealing vault composition
  • ZK Proof Attestation - Zero-knowledge proof generation for privacy-preserving verification
  • Margin Call Workflow - Automated triggers when collateral falls below requirements, with settlement lifecycle
  • Live Price Feeds - CoinMarketCap integration for real-time asset valuation

Workflow ​

Create Vault → Deposit Assets → Link to Position → Set Margin Requirement
                                                          │
                                              ┌───────────▼────────────┐
                                              │  Verify Margin         │
                                              │  (ZK Proof Generated)  │
                                              └───────────┬────────────┘
                                                          │
                                    ┌─────────────────────┼──────────────────┐
                                    │                                        │
                              Sufficient                              Insufficient
                              (Attestation)                          (Margin Call)
                                                                          │
                                                                    Settlement

Smart Contracts ​

ContractTypeDescription
AssetsDamlTokenizedAsset with transfer, update, and acceptance choices
CollateralVaultDamlVault with deposit, withdraw, link, and value calculation
MarginVerificationDamlMargin requirements, verification, margin calls, and settlement

Building Custom Dock Apps ​

All dock apps follow the same integration pattern. See the Developer Introduction for building your own.

Common Pattern ​

typescript
import { getSDK } from '@stratos/wallet-sdk';

const sdk = getSDK();
const { user } = await sdk.connect();

// Canton operations
const contracts = await sdk.cantonQuery({
  templateId: 'packageId#Module:Template',
});

await sdk.cantonExercise({
  contractId: '...',
  templateId: 'packageId#Module:Template',
  choice: 'MyChoice',
  argument: { /* ... */ },
});

DAR Package Distribution ​

Each dock app exposes /api/package for automatic Daml package installation:

json
{
  "name": "App Name",
  "packageId": "abc123...",
  "darUrl": "/api/package/download",
  "templates": ["Module:Template1", "Module:Template2"]
}

Next Steps ​

Enterprise-grade multi-chain wallet infrastructure.