E2E Demo
Pre-Alpha Disclaimer: This is an early pre-alpha release for exploring the SDK and starting development only. There is no real MPC signing — all signatures are generated by a single mock signer, not a distributed network. Do not submit any real transactions for signing or rely on any security guarantees. The dWallet keys, trust model, and signing protocol are not final; do not rely on any key material until mainnet. All interfaces, APIs, and data formats are subject to change without notice. The Solana program and all on-chain data will be wiped periodically and everything will be deleted when we transition to Ika Alpha 1. This software is provided “as is” without warranty of any kind; use is entirely at your own risk and dWallet Labs assumes no liability for any damages arising from its use.
Pre-Alpha Environment
| Resource | Endpoint |
|---|---|
| dWallet gRPC | https://pre-alpha-dev-1.ika.ika-network.net:443 |
| Solana RPC | https://api.devnet.solana.com |
Quick Start
Deploy your multisig program to devnet, then run:
# TypeScript
just e2e-multisig <DWALLET_ID> <MULTISIG_ID>
# Rust
just e2e-multisig-rust <DWALLET_ID> <MULTISIG_ID>
Available Demos
| Command | Language | File |
|---|---|---|
just e2e-multisig | TypeScript (bun) | examples/multisig/e2e/main.ts |
just e2e-multisig-rust | Rust | examples/multisig/e2e-rust/src/main.rs |
What the Demo Does
Step 1: gRPC DKG → dWallet created, authority = caller
Step 2: Transfer authority → CPI PDA owns the dWallet
Step 3: Create multisig → 2-of-3 with 3 member pubkeys
Step 4: Propose transaction → Message data stored on-chain
Step 5: Member1 approves → approval_count = 1
Step 6: Member2 approves → approval_count = 2 = threshold → CPI!
Step 7: Verify approval → MessageApproval exists on-chain
Step 8: gRPC presign → Allocate presign
Step 9: gRPC sign → 64-byte signature returned
Step 10: Rejection test → Propose 2nd tx, 2 rejections → Rejected
React Frontend
A React frontend is included for interactive testing:
cd chains/solana/examples/multisig/react
bun install && bun dev
The frontend includes:
- Create dWallet + Multisig in one click (via gRPC-web)
- Propose transactions with on-chain message data
- Approve/Reject as a connected wallet member
- Live status with auto-refresh