Skip to main content
Aleo is a privacy-focused Layer 1 chain. An Aleo wallet has a single address (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 same aleo1... value.
React

Reading Balances

For external wallets, getBalance returns the combined public and private balance in ALEO credits:
React
To read shielded balances separately, use 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
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
The key ('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 use requestTransaction / requestRecords instead.
React
Where the network fee is sponsored (Feemaster), Dynamic can auto-shield supported tokens and auto-merge records — the built-in 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, the AleoWallet object, 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.

Resources

Last modified on June 25, 2026