From 8a3a43cf1c4b5bf503672682c1895b38bfb3eeb5 Mon Sep 17 00:00:00 2001 From: Afif Syaifullah Date: Tue, 20 Oct 2026 18:10:02 +0700 Subject: [PATCH] Add MahaWallet to the wallet directory Self-custodial browser-extension wallet for Retail and Enterprise, with bring-your-own-validator hosting, CC/two-step/pre-approval transfers, CIP-0056 token transfers, memo tags, integrated swaps, and a CIP-0103 dApp provider. Evidence is in proofs/mahawallet/mahawallet-self-attestation.md. Co-Authored-By: Claude Sonnet 5 --- WALLET_DIRECTORY.md | 160 ++++++++--------- .../mahawallet/mahawallet-self-attestation.md | 92 ++++++++++ wallets/mahawallet.yaml | 169 ++++++++++++++++++ 3 files changed, 341 insertions(+), 80 deletions(-) create mode 100644 proofs/mahawallet/mahawallet-self-attestation.md create mode 100644 wallets/mahawallet.yaml diff --git a/WALLET_DIRECTORY.md b/WALLET_DIRECTORY.md index 1b87115..63a599c 100644 --- a/WALLET_DIRECTORY.md +++ b/WALLET_DIRECTORY.md @@ -1,80 +1,80 @@ - - -# Wallet Directory - -Source of truth for Canton Network wallet providers' supported features and -assets, per the Wallet Directory Program (see [CONTRIBUTING.md](./CONTRIBUTING.md)). - -**Legend** - -✅ self-attested -- click through to the evidence - -🛡️ *name* verified by an independent third party -- click the name for their evidence - -❌ *name* found this claim to be unsupported, contradicting the wallet -- click the name for their evidence - -A linked "Not supported" means the wallet has said no with a reason - -— no claim made either way. - -## Wallet Overview & Primary Canton Network Features - -| Feature | [Dfns](wallets/dfns.yaml) | [Send](wallets/send.yaml) | [Askardex Wallet](wallets/askardex-wallet.yaml) | [Walley](wallets/walley.yaml) | [Blockdaemon Institutional Vault](wallets/blockdaemon-institutional-vault.yaml) | [Nightly](wallets/nightly.yaml) | [Metatarz](wallets/metatarz.yaml) | [Ledger Wallet](wallets/ledger-wallet.yaml) | -|---|---|---|---|---|---|---|---|---| -| **Wallet Overview** | | | | | | | | | -|     Website | [https://www.dfns.co](https://www.dfns.co) | [https://cantonwallet.com](https://cantonwallet.com) | [https://wallet.askardex.com](https://wallet.askardex.com) | [https://walley.cc](https://walley.cc) | [https://www.blockdaemon.com/mpc-wallets-and-vaults/institutional-vault](https://www.blockdaemon.com/mpc-wallets-and-vaults/institutional-vault) | [https://nightly.app/wallet/canton](https://nightly.app/wallet/canton) | [https://wallet.metatarz.xyz](https://wallet.metatarz.xyz) | [https://www.ledger.com](https://www.ledger.com) | -|     Added | 2026-07-24 | 2026-07-24 | 2026-07-25 | 2026-07-27 | 2026-08-05 | 2026-08-11 | 2026-08-13 | 2026-08-17 | -| **Wallet Type** | | | | | | | | | -|     Retail / Enterprise | Enterprise | Retail, Enterprise | Retail | Retail | Enterprise | Retail | Retail, Enterprise | Retail | -|     Custody Type | Self-custodial | Self-custodial | Self-custodial | Self-custodial | Self-custodial | Self-custodial | Self-custodial | Self-custodial | -|     Form factor (Mobile / Browser / Desktop
/ Browser Extension / Hardware) | Browser | Browser, Mobile,
Browser-extension | Mobile | Browser | Browser, Desktop, Mobile | Mobile, Browser-extension | Browser-extension | Hardware, Desktop, Mobile | -|     Deployment Model (Self-hosted / SaaS /
Hybrid) | Self-hosted, SaaS, Hybrid | SaaS | SaaS | SaaS | SaaS, Hybrid, On-prem | SaaS | Self-hosted, SaaS | Hybrid | -| **Canton Coin** | | | | | | | | | -|     CC support | [✅](proofs/dfns/dfns-self-attestation.md#cc-support-cc_support) | ✅ | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#cc-support-cc_support) | [✅](proofs/walley/walley-self-attestation.md#cc-support-cc_support) | [✅](proofs/blockdaemon-institutional-vault/blockdaemon-institutional-vault-self-attestation.md#cc-support-cc_support) | [✅](proofs/nightly/nightly-self-attestation.md#cc-support-cc_support) | [✅](proofs/metatarz/metatarz-self-attestation.md#cc-support-cc_support) | [✅](proofs/ledger-wallet/ledger-wallet-self-attestation.md#cc-support-cc_support) | -|     Two-step CC transfers | — | — | — | — | [✅](proofs/blockdaemon-institutional-vault/blockdaemon-institutional-vault-self-attestation.md#two-step-cc-transfers-two_step_cc_transfers) | [✅](proofs/nightly/nightly-self-attestation.md#two-step-cc-transfers-two_step_cc_transfers) | — | [✅](proofs/ledger-wallet/ledger-wallet-self-attestation.md#two-step-cc-transfers-two_step_cc_transfers) | -|     Pre-approvals for CC | [✅](proofs/dfns/dfns-self-attestation.md#pre-approvals-for-cc-preapprovals) | ✅ | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#pre-approvals-for-cc-preapprovals) | [✅](proofs/walley/walley-self-attestation.md#pre-approvals-for-cc-preapprovals) | [✅](proofs/blockdaemon-institutional-vault/blockdaemon-institutional-vault-self-attestation.md#pre-approvals-for-cc-preapprovals) | — | [✅](proofs/metatarz/metatarz-self-attestation.md#pre-approvals-for-cc-preapprovals) | [Not supported](wallets/ledger-wallet.yaml) | -| **Token Standard** | | | | | | | | | -|     CIP-0056 token standard transfer support | [✅](proofs/dfns/dfns-self-attestation.md#cip-0056-token-standard-transfer-support-cip_0056_transfer) | ✅ | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#cip-0056-token-standard-transfer-support-cip_0056_transfer) | [✅](proofs/walley/walley-self-attestation.md#cip-0056-token-standard-transfer-support-cip_0056_transfer) | [✅](proofs/blockdaemon-institutional-vault/blockdaemon-institutional-vault-self-attestation.md#cip-0056-token-standard-transfer-support-cip_0056_transfer) | — | [✅](proofs/metatarz/metatarz-self-attestation.md#cip-0056-token-standard-transfer-support-cip_0056_transfer) | [✅](proofs/ledger-wallet/ledger-wallet-self-attestation.md#cip-0056-token-standard-transfer-support-cip_0056_transfer) | -|     CIP-0056 token standard allocation support | — | ✅ | — | [✅](proofs/walley/walley-self-attestation.md#cip-0056-token-standard-allocation-support-cip_0056_allocation) | [✅](proofs/blockdaemon-institutional-vault/blockdaemon-institutional-vault-self-attestation.md#cip-0056-token-standard-allocation-support-cip_0056_allocation) | — | — | [Not supported](wallets/ledger-wallet.yaml) | -|     CIP-112 token standard v2 support | — | ✅ | — | [Not supported](wallets/walley.yaml) | — | — | — | — | -|     Memo tag support for transfers to omnibus accounts | [✅](proofs/dfns/dfns-self-attestation.md#memo-tag-support-for-transfers-to-omnibus-accounts-memo_tag_support) | ✅ | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#memo-tag-support-for-transfers-to-omnibus-accounts-memo_tag_support) | [✅](proofs/walley/walley-self-attestation.md#memo-tag-support-for-transfers-to-omnibus-accounts-memo_tag_support) | [✅](proofs/blockdaemon-institutional-vault/blockdaemon-institutional-vault-self-attestation.md#memo-tag-support-for-transfers-to-omnibus-accounts-memo_tag_support) | [✅](proofs/nightly/nightly-self-attestation.md#memo-tag-support-for-transfers-to-omnibus-accounts-memo_tag_support) | [✅](proofs/metatarz/metatarz-self-attestation.md#memo-tag-support-for-transfers-to-omnibus-accounts-memo_tag_support) | [✅](proofs/ledger-wallet/ledger-wallet-self-attestation.md#memo-tag-support-for-transfers-to-omnibus-accounts-memo_tag_support) | -| **dApp Connectivity (CIP-103)** | | | | | | | | | -|     CIP-0103 dApp API support | — | ✅ | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#cip-0103-dapp-api-support-cip_0103_dapp_api) | [✅](proofs/walley/walley-self-attestation.md#cip-0103-dapp-api-support-cip_0103_dapp_api) | — | [✅](proofs/nightly/nightly-self-attestation.md#cip-0103-dapp-api-support-cip_0103_dapp_api) | [✅](proofs/metatarz/metatarz-self-attestation.md#cip-0103-dapp-api-support-cip_0103_dapp_api) | [Not supported](wallets/ledger-wallet.yaml) | -|     Wallet Connect support | [✅](proofs/dfns/dfns-self-attestation.md#wallet-connect-support-walletconnect_support) | ✅ | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#wallet-connect-support-walletconnect_support) | [Not supported](wallets/walley.yaml) | [✅](proofs/blockdaemon-institutional-vault/blockdaemon-institutional-vault-self-attestation.md#wallet-connect-support-walletconnect_support) | — | — | [Not supported](wallets/ledger-wallet.yaml) | - -## Other Features - -| Feature | [Dfns](wallets/dfns.yaml) | [Send](wallets/send.yaml) | [Askardex Wallet](wallets/askardex-wallet.yaml) | [Walley](wallets/walley.yaml) | [Blockdaemon Institutional Vault](wallets/blockdaemon-institutional-vault.yaml) | [Nightly](wallets/nightly.yaml) | [Metatarz](wallets/metatarz.yaml) | [Ledger Wallet](wallets/ledger-wallet.yaml) | -|---|---|---|---|---|---|---|---|---| -| **App Specific** | | | | | | | | | -|     Pre-approvals for DA Registry issued assets | [Not supported](wallets/dfns.yaml) | ✅ | — | [✅](proofs/walley/walley-self-attestation.md#pre-approvals-for-da-registry-issued-assets-registry_preapprovals) | — | — | [✅](proofs/metatarz/metatarz-self-attestation.md#pre-approvals-for-da-registry-issued-assets-registry_preapprovals) | — | -|     Wallet Gateway signing driver | [✅](proofs/dfns/dfns-self-attestation.md#wallet-gateway-signing-driver-wallet_gateway_signing_driver) | — | — | [Not supported](wallets/walley.yaml) | [✅](proofs/blockdaemon-institutional-vault/blockdaemon-institutional-vault-self-attestation.md#wallet-gateway-signing-driver-wallet_gateway_signing_driver) | — | — | — | -| **Party Specific** | | | | | | | | | -|     Key generation method | MPC/TSS -- keys generated as
distributed shares across
Dfns's signing network -- or
HSM-based key generation; no
seed phrases | Passkey-based (WebAuthn) key
generation on the user's
device; no seed phrases | Seed phrase (BIP-39 mnemonic,
24 words) | WebAuthn passkey PRF secret,
expanded with HKDF-SHA512 into
an Ed25519 signing key that is
generated and held in the
browser. A 24-word BIP-39
phrase backs up the same
secret. | MPC/TSS Distributed Key
Generation (Ed25519) | — | Seed phrase (BIP-39) | BIP-39 seed phrase; SLIP-10
Ed25519 keys derived and held
on the Ledger hardware device | -|     Key recovery | ✅ | ✅ | ✅ | ✅ | ✅ | — | ✅ | ✅ | -|     Social recovery | — | — | — | [Not supported](wallets/walley.yaml) | — | — | — | — | -|     Multi-address / account | ✅ | ✅ | — | [Not supported](wallets/walley.yaml) | ✅ | — | ✅ | ✅ | -|     Distributed parties | — | ✅ | — | [Not supported](wallets/walley.yaml) | — | — | — | — | -| **Network Relevant Features** | | | | | | | | | -|     UTXO merge delegation contract enabled | — | ✅ | — | [✅](proofs/walley/walley-self-attestation.md#utxo-merge-delegation-contract-enabled-utxo_merge_delegation) | — | — | — | — | -| **Validator Hosting** | | | | | | | | | -|     Bring-Your-Own-Validator (BYOV) | ✅ | — | — | [Not supported](wallets/walley.yaml) | ✅ | — | — | — | -|     Private validator | — | ✅ | — | — | ✅ | — | ✅ | — | -|     Shared validator | — | ✅ | — | — | ✅ | — | — | — | -| **Transaction Signing** | | | | | | | | | -|     Policy workflows | ✅ | ✅ | — | [Not supported](wallets/walley.yaml) | ✅ | — | — | — | -|     Threshold Signature Scheme | ✅ | ✅ | — | [Not supported](wallets/walley.yaml) | ✅ | — | — | — | -|     Hardware wallet support | [✅](proofs/dfns/dfns-self-attestation.md#hardware-wallet-support-hardware_wallet_support) | ✅ | — | [Not supported](wallets/walley.yaml) | — | — | — | [✅](proofs/ledger-wallet/ledger-wallet-self-attestation.md#hardware-wallet-support-hardware_wallet_support) | -| **Wallet Capabilities** | | | | | | | | | -|     Compliance | SOC 2 Type II, ISO 27001, ISO
27017 and ISO 27018 certified;
built-in KYT/AML transaction
screening (Chainalysis,
Elliptic, Global Ledger) and
Travel Rule support (Notabene,
Sumsub, Global Ledger),
enforced through the policy
engine with audit logs | — | — | — | — | — | — | — | -|     Tokenization | — | ✅ | — | — | [✅](proofs/blockdaemon-institutional-vault/blockdaemon-institutional-vault-self-attestation.md#tokenization-tokenization) | — | — | — | -|     Reward minting | — | — | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#reward-minting-reward_minting) | [Not supported](wallets/walley.yaml) | [✅](proofs/blockdaemon-institutional-vault/blockdaemon-institutional-vault-self-attestation.md#reward-minting-reward_minting) | — | — | — | -|     Transfer object / proof of transfer support | — | ✅ | — | [Not supported](wallets/walley.yaml) | — | — | — | — | -|     Clear signing | [✅](proofs/dfns/dfns-self-attestation.md#clear-signing-clear_signing) | — | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#clear-signing-clear_signing) | [✅](proofs/walley/walley-self-attestation.md#clear-signing-clear_signing) | [✅](proofs/blockdaemon-institutional-vault/blockdaemon-institutional-vault-self-attestation.md#clear-signing-clear_signing) | — | [✅](proofs/metatarz/metatarz-self-attestation.md#clear-signing-clear_signing) | [✅](proofs/ledger-wallet/ledger-wallet-self-attestation.md#clear-signing-clear_signing) | -|     Integrated swaps | — | ✅ | [Not supported](wallets/askardex-wallet.yaml) | [✅](proofs/walley/walley-self-attestation.md#integrated-swaps-integrated_swaps) | — | — | — | — | -|     Assets supported | CC, Other CIP-0056 tokens on
demand (token issuer provides
an RPC node) | CC, CIP-0056 tokens | CC, USDCx (CIP-0056), CBTC
(CIP-0056), CETH (CIP-0056),
HANDL (CIP-0056) | CC, USDCx, CBTC, cETH, SBC,
raUSD, HANDL, EDELx, USDM1,
TRKX index tokens, Tradecraft
LP tokens, any CIP-0056 token
in the Walley registry (79
live at
api.walley.cc/v1/tokens) | CC, CIP-0056 utility tokens
(DA Utilities and DTCC
registry backends) | — | CC, USDC (CIP-0056), CBTC
(CIP-0056), CETH (CIP-0056),
HANDL (CIP-0056) | Canton Coin (CC), CIP-0056
token instruments | -|     Languages supported | English | English | English | English | English | — | English | English, French, Spanish,
German, Japanese, Korean,
Portuguese (Brazil), Russian,
Turkish, Chinese (Simplified),
Thai | + + +# Wallet Directory + +Source of truth for Canton Network wallet providers' supported features and +assets, per the Wallet Directory Program (see [CONTRIBUTING.md](./CONTRIBUTING.md)). + +**Legend** + +✅ self-attested -- click through to the evidence + +🛡️ *name* verified by an independent third party -- click the name for their evidence + +❌ *name* found this claim to be unsupported, contradicting the wallet -- click the name for their evidence + +A linked "Not supported" means the wallet has said no with a reason + +— no claim made either way. + +## Wallet Overview & Primary Canton Network Features + +| Feature | [Dfns](wallets/dfns.yaml) | [Send](wallets/send.yaml) | [Askardex Wallet](wallets/askardex-wallet.yaml) | [Walley](wallets/walley.yaml) | [Blockdaemon Institutional Vault](wallets/blockdaemon-institutional-vault.yaml) | [Nightly](wallets/nightly.yaml) | [Metatarz](wallets/metatarz.yaml) | [Ledger Wallet](wallets/ledger-wallet.yaml) | [MahaWallet](wallets/mahawallet.yaml) | +|---|---|---|---|---|---|---|---|---|---| +| **Wallet Overview** | | | | | | | | | | +|     Website | [https://www.dfns.co](https://www.dfns.co) | [https://cantonwallet.com](https://cantonwallet.com) | [https://wallet.askardex.com](https://wallet.askardex.com) | [https://walley.cc](https://walley.cc) | [https://www.blockdaemon.com/mpc-wallets-and-vaults/institutional-vault](https://www.blockdaemon.com/mpc-wallets-and-vaults/institutional-vault) | [https://nightly.app/wallet/canton](https://nightly.app/wallet/canton) | [https://wallet.metatarz.xyz](https://wallet.metatarz.xyz) | [https://www.ledger.com](https://www.ledger.com) | [https://mahawallet.xyz](https://mahawallet.xyz) | +|     Added | 2026-07-24 | 2026-07-24 | 2026-07-25 | 2026-07-27 | 2026-08-05 | 2026-08-11 | 2026-08-13 | 2026-08-17 | 2026-10-15 | +| **Wallet Type** | | | | | | | | | | +|     Retail / Enterprise | Enterprise | Retail, Enterprise | Retail | Retail | Enterprise | Retail | Retail, Enterprise | Retail | Retail, Enterprise | +|     Custody Type | Self-custodial | Self-custodial | Self-custodial | Self-custodial | Self-custodial | Self-custodial | Self-custodial | Self-custodial | Self-custodial | +|     Form factor (Mobile / Browser / Desktop
/ Browser Extension / Hardware) | Browser | Browser, Mobile,
Browser-extension | Mobile | Browser | Browser, Desktop, Mobile | Mobile, Browser-extension | Browser-extension | Hardware, Desktop, Mobile | Browser-extension | +|     Deployment Model (Self-hosted / SaaS /
Hybrid) | Self-hosted, SaaS, Hybrid | SaaS | SaaS | SaaS | SaaS, Hybrid, On-prem | SaaS | Self-hosted, SaaS | Hybrid | Hybrid | +| **Canton Coin** | | | | | | | | | | +|     CC support | [✅](proofs/dfns/dfns-self-attestation.md#cc-support-cc_support) | ✅ | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#cc-support-cc_support) | [✅](proofs/walley/walley-self-attestation.md#cc-support-cc_support) | [✅](proofs/blockdaemon-institutional-vault/blockdaemon-institutional-vault-self-attestation.md#cc-support-cc_support) | [✅](proofs/nightly/nightly-self-attestation.md#cc-support-cc_support) | [✅](proofs/metatarz/metatarz-self-attestation.md#cc-support-cc_support) | [✅](proofs/ledger-wallet/ledger-wallet-self-attestation.md#cc-support-cc_support) | [✅](proofs/mahawallet/mahawallet-self-attestation.md#cc-support-cc_support) | +|     Two-step CC transfers | — | — | — | — | [✅](proofs/blockdaemon-institutional-vault/blockdaemon-institutional-vault-self-attestation.md#two-step-cc-transfers-two_step_cc_transfers) | [✅](proofs/nightly/nightly-self-attestation.md#two-step-cc-transfers-two_step_cc_transfers) | — | [✅](proofs/ledger-wallet/ledger-wallet-self-attestation.md#two-step-cc-transfers-two_step_cc_transfers) | [✅](proofs/mahawallet/mahawallet-self-attestation.md#two-step-cc-transfers-two_step_cc_transfers) | +|     Pre-approvals for CC | [✅](proofs/dfns/dfns-self-attestation.md#pre-approvals-for-cc-preapprovals) | ✅ | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#pre-approvals-for-cc-preapprovals) | [✅](proofs/walley/walley-self-attestation.md#pre-approvals-for-cc-preapprovals) | [✅](proofs/blockdaemon-institutional-vault/blockdaemon-institutional-vault-self-attestation.md#pre-approvals-for-cc-preapprovals) | — | [✅](proofs/metatarz/metatarz-self-attestation.md#pre-approvals-for-cc-preapprovals) | [Not supported](wallets/ledger-wallet.yaml) | [✅](proofs/mahawallet/mahawallet-self-attestation.md#pre-approvals-for-cc-preapprovals) | +| **Token Standard** | | | | | | | | | | +|     CIP-0056 token standard transfer support | [✅](proofs/dfns/dfns-self-attestation.md#cip-0056-token-standard-transfer-support-cip_0056_transfer) | ✅ | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#cip-0056-token-standard-transfer-support-cip_0056_transfer) | [✅](proofs/walley/walley-self-attestation.md#cip-0056-token-standard-transfer-support-cip_0056_transfer) | [✅](proofs/blockdaemon-institutional-vault/blockdaemon-institutional-vault-self-attestation.md#cip-0056-token-standard-transfer-support-cip_0056_transfer) | — | [✅](proofs/metatarz/metatarz-self-attestation.md#cip-0056-token-standard-transfer-support-cip_0056_transfer) | [✅](proofs/ledger-wallet/ledger-wallet-self-attestation.md#cip-0056-token-standard-transfer-support-cip_0056_transfer) | [✅](proofs/mahawallet/mahawallet-self-attestation.md#cip-0056-token-standard-transfer-support-cip_0056_transfer) | +|     CIP-0056 token standard allocation support | — | ✅ | — | [✅](proofs/walley/walley-self-attestation.md#cip-0056-token-standard-allocation-support-cip_0056_allocation) | [✅](proofs/blockdaemon-institutional-vault/blockdaemon-institutional-vault-self-attestation.md#cip-0056-token-standard-allocation-support-cip_0056_allocation) | — | — | [Not supported](wallets/ledger-wallet.yaml) | — | +|     CIP-112 token standard v2 support | — | ✅ | — | [Not supported](wallets/walley.yaml) | — | — | — | — | — | +|     Memo tag support for transfers to omnibus accounts | [✅](proofs/dfns/dfns-self-attestation.md#memo-tag-support-for-transfers-to-omnibus-accounts-memo_tag_support) | ✅ | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#memo-tag-support-for-transfers-to-omnibus-accounts-memo_tag_support) | [✅](proofs/walley/walley-self-attestation.md#memo-tag-support-for-transfers-to-omnibus-accounts-memo_tag_support) | [✅](proofs/blockdaemon-institutional-vault/blockdaemon-institutional-vault-self-attestation.md#memo-tag-support-for-transfers-to-omnibus-accounts-memo_tag_support) | [✅](proofs/nightly/nightly-self-attestation.md#memo-tag-support-for-transfers-to-omnibus-accounts-memo_tag_support) | [✅](proofs/metatarz/metatarz-self-attestation.md#memo-tag-support-for-transfers-to-omnibus-accounts-memo_tag_support) | [✅](proofs/ledger-wallet/ledger-wallet-self-attestation.md#memo-tag-support-for-transfers-to-omnibus-accounts-memo_tag_support) | [✅](proofs/mahawallet/mahawallet-self-attestation.md#memo-tag-support-for-transfers-to-omnibus-accounts-memo_tag_support) | +| **dApp Connectivity (CIP-103)** | | | | | | | | | | +|     CIP-0103 dApp API support | — | ✅ | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#cip-0103-dapp-api-support-cip_0103_dapp_api) | [✅](proofs/walley/walley-self-attestation.md#cip-0103-dapp-api-support-cip_0103_dapp_api) | — | [✅](proofs/nightly/nightly-self-attestation.md#cip-0103-dapp-api-support-cip_0103_dapp_api) | [✅](proofs/metatarz/metatarz-self-attestation.md#cip-0103-dapp-api-support-cip_0103_dapp_api) | [Not supported](wallets/ledger-wallet.yaml) | ✅ | +|     Wallet Connect support | [✅](proofs/dfns/dfns-self-attestation.md#wallet-connect-support-walletconnect_support) | ✅ | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#wallet-connect-support-walletconnect_support) | [Not supported](wallets/walley.yaml) | [✅](proofs/blockdaemon-institutional-vault/blockdaemon-institutional-vault-self-attestation.md#wallet-connect-support-walletconnect_support) | — | — | [Not supported](wallets/ledger-wallet.yaml) | [Not supported](wallets/mahawallet.yaml) | + +## Other Features + +| Feature | [Dfns](wallets/dfns.yaml) | [Send](wallets/send.yaml) | [Askardex Wallet](wallets/askardex-wallet.yaml) | [Walley](wallets/walley.yaml) | [Blockdaemon Institutional Vault](wallets/blockdaemon-institutional-vault.yaml) | [Nightly](wallets/nightly.yaml) | [Metatarz](wallets/metatarz.yaml) | [Ledger Wallet](wallets/ledger-wallet.yaml) | [MahaWallet](wallets/mahawallet.yaml) | +|---|---|---|---|---|---|---|---|---|---| +| **App Specific** | | | | | | | | | | +|     Pre-approvals for DA Registry issued assets | [Not supported](wallets/dfns.yaml) | ✅ | — | [✅](proofs/walley/walley-self-attestation.md#pre-approvals-for-da-registry-issued-assets-registry_preapprovals) | — | — | [✅](proofs/metatarz/metatarz-self-attestation.md#pre-approvals-for-da-registry-issued-assets-registry_preapprovals) | — | — | +|     Wallet Gateway signing driver | [✅](proofs/dfns/dfns-self-attestation.md#wallet-gateway-signing-driver-wallet_gateway_signing_driver) | — | — | [Not supported](wallets/walley.yaml) | [✅](proofs/blockdaemon-institutional-vault/blockdaemon-institutional-vault-self-attestation.md#wallet-gateway-signing-driver-wallet_gateway_signing_driver) | — | — | — | — | +| **Party Specific** | | | | | | | | | | +|     Key generation method | MPC/TSS -- keys generated as
distributed shares across
Dfns's signing network -- or
HSM-based key generation; no
seed phrases | Passkey-based (WebAuthn) key
generation on the user's
device; no seed phrases | Seed phrase (BIP-39 mnemonic,
24 words) | WebAuthn passkey PRF secret,
expanded with HKDF-SHA512 into
an Ed25519 signing key that is
generated and held in the
browser. A 24-word BIP-39
phrase backs up the same
secret. | MPC/TSS Distributed Key
Generation (Ed25519) | — | Seed phrase (BIP-39) | BIP-39 seed phrase; SLIP-10
Ed25519 keys derived and held
on the Ledger hardware device | BIP-39 seed phrase, SLIP-0010
Ed25519 derivation (Canton
coin type), generated in the
browser | +|     Key recovery | ✅ | ✅ | ✅ | ✅ | ✅ | — | ✅ | ✅ | ✅ | +|     Social recovery | — | — | — | [Not supported](wallets/walley.yaml) | — | — | — | — | [Not supported](wallets/mahawallet.yaml) | +|     Multi-address / account | ✅ | ✅ | — | [Not supported](wallets/walley.yaml) | ✅ | — | ✅ | ✅ | ✅ | +|     Distributed parties | — | ✅ | — | [Not supported](wallets/walley.yaml) | — | — | — | — | [Not supported](wallets/mahawallet.yaml) | +| **Network Relevant Features** | | | | | | | | | | +|     UTXO merge delegation contract enabled | — | ✅ | — | [✅](proofs/walley/walley-self-attestation.md#utxo-merge-delegation-contract-enabled-utxo_merge_delegation) | — | — | — | — | — | +| **Validator Hosting** | | | | | | | | | | +|     Bring-Your-Own-Validator (BYOV) | ✅ | — | — | [Not supported](wallets/walley.yaml) | ✅ | — | — | — | ✅ | +|     Private validator | — | ✅ | — | — | ✅ | — | ✅ | — | [Not supported](wallets/mahawallet.yaml) | +|     Shared validator | — | ✅ | — | — | ✅ | — | — | — | [Not supported](wallets/mahawallet.yaml) | +| **Transaction Signing** | | | | | | | | | | +|     Policy workflows | ✅ | ✅ | — | [Not supported](wallets/walley.yaml) | ✅ | — | — | — | [Not supported](wallets/mahawallet.yaml) | +|     Threshold Signature Scheme | ✅ | ✅ | — | [Not supported](wallets/walley.yaml) | ✅ | — | — | — | [Not supported](wallets/mahawallet.yaml) | +|     Hardware wallet support | [✅](proofs/dfns/dfns-self-attestation.md#hardware-wallet-support-hardware_wallet_support) | ✅ | — | [Not supported](wallets/walley.yaml) | — | — | — | [✅](proofs/ledger-wallet/ledger-wallet-self-attestation.md#hardware-wallet-support-hardware_wallet_support) | [Not supported](wallets/mahawallet.yaml) | +| **Wallet Capabilities** | | | | | | | | | | +|     Compliance | SOC 2 Type II, ISO 27001, ISO
27017 and ISO 27018 certified;
built-in KYT/AML transaction
screening (Chainalysis,
Elliptic, Global Ledger) and
Travel Rule support (Notabene,
Sumsub, Global Ledger),
enforced through the policy
engine with audit logs | — | — | — | — | — | — | — | — | +|     Tokenization | — | ✅ | — | — | [✅](proofs/blockdaemon-institutional-vault/blockdaemon-institutional-vault-self-attestation.md#tokenization-tokenization) | — | — | — | [Not supported](wallets/mahawallet.yaml) | +|     Reward minting | — | — | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#reward-minting-reward_minting) | [Not supported](wallets/walley.yaml) | [✅](proofs/blockdaemon-institutional-vault/blockdaemon-institutional-vault-self-attestation.md#reward-minting-reward_minting) | — | — | — | — | +|     Transfer object / proof of transfer support | — | ✅ | — | [Not supported](wallets/walley.yaml) | — | — | — | — | — | +|     Clear signing | [✅](proofs/dfns/dfns-self-attestation.md#clear-signing-clear_signing) | — | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#clear-signing-clear_signing) | [✅](proofs/walley/walley-self-attestation.md#clear-signing-clear_signing) | [✅](proofs/blockdaemon-institutional-vault/blockdaemon-institutional-vault-self-attestation.md#clear-signing-clear_signing) | — | [✅](proofs/metatarz/metatarz-self-attestation.md#clear-signing-clear_signing) | [✅](proofs/ledger-wallet/ledger-wallet-self-attestation.md#clear-signing-clear_signing) | — | +|     Integrated swaps | — | ✅ | [Not supported](wallets/askardex-wallet.yaml) | [✅](proofs/walley/walley-self-attestation.md#integrated-swaps-integrated_swaps) | — | — | — | — | [✅](proofs/mahawallet/mahawallet-self-attestation.md#integrated-swaps-integrated_swaps) | +|     Assets supported | CC, Other CIP-0056 tokens on
demand (token issuer provides
an RPC node) | CC, CIP-0056 tokens | CC, USDCx (CIP-0056), CBTC
(CIP-0056), CETH (CIP-0056),
HANDL (CIP-0056) | CC, USDCx, CBTC, cETH, SBC,
raUSD, HANDL, EDELx, USDM1,
TRKX index tokens, Tradecraft
LP tokens, any CIP-0056 token
in the Walley registry (79
live at
api.walley.cc/v1/tokens) | CC, CIP-0056 utility tokens
(DA Utilities and DTCC
registry backends) | — | CC, USDC (CIP-0056), CBTC
(CIP-0056), CETH (CIP-0056),
HANDL (CIP-0056) | Canton Coin (CC), CIP-0056
token instruments | CC, USDCx, CBTC, cETH | +|     Languages supported | English | English | English | English | English | — | English | English, French, Spanish,
German, Japanese, Korean,
Portuguese (Brazil), Russian,
Turkish, Chinese (Simplified),
Thai | English, Indonesian | diff --git a/proofs/mahawallet/mahawallet-self-attestation.md b/proofs/mahawallet/mahawallet-self-attestation.md new file mode 100644 index 0000000..8150b92 --- /dev/null +++ b/proofs/mahawallet/mahawallet-self-attestation.md @@ -0,0 +1,92 @@ +# MahaWallet — Self-Attestation Evidence + +Wallet name: `mahawallet` +Last updated: 2026-10-16 + +All evidence below is from mainnet. Transaction update IDs open in the Lighthouse explorer, and the `maha-*` party IDs belong to MahaWallet accounts. The explorer shows only the CC side of token transfers (it indexes Amulet events), so token movements are backed by its CIP-56 activity list and by the wallet's balances. + +--- + +## CC support `cc_support` + +- Transaction update ID(s): + - `12205b1cd7e36dc1522709b3ccbc721298d2809cf72222ab58a7e4aa8f770a0149b1`: maha-awikwokk to maha-haland, 1.0 CC, 2026-10-15 13:16 UTC (explorer link confirmed by owner) + - `1220a061f752a2c82afb00c421303d7c91574a65df4489214d1ae83f0aa680803b40`: maha-haland back to maha-awikwokk, 1.0 CC, 2026-10-15 13:19 UTC (explorer link confirmed by owner). Its input holding `00a492df…` is the holding created by the first transfer. +- Party ID(s): + - sender: `maha-awikwokk::12202f941fbab22462c09463dc65166ff92eb4d274a7a9ada8e96f5659cf65eeb468` + - receiver: `maha-haland::122029daf227013c8515bc9b45efaa3ac01dcd013b3f761c1471cc7814f502571d4e` +- Explorer link(s): + - https://lighthouse.cantonloop.com/transactions/12205b1cd7e36dc1522709b3ccbc721298d2809cf72222ab58a7e4aa8f770a0149b1 + - https://lighthouse.cantonloop.com/transactions/1220a061f752a2c82afb00c421303d7c91574a65df4489214d1ae83f0aa680803b40 +- Notes: Choice `TransferFactory_Transfer` (token standard, `ExternalPartyAmuletRules`) completed in one step (`TransferInstructionResult_Completed`). Network: mainnet. Both parties are MahaWallet accounts (owner-confirmed). + +## Two-step CC transfers `two_step_cc_transfers` + +- Transaction update ID(s) (both explorer links confirmed by owner): + - Step 1, sender creates the offer (`TransferFactory_Transfer`, result `TransferInstructionResult_Pending`, 1.0 CC, 2026-10-15 13:23 UTC): `1220ef7ecbdbf3f588e156cf5dce448f845a390d0b15e2b4d06d60a43c0897de3ffc` + - Step 2, receiver accepts (`TransferInstruction_Accept`, result `TransferInstructionResult_Completed`): `1220a5348a15ed006b596e2dbe288de744d32b53e45f60f6877337acd9b602e8f3b8` +- Party ID(s): + - sender: `maha-awikwokk::12202f941fbab22462c09463dc65166ff92eb4d274a7a9ada8e96f5659cf65eeb468` + - receiver: `maha-cepiritttttt::1220addef1e3730acd7eaa7fef6797285c37f78dca22d5a85a5168d60b1e09aadeab` +- Network: mainnet +- Explorer link(s): + - https://lighthouse.cantonloop.com/transactions/1220ef7ecbdbf3f588e156cf5dce448f845a390d0b15e2b4d06d60a43c0897de3ffc + - https://lighthouse.cantonloop.com/transactions/1220a5348a15ed006b596e2dbe288de744d32b53e45f60f6877337acd9b602e8f3b8 +- Notes: The receiver had no preapproval, so step 1 returned a pending TransferInstruction (`00922e37…da8325f`). Step 2 exercises `TransferInstruction_Accept` on that same contract and creates the receiver's holding. + +## Pre-approvals for CC `preapprovals` + +- Transaction update ID(s): + - Enable (`ExternalPartySetupProposal_Accept`, creates a `TransferPreapproval` and a `ValidatorRight`): `12205fedd29773e767e6a64d15a27c6f089db355a32500eb20df23d4e8e1f52f8ad4` + - Auto-accepted transfer to this party after enabling (`TransferFactory_Transfer`, result `TransferInstructionResult_Completed`, 1.0 CC from maha-awikwokk, 2026-10-15 13:42 UTC; its `transfer-preapproval` context value equals the `transferPreapprovalCid` created above): `12208cca0b5b4ec7e33cf962ed9f05083d21d34968fc3836627ac42ef0e4425b9c4a` +- Party ID(s): `maha-cepiritttttt::1220addef1e3730acd7eaa7fef6797285c37f78dca22d5a85a5168d60b1e09aadeab` +- Network: mainnet +- Explorer link(s) (both confirmed by owner): + - https://lighthouse.cantonloop.com/transactions/12205fedd29773e767e6a64d15a27c6f089db355a32500eb20df23d4e8e1f52f8ad4 + - https://lighthouse.cantonloop.com/transactions/12208cca0b5b4ec7e33cf962ed9f05083d21d34968fc3836627ac42ef0e4425b9c4a +- Notes: Settings has a CC preapproval switch and one per token. Turning it on creates a setup proposal and the wallet accepts it, which is two ledger transactions. The new `transferPreapprovalCid` is `00d43de3…2b7969ca…529030`; the auto-accepted transfer above carries exactly that value as `transfer-preapproval` in its context. + +## Memo tag support for transfers to omnibus accounts `memo_tag_support` + +- Transaction update ID(s): `12202ca6e1975a8aef7368454cb4a2316cf37a141863f43496fa78ad6fc9bfcf06c9` (1.0 CC, 2026-10-15 13:44 UTC, mainnet; explorer link confirmed by owner) +- Party ID(s): + - sender: `maha-cepiritttttt::1220addef1e3730acd7eaa7fef6797285c37f78dca22d5a85a5168d60b1e09aadeab` + - receiver: `maha-awikwokk::12202f941fbab22462c09463dc65166ff92eb4d274a7a9ada8e96f5659cf65eeb468` +- Explorer link(s): https://lighthouse.cantonloop.com/transactions/12202ca6e1975a8aef7368454cb4a2316cf37a141863f43496fa78ad6fc9bfcf06c9 +- Memo in the transaction JSON: `choice_argument.transfer.meta.values["splice.lfdecentralizedtrust.org/reason"] = "test-memo-mahawallet"`, echoed in `exercise_result.meta.values` of the same key. +- Notes: The memo is on-ledger and visible to parties entitled to see the transfer. + +## CIP-0056 token standard transfer support `cip_0056_transfer` + +USDCx (a CIP-0056 token, not CC) sent and received by the wallet on mainnet. The first two rows appear in the explorer's CIP-56 activity list for the wallet; the third is the Cantex swap settlement. The explorer's event tree only shows the Amulet side of these updates, so token movements are read from that activity list and from the wallet. + +- Transaction update ID(s): + - Send, USDCx from `maha-awikwokk` to `maha-haland`, 2026-10-05 16:56 UTC: `12204723eca0907dfb50f35be15ed84351efd24f725e233dc501c9e6c449f89953c4` + - Receive, USDCx from `maha-tip` to `maha-awikwokk`, 2026-10-06 14:03 UTC: `1220502976d173f66974dd55e073366e4ccaec14249e864e66680fd2a0ec0ac4dfa9` + - Receive, USDCx from the Cantex swap into `maha-awikwokk`, 2026-10-15 15:19 UTC: `122052f0883977b306a9d312e26029fee27712e91299a13a75e788f6c33fe5e2b563` (see the swap section) +- Party ID(s): `maha-awikwokk::12202f941fbab22462c09463dc65166ff92eb4d274a7a9ada8e96f5659cf65eeb468`, `maha-haland::122029daf227013c8515bc9b45efaa3ac01dcd013b3f761c1471cc7814f502571d4e`, `maha-tip::122025cef1bec8edc8aa50108068aa065b63dc1336f0695448dc8d669ae029e08ff8` +- Network: mainnet +- Explorer link(s): + - https://lighthouse.cantonloop.com/transactions/12204723eca0907dfb50f35be15ed84351efd24f725e233dc501c9e6c449f89953c4 + - https://lighthouse.cantonloop.com/transactions/1220502976d173f66974dd55e073366e4ccaec14249e864e66680fd2a0ec0ac4dfa9 +- Notes: `maha-awikwokk`, `maha-haland` and `maha-tip` are MahaWallet-controlled accounts (owner-confirmed). + +## Integrated swaps `integrated_swaps` + +- Transaction update ID(s): + - Swap input, 50 CC sent to Cantex with the output token named in the memo (`TransferFactory_Transfer`, memo `splice.lfdecentralizedtrust.org/reason` = `USDCx`, result `TransferInstructionResult_Pending`, 2026-10-15 15:18 UTC, mainnet): `122028dd9dbcad1db5167157ba29f7fdb31c66fd1c0a65ba43c59323659f9608155a` (explorer link confirmed by owner) + - Cantex settlement update `122052f0883977b306a9d312e26029fee27712e91299a13a75e788f6c33fe5e2b563` (round 117507). One of its events is `TransferInstruction_Accept` by `cantex-swap` on the instruction `00f3a9cb…a94` created by the 50 CC send above, result `TransferInstructionResult_Completed`. Following events take a 2.1 CC fee to `Cantex-validator-1` and move the remaining 47.9 CC to `pool-custodian`. + - Swap output (USDCx): the settlement update's transaction record contains a USDCx-side view whose informees are `Bridge-Operator` and `decentralized-usdc-interchain-rep` (the USDCx issuer-side parties), `cantex-swap` and `maha-awikwokk`, next to a view with only `cantex-swap` and `maha-awikwokk`. The explorer's event tree shows only the CC side (it lists Amulet events). The USDCx receipt is confirmed by the wallet balance below. +- Party ID(s): + - wallet: `maha-awikwokk::12202f941fbab22462c09463dc65166ff92eb4d274a7a9ada8e96f5659cf65eeb468` + - Cantex: `cantex-swap::122038c015864f106cfed48bb9106b7c89982368d27956ffcdfda6c38328f0909b8c` +- Balances: CC decreased by 50. USDCx balance after the swap: 5.5804 (owner-confirmed from the wallet). The USDCx balance before the swap was not recorded, so the exact amount received is not stated. +- Notes: Swaps run through Cantex Connect: the wallet sends the input to Cantex's party with the output token in the memo, and Cantex sends the output back. + +## CIP-0103 dApp API support `cip_0103_dapp_api` + +- Status: self-attested by the wallet owner. No run with a third-party dApp is on record, so no transaction update ID is given. +- Implementation: MahaWallet injects the Canton Network SDK provider (`@canton-network/core-provider-dapp` with the `core-rpc-transport` window transport, version 1.8.0) as `window.canton` and announces it with the `canton:announceProvider` event. +- Methods answered: `connect`, `disconnect`, `isConnected`, `status`, `listAccounts`, `getPrimaryAccount`, `signMessage`, `prepareExecute`, `prepareExecuteAndWait`. Events sent to the page: `accountsChanged`, `statusChanged`, `txChanged`. +- Not yet implemented: `getActiveNetwork`, `ledgerApi`. +- Testing so far: the flow has been exercised with MahaWallet's own test page only. diff --git a/wallets/mahawallet.yaml b/wallets/mahawallet.yaml new file mode 100644 index 0000000..1e2e982 --- /dev/null +++ b/wallets/mahawallet.yaml @@ -0,0 +1,169 @@ +name: "MahaWallet" +wallet-name: mahawallet +website: "https://mahawallet.xyz" +contact: "contact@mahawallet.xyz" +added: "2026-10-15" +slack_party_scaling_channel_joined: true + +# Same order as wallets/TEMPLATE.yaml. Every feature id in the template appears +# below: claimed (with proof), declared not supported (with a reason), or left +# commented out because it is not claimed yet. Commented blocks render as "-". + +features: + # Wallet Type + wallet_model: [Retail, Enterprise] + custody_model: Self-custodial + form_factor: [Browser-extension] + deployment_model: [Hybrid] # keys and signing in the user's browser; backend and validator hosted by us + + # Canton Coin + cc_support: + supported: true + proof: proofs/mahawallet/mahawallet-self-attestation.md#cc-support-cc_support + verified_by: [] + + two_step_cc_transfers: + supported: true + proof: proofs/mahawallet/mahawallet-self-attestation.md#two-step-cc-transfers-two_step_cc_transfers + verified_by: [] + + preapprovals: + supported: true + proof: proofs/mahawallet/mahawallet-self-attestation.md#pre-approvals-for-cc-preapprovals + verified_by: [] + + # Token Standard + cip_0056_transfer: + supported: true + proof: proofs/mahawallet/mahawallet-self-attestation.md#cip-0056-token-standard-transfer-support-cip_0056_transfer + verified_by: [] + + # Not claimed: no evidence of the allocation half of CIP-0056. + # cip_0056_allocation: + # supported: true + # proof: null + # verified_by: [] + + # Not claimed: CIP-112 v2 tokens not tested. + # cip_112_v2: + # supported: true + # proof: null + # verified_by: [] + + memo_tag_support: + supported: true + proof: proofs/mahawallet/mahawallet-self-attestation.md#memo-tag-support-for-transfers-to-omnibus-accounts-memo_tag_support + verified_by: [] + + # dApp Connectivity (CIP-103) + # Self-attested: the window.canton provider (Canton SDK) is injected into pages. + # No third-party dApp run is on record, so there is no proof link. + cip_0103_dapp_api: + supported: true + proof: null + verified_by: [] + + walletconnect_support: + supported: false + reason: "Not built. dApps connect through the CIP-0103 window.canton provider." + proof: null + verified_by: [] + + # App Specific + # Not claimed yet: needs a token preapproval enabled and a non-CC transfer that auto-accepted. + # registry_preapprovals: + # supported: true + # proof: null + # verified_by: [] + + # Not claimed: not verified either way. + # wallet_gateway_signing_driver: + # supported: true + # proof: null + # verified_by: [] + + # Party Specific + key_generation_method: "BIP-39 seed phrase, SLIP-0010 Ed25519 derivation (Canton coin type), generated in the browser" + + key_recovery: + supported: true # seed phrase import / recovery + + social_recovery: + supported: false + reason: "Recovery is by seed phrase only; no guardian or contact-based recovery." + + multi_address: + supported: true # several accounts (parties) in one wallet + + distributed_parties: + supported: false + reason: "Each account is a single-signer external party." + proof: null + verified_by: [] + + # Network Relevant Features + # Not claimed: no evidence of merge-delegation support. + utxo_merge_delegation: + supported: true + proof: null + verified_by: [] + + # Validator Hosting + validator_hosting_byov: + supported: true + validator_hosting_private: + supported: false + reason: "No dedicated validator per customer." + validator_hosting_shared: + supported: false + reason: "Bring-your-own-validator only; there is no shared validator option." + + # Transaction Signing + policy_workflows: + supported: false + reason: "No approval-policy engine; the wallet owner approves each transaction." + + threshold_signature_scheme: + supported: false + reason: "Single-key signing (Ed25519); no MPC or threshold scheme." + + hardware_wallet_support: + supported: false + reason: "Keys are held by the extension; hardware signers are not supported." + proof: null + verified_by: [] + + # Wallet Capabilities + # Not claimed: no compliance certifications to declare. + # compliance: "" + + tokenization: + supported: false + reason: "The wallet holds and moves tokens; it does not issue or tokenize assets." + proof: null + verified_by: [] + + # Not claimed: not verified. + # reward_minting: + # supported: true + # proof: null + # verified_by: [] + + # transfer_proof: + # supported: true + # proof: null + # verified_by: [] + + # Not claimed yet: the approval screens need to be checked and a real transaction recorded. + # clear_signing: + # supported: true + # proof: null + # verified_by: [] + + integrated_swaps: + supported: true + proof: proofs/mahawallet/mahawallet-self-attestation.md#integrated-swaps-integrated_swaps + verified_by: [] + + assets_supported: ["CC", "USDCx", "CBTC", "cETH"] + languages_supported: ["English", "Indonesian"]