aleo1...) but balances come in two forms:
Dynamic supports Aleo as both an embedded wallet (MPC-backed, created via
social auth or email) and an external wallet (browser extensions that
implement the Aleo Wallet Standard).
Both are wired up by
AleoWalletConnectors.
This page covers setup and common operations for both wallet types. For the
full embedded wallet API (record merging, Feemaster sponsorship, prove
transactions), see
Aleo embedded wallets.
Enabling Aleo
1
Enable Aleo in the dashboard
Enable Aleo (Mainnet and/or Testnet) under Chains & Networks.
2
Install the connector
3
Add the connector to DynamicContextProvider
React
Supported Wallets
Any wallet that implements the Aleo Wallet Standard can connect through
AleoWalletConnectors. The adapter registry is extensible at runtime — see
Adding a custom Aleo wallet below.
Supported Networks
Enable one or both networks in the Chains & Networks dashboard. When multiple networks are enabled, users can switch between them.
Checking if a Wallet is an Aleo Wallet
React
Address and Public Key
On Aleo, the public key and address are the samealeo1... value.
React
Reading Balances
For external wallets,getBalance returns the combined public and private
balance in ALEO credits:
React
usePrivateTokenBalances:
React
Sending
sendBalance submits a transfer_public transition. By default it sends
native credits (credits.aleo); pass token for a token program.
React
Signing Messages
React
Executing Program Transitions
requestTransaction lets you execute any Aleo program transition through the
connected external wallet. The wallet handles proving and submission.
React
Decrypting Records
If the connected wallet supports decryption, you can decrypt ciphertexts using the wallet’s view key:React
Fetching Records
Request owned records for a given program. The wallet uses its view key to scan and return matching records:React
Explorer Links
Build a Provable explorer URL for any transaction ID:React
Adding a Custom Aleo Wallet
To add support for a new Aleo wallet that uses the adapter interface, register its constructor at runtime before the connector initializes:React
'yourwallet') must match the wallet book entry key.
Shielding (Embedded Wallets)
Embedded (Dynamic WaaS) Aleo wallets can move public balances into private records and work with those records directly. These methods are only available on embedded wallets — external wallets (e.g. Shield) should userequestTransaction / requestRecords instead.
React
DynamicWidget balance view does
this for you and exposes Shielded / Unshielded tabs out of the box.
For the full embedded wallet API (prove transactions, join records, Feemaster
checks), see
Aleo embedded wallets.
Embedded vs External Wallet Operations
Ownership Boundaries
- Dynamic — connection lifecycle,
AleoWalletConnectors, theAleoWalletobject, balance/address accessors, send + shielding helpers, and (for embedded wallets) MPC key management. - External wallet (Shield) — key custody and signing for injected wallets, via the Aleo Wallet Standard.
- Your app — how you present public vs shielded balances and any shielding UX beyond the default widget.