Introduction to Aleo
Aleo is a layer-1 blockchain built for private, programmable applications. In Aleo, the same address can hold two kinds of balances:
Public funds. Account-based, visible on-chain, like balances on other account-based chains.
Private funds. Held as encrypted private records. Only the wallet's view key can read these records or compute the private balance.
Privacy is the core purpose of Aleo, so shielded balances are the default in Utila.
To reflect this, Utila displays the public and private balances of each asset as two separate tokens. The private token keeps the asset's name (e.g., USDCx), while the public one is prefixed (e.g., USDCx Public).
Enable Aleo on an existing vault
Aleo uses a BLS key, the cryptographic key from which wallet addresses are created and with which transactions are signed. The wallet's view key, which is used to read private records, is also derived from it.
Vaults created before Aleo support was enabled, need to generate and propagate this key.
The first Admin generates the BLS key from the Utila mobile app. Open the mobile app and select a vault where you are the first administrator. At the top of the you should see that a new key is available.
Tap Generate BLS key. if successful, you'll see a green confirmation message . You can also see that the key is active in the Key Shares Management screen (Settings > Vault Settings > Key Shares Management).
After the BSL key is active:
Admin uploads encrypted key shares for all vault devices. The shares are encrypted using the respective device certificates, which have been approved and signed in the device pairing process
Each device needs to download its share. After download, the device automatically undergoes key refresh.
Once the BLS key is provisioned, you can create Aleo wallets or add Aleo addresses to existing wallets, just like any other network.
To ensure performance of private record scanning, vaults are limited to 100 unarchived Aleo wallets by default.
Working with tokens on Aleo
Privacy modes
Utila supports transfers within the same privacy mode:
private > private and public > public.
To move funds across privacy modes, for example, to send privately held funds to an exchange, first shield or unshield them within your wallet. Since all Aleo transactions in Utila are fee-sponsored, these extra steps cost nothing.
Shield public funds
Shielding converts a public balance into private records, so it can be sent privately.
Open the wallet and hover over the public token (such as Public USDC).
Click Shield and enter the amount. Click Create transaction.
Review and sign the transaction on the mobile app.
Shield transactions are auto-approved and do not count against transfer policy quotas.
Consolidate private funds (records)
Private funds are stored as individual records, and a single private transfer can use at most 14 records as inputs. This means your maximum transferable amount in one transfer may be lower than your total private balance.
Utila shows both the total balance and the currently transferable amount. When they differ, you see an indication that consolidation is needed.
Open the wallet and hover over the private token.
Click Consolidate.
Sign the transaction from the mobile app. Repeat if the wallet holds many records.
Consolidation is available whenever a wallet holds more than one record, and is required when the transferable amount is less than your total balance. Consolidation does not count against policy transfer quotas.
A consolidation transaction is not tied to specific records. The records are selected when the transaction is prepared for signing.
Send tokens
Use transfers when the recipient is an exchange or otherwise requires a public transaction. To perform a public transfer, create a transfer as usual and select the public token as the asset.
Private transfers are the default on Aleo.
Create a transfer and select the private token OR hover over the private fund in the wallet and click Transfer.
Utila automatically selects the required records (up to 14) to cover the amount. If the amount exceeds the transferable balance, consolidate records first.
Review, approve, and sign. Transfer details include source, destination, privacy status, amount, and transaction hash.
For incoming private deposits, the source address is shown as unknown. This is inherent to private transactions on Aleo.
Unshield private funds to deposit to an exchange
Never send private funds directly to an exchange. The exchange might not be able to access them. Instead, unshield them before sending.
Open the wallet and hover over the private token.
Click Unshield and enter the amount. Click Create transaction. If the amount exceeds the transferable balance, consolidate first.
Sign the transaction. The funds move to your public balance (e.g. Public USDC).
Create a public transfer to the exchange's deposit address.
More information
Fee sponsorship. All Aleo transactions in Utila, transfers, shield, unshield, and consolidation, are sponsored.
Policies and address book. Aleo addresses can be added to the address book and included in your policies and address book groups, and you can define distinct policy rules for private and public funds. Shield and consolidate transactions do not count against transfer quotas.
Backup and recovery. Aleo wallets are covered by Utila's standard disaster recovery process, which also lets you reconstruct the wallet's view key.








