diff --git a/WALLET_DIRECTORY.md b/WALLET_DIRECTORY.md
index 9f2cb68..3884c85 100644
--- a/WALLET_DIRECTORY.md
+++ b/WALLET_DIRECTORY.md
@@ -17,54 +17,54 @@ be unsupported, contradicting the wallet -- click the name for their evidence ·
## Wallet Overview & Primary Canton Network Features
-| Feature | [Askardex Wallet](wallets/askardex-wallet.yaml) | [Dfns](wallets/dfns.yaml) | [Send](wallets/send.yaml) |
-|---|---|---|---|
-| **Wallet Overview** | | | |
-| Website | [https://wallet.askardex.com](https://wallet.askardex.com) | [https://www.dfns.co](https://www.dfns.co) | [https://cantonwallet.com](https://cantonwallet.com) |
-| Added | 2026-07-25 | 2026-07-24 | 2026-07-24 |
-| **Wallet Type** | | | |
-| Retail / Enterprise | Retail | enterprise | retail |
-| Custody Type | Self-custodial | self-custodial | self-custodial |
-| Form factor (Mobile / Browser / Desktop / Browser Extension / Hardware) | mobile | browser | browser, mobile, browser-extension |
-| Deployment Model (Self-hosted / SaaS / Hybrid) | saas | self-hosted, saas, hybrid | saas |
-| **Canton Coin** | | | |
-| CC support (transfers and holding) | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#cc-support-transfers-and-holding-cc_support) | [✅](proofs/dfns/dfns-self-attestation.md#cc-support-transfers-and-holding-cc_support) | ✅ |
-| Pre-approvals for CC | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#pre-approvals-for-cc-preapprovals) | [✅](proofs/dfns/dfns-self-attestation.md#pre-approvals-for-cc-preapprovals) | ✅ |
-| **Token Standard** | | | |
-| CIP-0056 token standard transfer support | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#cip-0056-token-standard-transfer-support-cip_0056_transfer) | [✅](proofs/dfns/dfns-self-attestation.md#cip-0056-token-standard-transfer-support-cip_0056_transfer) | ✅ |
-| CIP-0056 token standard allocation support | — | — | ✅ |
-| CIP-112 token standard v2 support | — | — | ✅ |
-| **Interoperability** | | | |
-| CIP-0103 dApp API support | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#cip-0103-dapp-api-support-cip_0103_dapp_api) | — | ✅ |
-| Wallet Connect support | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#wallet-connect-support-walletconnect_support) | [✅](proofs/dfns/dfns-self-attestation.md#wallet-connect-support-walletconnect_support) | ✅ |
-| Memo tag support for transfers to exchanges | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#memo-tag-support-for-transfers-to-exchanges-memo_tag_support) | [✅](proofs/dfns/dfns-self-attestation.md#memo-tag-support-for-transfers-to-exchanges-memo_tag_support) | ✅ |
+| Feature | [Askardex Wallet](wallets/askardex-wallet.yaml) | [Dfns](wallets/dfns.yaml) | [Send](wallets/send.yaml) | [Walley](wallets/walley.yaml) |
+|---|---|---|---|---|
+| **Wallet Overview** | | | | |
+| Website | [https://wallet.askardex.com](https://wallet.askardex.com) | [https://www.dfns.co](https://www.dfns.co) | [https://cantonwallet.com](https://cantonwallet.com) | [https://walley.cc](https://walley.cc) |
+| Added | 2026-07-25 | 2026-07-24 | 2026-07-24 | 2026-07-27 |
+| **Wallet Type** | | | | |
+| Retail / Enterprise | Retail | enterprise | retail | retail |
+| Custody Type | Self-custodial | self-custodial | self-custodial | self-custodial |
+| Form factor (Mobile / Browser / Desktop / Browser Extension / Hardware) | mobile | browser | browser, mobile, browser-extension | browser |
+| Deployment Model (Self-hosted / SaaS / Hybrid) | saas | self-hosted, saas, hybrid | saas | saas |
+| **Canton Coin** | | | | |
+| CC support (transfers and holding) | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#cc-support-transfers-and-holding-cc_support) | [✅](proofs/dfns/dfns-self-attestation.md#cc-support-transfers-and-holding-cc_support) | ✅ | [✅](proofs/walley/walley-self-attestation.md#cc-support-transfers-and-holding-cc_support) |
+| Pre-approvals for CC | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#pre-approvals-for-cc-preapprovals) | [✅](proofs/dfns/dfns-self-attestation.md#pre-approvals-for-cc-preapprovals) | ✅ | [✅](proofs/walley/walley-self-attestation.md#pre-approvals-for-cc-preapprovals) |
+| **Token Standard** | | | | |
+| CIP-0056 token standard transfer support | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#cip-0056-token-standard-transfer-support-cip_0056_transfer) | [✅](proofs/dfns/dfns-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) |
+| CIP-0056 token standard allocation support | — | — | ✅ | [✅](proofs/walley/walley-self-attestation.md#cip-0056-token-standard-allocation-support-cip_0056_allocation) |
+| CIP-112 token standard v2 support | — | — | ✅ | [Not supported](wallets/walley.yaml) |
+| **Interoperability** | | | | |
+| 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) |
+| Wallet Connect support | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#wallet-connect-support-walletconnect_support) | [✅](proofs/dfns/dfns-self-attestation.md#wallet-connect-support-walletconnect_support) | ✅ | [Not supported](wallets/walley.yaml) |
+| Memo tag support for transfers to exchanges | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#memo-tag-support-for-transfers-to-exchanges-memo_tag_support) | [✅](proofs/dfns/dfns-self-attestation.md#memo-tag-support-for-transfers-to-exchanges-memo_tag_support) | ✅ | [✅](proofs/walley/walley-self-attestation.md#memo-tag-support-for-transfers-to-exchanges-memo_tag_support) |
## Other Features
-| Feature | [Askardex Wallet](wallets/askardex-wallet.yaml) | [Dfns](wallets/dfns.yaml) | [Send](wallets/send.yaml) |
-|---|---|---|---|
-| **App Specific** | | | |
-| Pre-approvals for DA Registry issued assets | — | [Not supported](wallets/dfns.yaml) | — |
-| Wallet Gateway signing driver | — | [✅](proofs/dfns/dfns-self-attestation.md#wallet-gateway-signing-driver-wallet_gateway_signing_driver) | — |
-| **Party Specific** | | | |
-| Key generation method | Seed phrase (BIP-39 mnemonic, 24 words) | MPC/TSS -- keys generated as distributed shares across Dfns's signing network -- or HSM-based key generation; no seed phrases | — |
-| Key recovery | ✅ | ✅ | ✅ |
-| Social recovery | — | — | — |
-| Multi-address / account | — | ✅ | — |
-| Distributed parties | — | — | — |
-| **Network relevant features** | | | |
-| UTXO merge delegation contract enabled | — | — | — |
-| **Transaction Signing** | | | |
-| Policy workflows | — | ✅ | — |
-| Threshold Signature Scheme | — | ✅ | — |
-| Hardware wallet support | — | [✅](proofs/dfns/dfns-self-attestation.md#hardware-wallet-support-hardware_wallet_support) | ✅ |
-| **Wallet Capabilities** | | | |
-| Compliance | — | ✅ | — |
-| Validator hosting (self-hosted / BYOV) | ✅ | ✅ | — |
-| Tokenization | — | — | — |
-| Reward minting | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#reward-minting-reward_minting) | — | — |
-| Transfer object / proof of transfer support | — | — | — |
-| Clear signing | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#clear-signing-clear_signing) | [✅](proofs/dfns/dfns-self-attestation.md#clear-signing-clear_signing) | — |
-| Integrated swaps | [Not supported](wallets/askardex-wallet.yaml) | — | ✅ |
-| Assets supported | CC, USDCx (CIP-0056), CBTC (CIP-0056), CETH (CIP-0056), HANDL (CIP-0056) | CC, Other CIP-0056 tokens on demand (token issuer provides an RPC node) | CC, CIP-0056 tokens |
-| Languages supported | English | English | English |
+| Feature | [Askardex Wallet](wallets/askardex-wallet.yaml) | [Dfns](wallets/dfns.yaml) | [Send](wallets/send.yaml) | [Walley](wallets/walley.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) |
+| Wallet Gateway signing driver | — | [✅](proofs/dfns/dfns-self-attestation.md#wallet-gateway-signing-driver-wallet_gateway_signing_driver) | — | [Not supported](wallets/walley.yaml) |
+| **Party Specific** | | | | |
+| Key generation method | Seed phrase (BIP-39 mnemonic, 24 words) | MPC/TSS -- keys generated as distributed shares across Dfns's signing network -- or HSM-based key generation; no seed phrases | — | 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. |
+| 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) |
+| **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) |
+| **Wallet Capabilities** | | | | |
+| Compliance | — | ✅ | — | — |
+| Validator hosting (self-hosted / BYOV) | ✅ | ✅ | — | [Not supported](wallets/walley.yaml) |
+| Tokenization | — | — | — | — |
+| Reward minting | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#reward-minting-reward_minting) | — | — | [Not supported](wallets/walley.yaml) |
+| Transfer object / proof of transfer support | — | — | — | [Not supported](wallets/walley.yaml) |
+| Clear signing | [✅](proofs/askardex-wallet/askardex-wallet-self-attestation.md#clear-signing-clear_signing) | [✅](proofs/dfns/dfns-self-attestation.md#clear-signing-clear_signing) | — | [✅](proofs/walley/walley-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, USDCx (CIP-0056), CBTC (CIP-0056), CETH (CIP-0056), HANDL (CIP-0056) | CC, Other CIP-0056 tokens on demand (token issuer provides an RPC node) | CC, CIP-0056 tokens | 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) |
+| Languages supported | English | English | English | English |
diff --git a/proofs/walley/walley-self-attestation.md b/proofs/walley/walley-self-attestation.md
new file mode 100644
index 0000000..2af801c
--- /dev/null
+++ b/proofs/walley/walley-self-attestation.md
@@ -0,0 +1,258 @@
+# Walley — Self-Attestation Evidence
+
+Wallet name: `walley`
+Last updated: 2026-07-27
+
+Walley is a self-custodial browser wallet for CIP-0056 tokens on Canton
+MainNet, operated by K2F Labs. Signing keys are derived in the browser from a
+WebAuthn passkey PRF secret and never leave the device.
+
+The evidence below is drawn from publicly reachable sources: the product
+documentation at [docs.walley.cc](https://docs.walley.cc), the public REST API
+at `api.walley.cc` (including its Swagger UI at
+), and the published dApp SDK package on
+npm. Every claim is reproducible by a verifier against MainNet using the
+registry's suggested test. Joel Lovera at Digital Asset is familiar with
+Walley's feature support and can attest to the claims below. Transaction
+update IDs are not published in this submission and can be supplied on
+request.
+
+---
+
+## CC support (transfers and holding) `cc_support`
+
+> Send, receive, and hold Canton Coin.
+>
+> Suggested test: Send CC to and from the wallet. Record the transaction
+> update IDs and optionally provide screenshots of the holding, transfer, and
+> party ID.
+
+- Transaction update ID(s): not published in this submission (see note above)
+- Party ID(s): user parties take the form `walley-::` and are hosted on the K2F validator `k2f-validator-1::1220a0a64bd45fee105f5c80474842a4337bb09323ca748d7ea6dacc07fc6237572c` (returned by )
+- Explorer link(s): n/a
+- Screenshot(s) / video: n/a
+- Notes: Canton Coin is served as instrument `Amulet` (symbol `CC`, admin
+ `DSO::1220b1431ef217342db44d516bb9befde802be7d8899637d290895fa58880f19accc`)
+ from the public registry endpoint . Sending
+ and receiving CC is documented at
+ . The public API exposes
+ `GET /v1/balances`, `GET /v1/holdings`, `GET /v1/transfers`, and the
+ `POST /v1/transfers/prepare`, `/accept/prepare`, `/reject/prepare`, and
+ `/withdraw/prepare` command builders.
+
+## Pre-approvals for CC `preapprovals`
+
+> Auto-accept incoming CC without manual confirmation. Distinct from
+> registry_preapprovals (App Specific) below -- the two used to share an id
+> but now have different suggested tests.
+>
+> Suggested test: Enable pre-approvals for CC. Send CC to the wallet address.
+> Confirm the transfer was auto-accepted. Record the transaction update IDs
+> and optionally provide screenshots of the holding, transfer, and party ID.
+
+- Transaction update ID(s): not published in this submission (see note above)
+- Party ID(s): as above
+- Explorer link(s): n/a
+- Screenshot(s) / video: n/a
+- Notes: Transfer pre-approval is a user-enabled setting documented at
+ . Enabling it is itself
+ an on-ledger action the user reviews and signs, the status moves from
+ Pending Approval to Enabled, and the pre-approval expires and can be renewed
+ from the same Settings card. With it enabled, incoming transfers complete
+ without a per-transfer acceptance. The API exposes
+ `GET /v1/transfer-preapproval` and `POST /v1/transfer-preapproval/prepare`.
+
+## CIP-0056 token standard transfer support `cip_0056_transfer`
+
+> Send and receive any CIP-0056 token, not just Canton Coin.
+>
+> Suggested test: Send a CIP-0056-compatible token (not Canton Coin) to and
+> from the wallet. Record the transaction update IDs and optionally provide
+> screenshots of the holding, transfer, and party ID.
+
+- Transaction update ID(s): not published in this submission (see note above)
+- Party ID(s): as above
+- Explorer link(s): n/a
+- Screenshot(s) / video: n/a
+- Notes: returns 79 live instruments as of
+ 2026-07-27, of which 78 are non-CC CIP-0056 tokens, including USDCx, CBTC,
+ cETH, SBC, raUSD, HANDL, EDELx, USDM1, the TRKX index series, and Tradecraft
+ LP tokens. Each carries its instrument id, admin party, and where applicable
+ the registry operator party. Transfers use the token standard two-step offer
+ and accept flow, described at
+ , exercising
+ `TransferFactory_Transfer` and then `TransferInstruction_Accept`,
+ `_Reject`, or `_Withdraw`.
+
+## CIP-0056 token standard allocation support `cip_0056_allocation`
+
+> Support for the allocation half of the CIP-0056 standard, distinct from
+> plain transfers.
+>
+> Suggested test: Create and settle a CIP-0056 allocation (distinct from a
+> plain transfer). Record the transaction update ID(s) for the allocation and
+> its settlement, and optionally provide screenshots of the allocation before
+> and after settlement.
+
+- Transaction update ID(s): not published in this submission (see note above)
+- Party ID(s): as above
+- Explorer link(s): n/a
+- Screenshot(s) / video: n/a
+- Notes: Walley funds trades on the Tradecraft AMM venue with token standard
+ allocations rather than plain transfers. It exercises
+ `AllocationFactory_Allocate` to create the `Allocation` contract, the venue
+ executor settles it, and the sender-controlled `Allocation_Withdraw` choice
+ reclaims an allocation that was never settled. The public API exposes
+ `POST /v1/tradecraft/allocation/prepare` and
+ `POST /v1/tradecraft/allocation/withdraw/prepare`, both listed in
+ .
+
+## CIP-0103 dApp API support `cip_0103_dapp_api`
+
+> Connect to and sign transactions from a third-party dApp via CIP-0103.
+>
+> Suggested test: Connect to a dApp using a CIP-0103 connection. Initiate a
+> transaction from within the dApp and sign it from the wallet. Confirm the
+> successful transaction. Optionally provide screenshots or a video
+> recording.
+
+- Transaction update ID(s): not published in this submission (see note above)
+- Party ID(s): as above
+- Explorer link(s): n/a
+- Screenshot(s) / video: n/a
+- Notes: Walley ships a published provider adapter,
+ [`@k2flabs/walley-dapp-sdk`](https://www.npmjs.com/package/@k2flabs/walley-dapp-sdk)
+ (v1.1.0), that registers with the `DiscoveryRegistry` from
+ `@canton-network/dapp-sdk` and implements the standard `Provider` interface:
+ `connect`, `disconnect`, `status`, `listAccounts`, `getPrimaryAccount`,
+ `getActiveNetwork`, `signMessage`, `prepareExecute`, and
+ `prepareExecuteAndWait`. Every method that signs opens a popup on walley.cc
+ where the user reviews and approves. Full reference at
+ , quickstart at
+ , and the end-user view of
+ connecting and revoking sessions at
+ .
+
+## Memo tag support for transfers to exchanges `memo_tag_support`
+
+> Attach a memo tag to a transfer, recorded under the
+> splice.lfdecentralizedtrust.org/reason metadata.
+>
+> Suggested test: Include a memo tag in an asset transfer (this can be
+> combined with the cc_support test). Record the transaction update ID
+> showing the memo tag under the splice.lfdecentralizedtrust.org/reason
+> metadata in the transaction JSON.
+
+- Transaction update ID(s): not published in this submission (see note above)
+- Party ID(s): as above
+- Explorer link(s): n/a
+- Screenshot(s) / video: n/a
+- Notes: The send flow carries an optional "Reason / Memo" field, documented
+ as step 4 of sending at
+ ("optionally add a payment
+ reason the recipient will see"). When set, Walley writes it into the
+ transfer's `meta.values` under the key
+ `splice.lfdecentralizedtrust.org/reason`, and reads it back out of the same
+ key to display a Reason row on the signing confirmation screen.
+
+## Pre-approvals for DA Registry issued assets `registry_preapprovals`
+
+> Auto-accept incoming registry-issued (non-CC) assets. Distinct from
+> preapprovals (Canton Coin) above -- see the note there.
+>
+> Suggested test: Register pre-approvals for a DA Registry issued asset. Send
+> the asset to the wallet address. Confirm the asset was auto-accepted. Record
+> the transaction update IDs and optionally provide screenshots of the
+> holding, transfer, and party ID.
+
+- Transaction update ID(s): not published in this submission (see note above)
+- Party ID(s): as above
+- Explorer link(s): n/a
+- Screenshot(s) / video: n/a
+- Notes: Separately from the Canton Coin pre-approval, Walley registers a
+ blanket `TransferPreapproval` per registry instrument admin, covering every
+ token that admin issues. Eligible registries are those exposing an operator
+ party, which the public token registry reports as `operator_id` on each
+ instrument at . The wallet's Settings
+ screen groups preapprovable tokens by admin and shows which groups are
+ already covered, so a verifier can enable a group and then confirm an
+ incoming registry asset lands without a manual accept.
+
+## UTXO merge delegation contract enabled `utxo_merge_delegation`
+
+> The wallet enables the merge delegation contract so UTXOs can be
+> consolidated on-chain, reducing UTXO bloat.
+>
+> Suggested test: Enable the merge delegation contract in the wallet. Witness
+> a UTXO consolidation contract on-chain for CC (sender & receiver are the
+> same party).
+
+- Transaction update ID(s): not published in this submission (see note above)
+- Party ID(s): as above
+- Explorer link(s): n/a
+- Screenshot(s) / video: n/a
+- Notes: Merge delegation is an opt-in Settings toggle documented at
+ . The
+ user signs a `MergeDelegationProposal` create, the status moves from Pending
+ Approval to Enabled, and thereafter the network consolidates that party's
+ holding contracts for an asset into fewer contracts. As the documentation
+ states, the delegation authorizes consolidation only, does not authorize
+ transfers to anyone else, and leaves the total balance unchanged. The API
+ exposes `GET /v1/merge-delegation` and
+ `POST /v1/merge-delegation/prepare`.
+
+## Clear signing `clear_signing`
+
+> The wallet displays human-readable transaction details (not raw hex/opaque
+> data) before signing.
+>
+> Suggested test: Show the wallet displaying human-readable transaction
+> details (not raw hex/opaque data) before signing. Provide a screenshot of
+> the clear-signing confirmation screen for a real transaction, alongside its
+> transaction update ID.
+
+- Transaction update ID(s): not published in this submission (see note above)
+- Party ID(s): as above
+- Explorer link(s): n/a
+- Screenshot(s) / video: n/a
+- Notes: Every signature, whether started in the wallet or requested by a
+ connected dApp, goes through a review screen first. Walley keeps a registry
+ of known template and choice pairs and renders each command as a labelled
+ action with named fields rather than raw payload. A token standard transfer,
+ for example, renders as "Send Transfer" with Sender, Receiver, Amount,
+ Token, and Reason rows, with the instrument id resolved to its symbol
+ through the token registry. Merge delegation and the transfer instruction
+ choices render as "Enable Merge Delegation", "Accept Transfer", "Reject
+ Transfer", and "Withdraw Transfer". The mandatory review step is documented
+ for end users at
+
+ and for dApp integrators at .
+
+## Integrated swaps `integrated_swaps`
+
+> An in-wallet swap between two assets.
+>
+> Suggested test: Perform an in-wallet swap between two assets. Provide the
+> transaction update ID(s) for the swap and a screenshot of balances before
+> and after.
+
+- Transaction update ID(s): not published in this submission (see note above)
+- Party ID(s): as above
+- Explorer link(s): n/a
+- Screenshot(s) / video: n/a
+- Notes: Walley has a built-in swap screen at that
+ routes across three venues, all live on MainNet and all queryable without
+ authentication:
+ - Tradecraft, a constant-product AMM, at
+ , which returns pools such as
+ CC/USDCx, CC/eXAU, SBC/USDCx, and CBTC/cETH with their per-pool LP and
+ operator fees.
+ - OneSwap pools at .
+ - Silvana, a request-for-quote venue, at
+ , which lists markets including
+ CBTC/CC, CBTC/USDCx, and CC/USDCx. A Silvana fill is settled by the user's
+ own signature on an `AtomicDVP_Settle` exercise, so the swap is atomic and
+ the wallet never takes custody.
+
+ Where more than one venue can route a pair, the wallet shows a venue
+ selector and quotes each.
diff --git a/wallets/walley.yaml b/wallets/walley.yaml
new file mode 100644
index 0000000..28785dc
--- /dev/null
+++ b/wallets/walley.yaml
@@ -0,0 +1,124 @@
+name: "Walley"
+wallet-name: walley
+website: "https://walley.cc"
+contact: "admin@k2flabs.com"
+added: "2026-07-27"
+slack_party_scaling_channel_joined: true
+
+features:
+ # Wallet Type
+ wallet_model: [retail]
+ custody_model: self-custodial
+ form_factor: [browser]
+ deployment_model: [saas]
+
+ # Canton Coin
+ cc_support:
+ supported: true
+ proof: proofs/walley/walley-self-attestation.md#cc-support-transfers-and-holding-cc_support
+ verified_by: []
+ preapprovals:
+ supported: true
+ proof: proofs/walley/walley-self-attestation.md#pre-approvals-for-cc-preapprovals
+ verified_by: []
+
+ # Token Standard
+ cip_0056_transfer:
+ supported: true
+ proof: proofs/walley/walley-self-attestation.md#cip-0056-token-standard-transfer-support-cip_0056_transfer
+ verified_by: []
+ cip_0056_allocation:
+ supported: true
+ proof: proofs/walley/walley-self-attestation.md#cip-0056-token-standard-allocation-support-cip_0056_allocation
+ verified_by: []
+ cip_112_v2:
+ supported: false
+ reason: "Walley implements the v1 token standard interfaces only. CIP-112 v2 is not implemented yet."
+ proof: null
+ verified_by: []
+
+ # Interoperability
+ cip_0103_dapp_api:
+ supported: true
+ proof: proofs/walley/walley-self-attestation.md#cip-0103-dapp-api-support-cip_0103_dapp_api
+ verified_by: []
+ walletconnect_support:
+ supported: false
+ reason: "dApps connect to Walley through the CIP-0103 provider adapter. WalletConnect is used only to attach an external Ethereum wallet for USDCx bridging, never for dApp sessions with Walley."
+ proof: null
+ verified_by: []
+ memo_tag_support:
+ supported: true
+ proof: proofs/walley/walley-self-attestation.md#memo-tag-support-for-transfers-to-exchanges-memo_tag_support
+ verified_by: []
+
+ # App Specific
+ registry_preapprovals:
+ supported: true
+ proof: proofs/walley/walley-self-attestation.md#pre-approvals-for-da-registry-issued-assets-registry_preapprovals
+ verified_by: []
+ wallet_gateway_signing_driver:
+ supported: false
+ reason: "Not integrated. Walley signs in the browser with its own passkey-derived key."
+ proof: null
+ verified_by: []
+
+ # Party Specific
+ key_generation_method: "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."
+ key_recovery:
+ supported: true
+ social_recovery:
+ supported: false
+ reason: "Recovery is by 24-word BIP-39 phrase. There is no guardian or trusted-contact scheme."
+ multi_address:
+ supported: false
+ reason: "One party per passkey credential."
+ distributed_parties:
+ supported: false
+ reason: "Each party has a single signing key. Distributed party authority is not offered."
+ proof: null
+ verified_by: []
+
+ # Network relevant features
+ utxo_merge_delegation:
+ supported: true
+ proof: proofs/walley/walley-self-attestation.md#utxo-merge-delegation-contract-enabled-utxo_merge_delegation
+ verified_by: []
+
+ # Transaction Signing
+ policy_workflows:
+ supported: false
+ reason: "Every transaction is approved individually by the key holder. There are no configurable approval policies."
+ threshold_signature_scheme:
+ supported: false
+ reason: "Single Ed25519 key per party. No MPC or threshold signing."
+ hardware_wallet_support:
+ supported: false
+ reason: "Signing uses a WebAuthn passkey with the PRF extension rather than a dedicated hardware signing device."
+ proof: null
+ verified_by: []
+
+ # Wallet Capabilities
+ validator_hosting:
+ supported: false
+ reason: "Walley hosts every user party on its own validator. Bring-your-own-validator is not offered."
+ reward_minting:
+ supported: false
+ reason: "Walley does not claim or mint validator or app rewards on behalf of users."
+ proof: null
+ verified_by: []
+ transfer_proof:
+ supported: false
+ reason: "Transaction history is viewable in the app, but Walley does not export a proof-of-transfer object."
+ proof: null
+ verified_by: []
+ clear_signing:
+ supported: true
+ proof: proofs/walley/walley-self-attestation.md#clear-signing-clear_signing
+ verified_by: []
+ integrated_swaps:
+ supported: true
+ proof: proofs/walley/walley-self-attestation.md#integrated-swaps-integrated_swaps
+ verified_by: []
+ assets_supported: ["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)"]
+ languages_supported: ["English"]