Een session key is een tijdelijke sleutel die een smart account accepteert voor een beperkte set acties. De gebruiker keurt één keer goed, bijvoorbeeld "deze game mag de komende twee uur zetten doen" of "deze bot mag per dag tot 500 USDC swappen op deze exchange", en daarna kan de applicatie die acties zelf ondertekenen, zonder telkens een wallet-pop-up. De limieten worden on-chain door het contract van het account afgedwongen, dus een uitgelekte session key kan alleen doen wat was toegestaan.
Waartoe een session key beperkt kan worden
- Tijd: geldig vanaf en tot een vast moment.
- Contracts en functies: alleen specifieke contracts, en alleen bepaalde functies daarop.
- Bedragen: maximale waarde per transactie, per dag of in totaal.
- Parameters: bijvoorbeeld alleen swaps waarbij de ontvanger het account zelf is.
- Aantal keer gebruik, en de mogelijkheid om de sleutel op elk moment in te trekken.
Waar session keys worden gebruikt
- Games: acties in het spel zonder elke zet te bevestigen.
- Trading- en DeFi-automatisering: bots en keepers die posities mogen herbalanceren of beschermen, maar nooit geld mogen opnemen. Zie DeFi positiebeheer.
- Abonnementen en terugkerende betalingen binnen een afgesproken limiet.
- Sociale en consumentenapps waar veel kleine acties direct moeten aanvoelen.
Hoe wij ze implementeren
Session keys worden als validator- of rechtenmodule op de smart account geïnstalleerd, via standaarden zoals ERC-7579 of ERC-6900, of via de ingebouwde ondersteuning van het account dat u gebruikt. Aan de clientkant wordt de session key zo aangemaakt en opgeslagen dat hij niet te exporteren is, bijvoorbeeld als niet-extraheerbare browsersleutel. Gecombineerd met een paymaster zijn acties zowel zonder pop-up als gasloos. De rechten worden bij het verlenen in gewone taal aan de gebruiker getoond, via EIP-712.
Veelgestelde vragen
Wat gebeurt er als een session key wordt gestolen?
De aanvaller kan alleen doen wat de sleutel toestaat, binnen de tijds- en bedraglimieten, en de gebruiker of applicatie kan hem direct intrekken.
Hebben session keys ERC-4337 nodig?
Ze hebben een smart account nodig. De meeste draaien op ERC-4337-accounts; met EIP-7702 kunnen ook gewone adressen ze gebruiken.
Moeten gebruikers session keys begrijpen?
Nee. Ze zien een duidelijk verzoek zoals "sta deze app toe X te doen tot Y", en keuren dat één keer goed.
Wie is eigenaar van de code?
Het eigendom van de broncode wordt in het contract vastgelegd, en de code kan volledig van u zijn, inclusief documentatie en tests.
Onderdeel van ons werk aan account abstractie. Zie ook gasloze transacties.
Weg met de pop-ups
Vertel ons welke acties uw gebruikers het vaakst herhalen. Wij ontwerpen sessierechten die ze direct maken en veilig houden.