Skip to main content

What are Smart Accounts?

Smart accounts are smart contract wallets with gasless transactions, session keys, and programmable permissions. In Giza, every user gets a smart account — this is the deposit address for agent-managed funds. Unlike regular wallets (EOAs - Externally Owned Accounts), smart accounts:
  • Are smart contracts, not just private key pairs
  • Can execute logic and have programmable rules
  • Enable gasless transactions through paymasters
  • Support session keys for delegated permissions
  • Can batch multiple transactions together

Architecture

ZeroDev Integration

Giza smart accounts are powered by ZeroDev, an account abstraction infrastructure provider.
Follows the official Ethereum account abstraction standard for maximum compatibility and security.
Widely deployed across many applications and managing significant assets on-chain.
Agents can execute rebalancing without users paying gas for each transaction.
Time-bound delegated permissions that work well for autonomous agents.

Deterministic Addresses

Smart accounts are deterministic - the same origin wallet always generates the same smart account address. This means:
  • Safe to call giza.createAgent(eoa) multiple times
  • Users get the same address across sessions
  • No risk of losing funds to a “new” address

API Reference

See createAgent() for implementation details

Smart Account Lifecycle

States

  1. Created: Smart account exists on-chain but empty
  2. Funded: User has deposited tokens
  3. Active: Agent has session key permissions, actively managing
  4. Deactivated: Permissions revoked, agent no longer managing

Backend Wallet

The backendWallet is a Giza-controlled wallet that:
  • Holds session keys to execute transactions
  • Acts on behalf of the smart account (with limited permissions)
  • Pays gas fees for agent operations
  • Is revocable at any time by the user
The backend wallet never controls user funds directly. It only has permission to call specific functions on specific contracts.

Session Keys & Permissions

When an agent is activated, the smart account grants session keys to the backend wallet with specific permissions:

Permission Structure

Permission TypeDescription
Approved TargetsSpecific protocol contracts (Aave, Compound, etc.)
Approved Functionssupply, withdraw, transfer
Time LimitsStart and end timestamps
Transaction LimitsMax amounts per transaction

Security Guarantees

Session keys can ONLY:
  • Call approved protocol contracts
  • Execute approved functions (deposit, withdraw, swap)
  • Within approved time windows
  • Up to specified limits
Session keys automatically expire. Agents must request renewal, giving users a regular checkpoint to review and revoke if desired.
Users can deactivate agents at any time, immediately revoking all session key permissions.
Users always retain ultimate control via their origin wallet. Giza never has custody of funds.

Gas Management

Smart accounts give users gasless transactions: How it works:
  1. Agent determines optimal rebalancing is needed
  2. Backend wallet crafts and signs the transaction
  3. Giza’s paymaster sponsors the gas fee
  4. Smart account executes the transaction
  5. User pays nothing for the rebalancing operation
Gas costs are:
  • Covered by Giza during active management
  • Factored into the performance fee structure
  • Optimized through transaction batching

Troubleshooting

Check:
  • Origin wallet is a valid Ethereum address (0x + 40 hex chars)
  • Chain is supported
  • API credentials are correct
Make sure:
  • You’re using the same EOA as when it was created
  • You’re querying the correct chain
  • The smart account was actually created (check blockchain explorer)
Verify:
  • Transaction was sent to correct smartAccountAddress
  • Transaction confirmed on-chain (check explorer)
  • You’re checking the right chain
  • Agent was activated after deposit

Next Steps