The smart account
How a Botanary account is built - Kernel, ERC-7579, counterfactual deployment, and the freeze kill switch.
Every Botanary account is an ERC-7579 "Kernel" smart account. Understanding a few things about how it's built explains a lot of the platform's other behavior - why creating an account is free, why freezing is instant, and why you can hold more than one account under a single login.
Kernel, and one root validator
The account's root validator is an OwnableValidator: one owner, and as many co-signing device keys as the owner chooses to add, with a threshold that decides how many must agree. A brand-new, never-deployed account is treated as a dormant, implicit 1-of-1 - its only device is the owner's own signer - until the owner grows the device set. See Sessions and devices for how that works.
Counterfactual until the first signature
Registering an account doesn't deploy anything on-chain. Botanary computes the account's address (via CREATE2) and returns an unsigned deploy operation - the account only actually materializes on-chain the moment its first operation is signed and relayed. The server never deploys or signs for the owner.
Whether that first deploy costs gas depends on the chain: on a testnet, an undeployed account's first deploy is sponsored; on mainnet, it is not (there's no sponsored gas on mainnet). An already-deployed account has nothing left to sponsor.
A fresh account's on-chain rules start empty - allow-all, not bricked. You tighten them over time; see Rules for how.
More than one account
You can hold more than one account under a single login - each one is its own CREATE2-derived address (indexed 0, 1, 2, ...; index 0 is your first, "Main" account). Creating an additional account always mints the next index; asking for "your account" without specifying one always resolves to your lowest-index visible account.
Renaming or hiding an account is presentation-only - it's metadata, and never builds or signs a transaction. Hiding is reversible: a hidden account stays on-chain, stays bounded by its own rules, and any delegations on it stay revocable - it's just removed from your account picker. You can never hide your last visible account.
Freeze: the instant kill switch
Freezing an account is the fastest way to stop everything on it. It's owner-signed, gasless, and takes effect immediately. A frozen account can still send funds to a pre-configured safe-harbor address - the account's rules clear that one destination before checking the freeze at all, so freezing never traps your own recovery path.
There are two ways to trigger it: the default owner lane (however many devices your signing threshold requires), or an optional "panic" lane where any single device can freeze the account instantly, without waiting on the others. Unfreezing, by contrast, is owner-signed and sponsored, but is not treated as risk-reducing the way freezing is.
Chain capability tiers
Not every chain supports the same capabilities. Each chain your account can use is one of three tiers:
- Botanary-tier - the account's rules engine (AgentGuard) is available, so freezing, delegating, and setting rules all work.
- Basic-tier - sending and swapping work, but delegation is not available.
- Watch-tier - read-only.
A new account's home chain is never a basic-tier chain by default; Botanary prefers to place it on a watch- or Botanary-tier chain first. See Chains for the full picture.