> For the complete documentation index, see [llms.txt](https://docs.kinto.xyz/kinto-the-modular-exchange/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kinto.xyz/kinto-the-modular-exchange/building-on-kinto/rollup-features/kintowallet.md).

# KintoWallet

## What is it?

The Kinto Wallet is a **non-custodial smart contract wallet** compatible with the [<mark style="color:purple;">Base Account</mark>](https://github.com/eth-infinitism/account-abstraction/blob/develop/contracts/core/BaseAccount.sol) from [<mark style="color:purple;">EIP-4337</mark>](https://www.erc4337.io/).

**The wallet has been designed to maximize user security and ease of use**. Our invisible wallet can be used without any browser extensions and has many layers of security to protect user assets from everyday hacks, dusting, and phishing scams.

The following chart shows the essential role the wallet plays in our architecture.

<figure><img src="/files/QJcC2JCvfLvyLKPt5qnj" alt=""><figcaption><p>Kinto Wallet Chart</p></figcaption></figure>

## Features

Here are the key features:

* **The native wallet is the only whitelisted implementation**. That means that to send transactions in the network, they must be sent through the Kinto Wallet.
* Furthermore, the **wallet must have a KYC signer** possessing a valid Kinto ID.
* The **first signer of the account is always secured by Passkeys** and stored in Turnkey, a [<mark style="color:purple;">user-controlled organization</mark>](https://docs.turnkey.com/integration-guides/sub-organizations-as-wallets#sub-organizations-as-end-user-controlled-wallets). All transactions are signed within an enclave, and private keys are never exposed to Turnkey or Kinto.&#x20;
* The wallet **currently supports up to three signers** and different signer policies ranging from one to all signers required to send a transaction. The user can set up hardware wallets as secondary signers.
* There is also an additional [<mark style="color:purple;">**custodial recovery key**</mark>](https://docs.turnkey.com/integration-guides/sub-organizations-as-wallets#sub-organizations-as-custodial-wallets) **per user stored in Turnkey**. If the user loses control of his wallet, the user can trigger a week-long recovery process to reset the signers.
* The **wallet can only interact with applications whitelisted by the owner**. Token approvals need to be explicitly approved by the owner as well. These two can be bundled in the same batch for a frictionless user experience.
* The **wallet can only receive ETH funds from whitelisted funder addresses**.
* The **user can set up a specific app signer for an application** so the user can interact with that application safely without having to sign every transaction with all the signers.

### Smart Contracts

Head to the following smart contracts to dive deeper into the implementation details:

* [<mark style="color:purple;">KintoWalletFactory</mark>](/kinto-the-modular-exchange/building-on-kinto/smart-contract-reference/kintowalletfactory.md)<mark style="color:purple;">:</mark> The factory to create and manage Kinto Wallets. It also facilitates contract deployments.
* [<mark style="color:purple;">KintoWallet</mark>](/kinto-the-modular-exchange/building-on-kinto/smart-contract-reference/kinto-wallet.md)<mark style="color:purple;">:</mark>  The Kinto smart-contract wallet. The code contains the code that verifies the execution, recovery, and management of the wallet.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kinto.xyz/kinto-the-modular-exchange/building-on-kinto/rollup-features/kintowallet.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
