Smart Accounts

Your wallet on Pragma is a smart account - a smart contract that holds your assets and enables advanced features.

What is a Smart Account?

Unlike traditional wallets (EOAs - Externally Owned Accounts), smart accounts are:

  • Programmable: Logic is defined in code, not hardware

  • Flexible: Can implement custom access control

  • Upgradeable: Features can be added over time

  • Recoverable: Can implement social recovery (future)

Your HybridDelegator

Pragma uses a smart account called HybridDelegator, built on the MetaMask Delegation Toolkit (DTK).

Key Features

Feature
Description

ERC-4337

Account abstraction standard

Delegation

Grant time-limited permissions

Multi-call

Batch multiple actions

Gas Sponsorship

Transactions can be paid by others

Account Structure

Owner vs Smart Account

Owner Account (Web3Auth)

  • Created when you sign in with Google/email

  • Signs delegations and permissions

  • Never directly sends transactions

  • Address is hidden from normal view

Smart Account (HybridDelegator)

  • Your public wallet address

  • Receives and holds all your assets

  • Executes transactions via delegations

  • Address shown in sidebar

Why Smart Accounts?

1. Gasless Experience

Your session key can pay gas while executing on your smart account's behalf.

2. Better Security

  • No private key exposure for every transaction

  • Time-limited permissions reduce risk (5-minute expiry)

  • Each delegation is scoped to specific operations

3. Flexibility

  • Batch multiple operations

  • Complex access control rules

  • Future: social recovery, spending limits

4. Better UX

  • Sign once, execute many

  • No per-transaction approvals

  • Cleaner interaction flow

Finding Your Address

In the Sidebar

Your smart account address is shown at the top of the sidebar after connecting.

Via Chat

Shows your full smart account address.

Account Info

Shows:

  • Smart account address

  • Owner address

  • Session key address

  • Network info

Receiving Funds

Send tokens to your smart account address (not the owner address):

  1. Copy address from sidebar

  2. Send from exchange/other wallet

  3. Wait for confirmation

  4. Balance updates automatically

How Transactions Work

  1. You request an action ("Swap 50 MON to USDC")

  2. Pragma creates a delegation (permission for session key)

  3. You sign the delegation (with your owner key)

  4. Session key executes (submits transaction on-chain)

  5. Smart account executes (performs the swap)

  6. Result delivered (you receive USDC)

Technical Details

Address Generation

Your smart account address is deterministically generated from:

  • Your owner address

  • A salt (unique per user)

  • The HybridDelegator implementation

Deployment

  • Deployed on first use (counterfactual deployment)

  • No gas needed for deployment (CREATE2)

  • Same address on all supported networks

Contract Address

Your HybridDelegator is deployed to a unique address based on your owner key.

Delegation Manager

  • Address: 0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3

  • Manages all delegations and permissions

  • Part of the DTK infrastructure

Security Considerations

Your Owner Key

  • Generated by Web3Auth from your login

  • Tied to your Google/email account

  • Never leaves your browser

  • Controls all smart account permissions

Recovery

  • Currently tied to Web3Auth login

  • Same Google/email = same owner key = same smart account

  • Future: social recovery options

Best Practices

  1. Use a secure Google/email/social account

  2. Enable 2FA on your login provider

  3. Don't share your session key information

  4. Disconnect if you notice suspicious activity

Last updated