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 Wallet SDK.
┌─────────────────────────────────────────────────────────────┐
│ Stratos Vault │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Stratos Vault │ Stratos Swap │ Stratos RWA │ ... │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ Active Dock App (iframe) │ │
│ │ │ │
│ │ SDK ←→ postMessage ←→ Parent Wallet │ │
│ │ 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-sdkfor wallet integration- Daml smart contracts for Canton-based business logic
/api/packageendpoint 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
| Contract | Type | Description |
|---|---|---|
VaultPolicy | Daml | Governance rules, access roles, allocation targets, rebalance settings |
VaultState | Daml | EVM state mirror, rebalance tracking, drift monitoring |
PendingAction | Daml | Multi-sig approval workflow for critical operations |
StratosVault.sol | Solidity | ERC-4626 vault with rebalancing and access control |
StratosVaultFactory.sol | Solidity | Factory 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
| Provider | Chains | Type |
|---|---|---|
| Skip Go | EVM, Cosmos, Solana | Cross-chain aggregator |
| Jupiter | Solana | DEX aggregator |
| STON.fi | TON | DEX |
| SunSwap | TRON | DEX |
| BTTC Bridge | TRON, Ethereum, BSC | Cross-chain bridge |
| Canton Bridge | Canton, Base | CC/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
| Contract | Type | Description |
|---|---|---|
CantonCoin/Bridge | Daml | BridgeEscrow, BridgeRequest, BridgeConfig templates |
CantonBridge.sol | Solidity | USDC 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
| Rule | Description |
|---|---|
requireAccreditedInvestor | Restrict to accredited investors |
requireKYC | Require KYC verification |
maxHolders | Reg D 506(b) limits |
maxHoldingPercentage | Maximum ownership per investor |
minInvestmentAmount | Minimum investment threshold |
transferRestrictionDays | Lock-up period |
jurisdictionWhitelist / Blacklist | Geographic restrictions |
Investor Verification Tiers
Unverified → KYC Verified → Accredited Verified → InstitutionalAsset Categories
Real Estate, Commodities, Art, Securities, and custom categories.
Smart Contracts
| Contract | Type | Description |
|---|---|---|
RWAOperator | Daml | Platform governance, issuer licenses, verifier, investor profiles |
RWAAsset | Daml | Asset definitions, holdings, lock/unlock mechanisms |
RWAMarketplace | Daml | Order book, trades, DvP settlement, listings, payment holdings |
RWATypes | Daml | Shared 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)
│
SettlementSmart Contracts
| Contract | Type | Description |
|---|---|---|
Assets | Daml | TokenizedAsset with transfer, update, and acceptance choices |
CollateralVault | Daml | Vault with deposit, withdraw, link, and value calculation |
MarginVerification | Daml | Margin 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
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:
{
"name": "App Name",
"packageId": "abc123...",
"darUrl": "/api/package/download",
"templates": ["Module:Template1", "Module:Template2"]
}Next Steps
- Developer Introduction - Build custom dock apps
- SDK Reference - Complete SDK API
- Canton Contracts - Working with Daml
- Platform Overview - Full platform capabilities
