Wallets
Almanak Wallets are fully on-chain, non-custodial wallets secured by Safe and Zodiac. They allow Almanak users to always have full custody and control of their funds, while delegating only the permissions required to execute a strategy to their Agents.
Architecture
Almanak Wallets consist of four components:
- User Wallet
- Agent Externally Owned Account (EOA)
- Safe Wallet
- Zodiac Roles Modifier Module
We discuss each of these components in more detail.
User Wallet
The User Wallet is wallet fully owned by a user of the Almanak Platform. This wallet can be either an externally owned account (EOA) or an on-chain smart account (ERC-4337).
The User Wallet is responsible managing the Safe Wallet, as well as delegating and revoking permissions to the Agent EOA.
Agent EOA
The Agent externally owned account (EOA) is a wallet in control by the Almanak platform. The private key is securely stored and encrypted at rest, with no human being able to access this key at any point in time. The key is used to sign transactions that are being executed by an active strategy.
The Agent EOA is responsible for signing transactions that are part of an active strategy, as well as payment for the gas required for execution of these transactions.
Safe Wallet
The Safe Wallet is a smart account built on the Safe technology. It is a 1-out-of-1 multisig wallet where the User Wallet is the sole owner, giving users complete control over their funds. The Safe Wallet integrates with the Zodiac Roles Modifier Module to enable permissioned access for Almanak Agents while maintaining the non-custodial nature of the wallet.
Zodiac Roles Modifier Module
The Zodiac Roles Modifier Module acts as a permission layer between Almanak Agents and the Safe Wallet. It enables fine-grained access control through:
- Whitelisting of specific smart contract functions that Agents can call
- Parameter restrictions on whitelisted functions to limit the scope of permitted actions
- Flexible permission management allowing users to specify any deployed contract
Currently, users can create and manage permission sets using the Zodiac SDK locally. A visual permission management interface is under development to make this process more user-friendly.
Security
Security of user funds is paramount in the Almanak Platform architecture:
- Agent EOA private keys are encrypted at rest and can only be accessed by a dedicated signer service
- Key management utilizes enterprise-grade security infrastructure provided by Google
- No human access to Agent EOA private keys is possible at any point
In the unlikely event of a suspected Agent EOA compromise:
- Users will be notified immediately through official Almanak communication channels
- Users should promptly revoke any permissions granted to the compromised EOA
- A new Agent EOA will be generated with fresh permissions
Gas
Gas management in the Almanak Platform works as follows:
- Users are responsible for maintaining sufficient gas balance in the Agent EOA wallet
- Gas funds can be topped up through the Almanak UI
- Gas services are priced at a 1:1 ratio (1 ETH deposit = 1 ETH worth of gas)
- A 10% VAT is applied to gas service purchases
- Gas payments are made in the native token of the blockchain where the user's Wallet is deployed
For example, ETH for Ethereum mainnet, MATIC for Polygon, etc.
Current gas pricing model:
- Users pay for gas services in the native chain token
- All deposited funds (minus VAT) are available for gas usage
- This model may be adjusted in future updates to optimize gas efficiency
Future improvements:
- Almanak is developing a cross-chain gas management system that will allow users to maintain a single gas account for all their wallets across different blockchains
- This unified gas account will simplify the management of gas funds across multiple networks