# Smart Contract Wallets

Smart Contract Wallets (SCWs) are the next generation of wallets on Ethereum and other EVM chains. Traditional wallets (Externally Owned Accounts, or EOAs) are just a private key + address pair. By contrast, SCWs are programmable contracts that can hold funds, define custom rules, and execute logic around transactions. For goodcryptoX, this technology is what finally made non-custodial DEX trading possible.

***

### Quick recap: EOAs vs Smart Contract Wallets

* EOA (Externally Owned Account): a standard Ethereum wallet (MetaMask, etc.). Controlled directly by a private key. Only EOAs can sign transactions.
* SCW (Smart Contract Wallet): a contract deployed on-chain. Unlike an EOA, it’s programmable — meaning it can verify and execute actions authorized by an EOA or [session keys](/wallets/built-in-wallet/smart-contract-wallets/session-keys.md). This programmability is what enables advanced features such as [transaction batching](/wallets/built-in-wallet/smart-contract-wallets/transaction-batching.md), gas payments in [tokens other than ETH](/wallets/built-in-wallet/smart-contract-wallets/gas-in-any-token.md), and flexible authorization schemes.

In goodcryptoX, when you set up an EVM wallet, you get both:

* an EOA (signer)
* a paired Smart Contract Wallet (funds live here)

***

### Why they matter

Smart Contract Wallets became practical after adoption of ERC-4337 account abstraction in early 2023. This standard introduced:

* EntryPoint contracts: the gateway for SCW transactions
* Bundlers: nodes that collect SCW transactions and submit them on-chain

Together, they unlocked the ability to build a fully non-custodial trading experience — something we were waiting for before rolling out DEX functionality.

***

### What they enable in goodcryptoX

Here’s what SCWs unlock for you inside goodcryptoX:

* Non-custodial trading

  The core benefit: you keep control of your funds. [Session keys](/wallets/built-in-wallet/smart-contract-wallets/session-keys.md) allow you to authorize trading without exposing your private key.
* [Session keys](/wallets/built-in-wallet/smart-contract-wallets/session-keys.md)

  Limited-permission, on-chain verifiable keys that make non-custodial trading smooth and safe.
* [Transaction batching](/wallets/built-in-wallet/smart-contract-wallets/transaction-batching.md)

  Multiple actions packed into one transaction. Example: approvals + swap combined into a single click. Saves time and gas, since multiple steps are executed in a single transaction.
* Paymasters and [gas abstraction](/wallets/built-in-wallet/smart-contract-wallets/gas-in-any-token.md)

  Lets you pay gas in tokens other than ETH — a critical step for usability.
* [MEV protection](/dex-trading-spot/orders-mechanics/mev-protection.md)

  SCW transactions are submitted via a private pool, giving them native resistance against front-running and sandwich attacks.
* Future flexibility

  From [grouped withdrawals](/dex-trading-spot/upcoming-functionality/batch-transfers.md) to more advanced [trade batching](/dex-trading-spot/upcoming-functionality/batch-orders.md), SCWs open the door to features we couldn’t deliver with EOAs alone.

***

### Trade-offs

SCWs do have some drawbacks:

* SCWs consume slightly more gas per transaction — noticeable on Ethereum mainnet, but almost negligible on L2s.
* New infrastructure: EntryPoints and bundlers are still maturing, which adds complexity.

But the benefits far outweigh the costs, especially as the ecosystem standardizes.

***

### Where things are going

The direction of travel is clear:

* EVM chains
  * Step 1: ERC-4337 introduced separate SCWs.
  * Step 2: EIP-7702 allows EOAs to double as SCWs.
  * [Endgame](https://vitalik.eth.limo/general/2021/12/06/endgame.html?utm_source=chatgpt.com): *every wallet becomes a Smart Contract Wallet by default*.
* Solana

  On Solana, wallets already rely on program logic under the hood. However, session key infrastructure and gas abstraction are not yet developed enough to enable the same non-custodial trading flow we support on EVMs. We expect Solana’s wallet infrastructure to evolve along similar lines in the near future.


---

# Agent Instructions: 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:

```
GET https://docs.goodcrypto.app/wallets/built-in-wallet/smart-contract-wallets.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
