Argent
  • Build with Argent
  • Argent Wallets
    • Argent X
      • Adding Custom RPCs
      • Network Switcher for Dapps
      • Verify signature of undeployed account
      • WalletAccount
    • Argent Mobile
      • Argent Mobile for your web app
      • Argent Mobile for your react native app
    • Web Wallet
      • Set up guide
      • Web Wallet UX
      • API reference
      • Key Management
    • Argent Multisig
      • How multisig works
      • Create a multisig
        • With Argent signer
        • With Ledger signer
      • Join a multisig
        • With Argent signer
        • With Ledger signer
      • Replace a multisig signer
      • Airgap
    • Telegram wallet (DEPRECATED)
  • TOOLS
    • 🎨STARKNETKIT
    • ✨Invisible SDK
      • Implementation
      • Other useful endpoints
      • Types and interfaces
      • Gas abstraction
  • Example Dapps
    • StarknetKit + Session keys Demo dapp
  • AA Use Cases
    • Session Keys
      • Implement session keys
      • Session keys with outside execution
      • Demo App
      • FAQ
      • Types
    • Paymasters
    • Verifying signatures and cosigners
      • Identifying a smart account onchain
    • Multicalls
    • Outside Execution
    • Deploy accounts on behalf of users
  • Optimize your Dapp
    • Dappland
    • Known dapps
    • Transaction reviews
    • Brand your token
  • Other Products
    • Argent Card
    • Spoks
    • Perkz
    • Argent Vault on Ethereum L1
  • SUPPORT & RESSOURCES
    • Contracts and audits
    • Get in touch
Powered by GitBook
On this page

Was this helpful?

  1. AA Use Cases

Session Keys

PreviousGas abstractionNextImplement session keys

Last updated 2 months ago

Was this helpful?

Session keys require that you whitelist specific contracts and calls with Argent on mainnet. Please reach out to ecosystem@argent.xyz On Sepolia testnet, there is no whitelist

To use session keys, make sure your Argent account has co-signers enabled (cfr. the bottom of this page)

What are session keys ?

Solving UX issues in the crypto space have always been the main focus of Argent. With session keys, a user can perform several actions in a dapp without having to manually sign each transactions. In fact, the user authorizes the app the act on his behalf for a limited period of time and within certain constraints (only a few function calls for instance).

Use cases

A great use case is gaming. Session keys enhance the user experience of games by allowing uninterrupted gameplay. Users can authorize dapps to sign required transactions on their behalf, creating a more immersive gaming experience. To experience session keys firsthand, play Influence.

We could also imagine new payment possibilities. Dapps could implement new payment models such as recurring payments, dollar-cost-averaging, subscriptions and more.

The DeFi space could also benefit from Session keys. Apps such as DEXs can achieve the ease and smoothness of CEXs without their many drawbacks. Potential uses include:

  • Automatic claim of DeFi rewards

  • Automatic rebalancing of liquidity pools

  • User safety protections in lending applications, such as the automatic closing of positions approaching liquidation

πŸ’‘ You can see sessions in action by with web wallet. Session keys are also powering the Argent card and the Argent Telegram wallet.

Security considerations

Sessions maintain security through multiple features:

  1. User-defined permissions specify exactly what actions are allowed

  2. Time-bounded sessions automatically expire

  3. On-chain revocation is always possible and so independently from the Argent backend

  4. Argent's backend co-signs each transaction

  5. Sessions become inactive if backend verification is unavailable

Under the hood

Initializing a session.

Use a session

The Dapp generates a public/private key pair on its side. With this key pair, the dapp can cosign transactions with Argent Backend on behalf of the user. Of course, the dapp can only send transactions that the user specifically allowed. No surprises are possible!


The table below shows which accounts are compatible with session keys:

Argent X standard account
Argent X smart account
Web wallet
Argent Mobile

Testnet

βœ–οΈ

βœ…

βœ… (contact us)

βœ–οΈ

Mainnet

βœ–οΈ

βœ…

βœ…

βœ…

To use session keys, users’ accounts must have enabled . This is the case for Argent X Smart Accounts, Argent Mobile and Web Wallet.

Argent as a co-signer
playing Influence
Session key on Influence