# Session Keys

Coinrule has partnered with Safe to automate the creation of a Smart Account for users, that is initialized when you connect your DeFi wallet (aka signer wallet) to Coinrule on the Exchange page. Signer rights are immediately assigned to the connected wallet and it remains the **sole** **signer** for the smart account.&#x20;

As the sole signer, only you have **full control over the smart account as well as full custody of the funds, only you can withdraw funds**. Signers can also propose, sign and execute transactions, as well as reject them.&#x20;

Coinrule uses session keys to execute trades, while ensuring that no transfer or withdrawal permissions are necessary (or granted). Coinrule **does not have custody of funds** in your smart account. Coinrule is **not able to transfer or withdraw** any funds in your smart account.

### Understanding Session Keys&#x20;

Session keys are not a new concept. Session keys are cryptographic tools that enable secure, controlled, and temporary access to specific functionalities within a smart account.

They allow users to delegate granular permissions, such as executing specific rules or automations, without compromising account security. Session keys enable programmable permissions, allowing Coinrule to automate and streamline on-chain interactions, such as executing rules or triggering conditions, without constant user intervention.

Coinrule utilizes session keys to streamline user interactions, enabling automated DeFi strategies and events triggered offchain (via Coinrule's interface), while ensuring the user always maintains custody of funds.

Programmable permissions are made possible by session keys, a form of a validator module. Session keys are **scoped** (i.e., restricted to certain on-chain actions) and **ephemeral** (only valid for a pre-determined period) and authorized by the user.&#x20;

### **Benefits of Session Keys**

Session keys unlock an array of compelling user experiences and products. They bring about a large array of asynchronous signing and automations on the user’s behalf, unlocking new onchain integrations that previously could only be delivered by centralized exchanges.

For example, they allow Coinrule to remove pesky transaction popups from the wallet, removing the need for you to continually switch contexts between the app and the wallet during a session.

### **How Session Keys are used to execute your Rule**

Many DeFi automations, such as auto rebalancing, TWAPs, stop loss, take profit, DCA, etc .. require a session key, in some cases an executor module, and an offchain relay service that can monitor pre-defined events and fire a trigger when certain conditions are met.

For this reason, we utilize [Rhinestone](http://rhinestone.wtf/) Automations, an offchain service that monitors events (e.g., time or onchain events) and triggers executions under the pre-determined conditions of your rule.&#x20;

Session keys allow you to authorize these automations without giving up custody of your account or custody funds in a purpose-built contract separate from the smart account.
