what are solana smart wallets
/Development

What are Solana Smart Wallets? Comparison & Implementation Guide

8 min read

Embedded smart wallets (also known as Account Abstraction wallets) are now available to developers on Solana. This means that apps can offer users simpler onboarding and user experience.

At the same time, developers benefit from better flexibility, security, and compliance — ultimately leading us to safer and more user-friendly onchain experiences. 

BIG: Solana Smart Wallets have arrived. This isn't your typical embedded wallet — think fully programmable with zero gas fees and no seed phrases, built for scale. Meet millions of users where they are. h/t to Crossmint, Squads, and Helius for shipping.

Crossmint
Crossmint
@crossmint

Solana Smart Wallets are here. The next-generation of programmable, gasless wallets, built for mass adoption. Deploy in 10 lines of code and scale to millions of users. Why they change everything 👇

Image
1.6K
Reply

Unlike non-executable accounts (data accounts) and traditional embedded wallets, smart wallets are programmable, which unlocks a whole new generation of features: gas sponsorship, having multiple signers per wallet, spend limits, etc.

In this article, you will learn the key differences between embedded smart wallets on Solana and other wallet solutions.

You’ll also understand how smart wallets work on Solana, and how to implement embedded smart wallets into your application.

What is a smart wallet?

Smart wallets are executable program accounts which contain executable code. Unlike traditional wallets which are simple keypairs controlled by a single private key, smart wallets on Solana are implemented as programs, with special logic and features.  

What are the benefits of smart wallets?

Smart wallets eliminate the need for seed phrases and their associated risk of loss. Instead, they allow users to designate one or more "signers" or keys to control the wallet.

This flexibility enables more user-friendly key management options like biometrics (e.g., Face ID, Touch ID, or passkeys), as well as advanced security schemes (e.g., multisig) or enterprise-level controls (e.g., a server-side admin key).

Smart wallets make feeless transactions possible by enabling developers to sponsor fees with SOL or other SPL tokens like USDC and easily abstract them away from the end user — leading to a more familiar web2-like user experience.  

This means you can build apps without transaction approval prompts, without seed or private keys to lose, and with programmable security enforced by programs (smart contracts).

Embedded Smart Wallets vs. Embedded Wallets vs. Non-Executable Accounts

Embedded Smart Wallets

Embedded Wallets

Non-Executable

Implementation

Smart contract with custom logic

Non-smart contract account embedded in app

Standalone application or browser extension

Account Control

Flexible - users can designate one or multiple signers (ranging from EOAs like Phantom to passkeys and social login wallets) with optional programmatic rules

Keypair guarded by social log-in (usually in TEE or MPC cluster) 

Controlled directly by user-owned keypair

Custody Model

Flexible. They can be set to be self-custodial by the user, custodial by the developer, and even hybrid, with both modes in one 

Typically non-custodial - but some recovery methods can convert them into becoming custodial

Self-custody by the end user

Key Management

Multiple authorization methods (MPC, social recovery, etc.)

Typically managed by the application

User-managed seed phrase/private key

Transaction Authorization

Custom verification logic (multisig, time-locks, limits)

Application signs with embedded private key

User explicitly approves each transaction

Fee Payment

Supports fee abstraction and sponsorship, allowing payments in other SPL tokens like USDC or USDT

User pays all transaction fees. Requires onramp on every app

User pays all transaction fees

Security Model

Security enforced in open-source smart contract code, with optional programmable constraints

Security dependent on closed source code by the embedded wallet provider

Security dependent on client-side, closed source code

Recovery Options

Programmable recovery (social, guardian keys)

Application-provided recovery methods

Seed phrase-based recovery only

Spending Controls

Programmable spending limits, approval workflows

Some embedded wallets support server-side transaction policies (caution - if improperly implemented, it can create a custodial architecture) 

None

Regulatory Considerations

Flexible - custody can be programmed and allows to adapt wallets to evolving regulatory changes 

Consult with specific wallet provider

Lower scrutiny - user-controlled

Enterprise Features

Role-based access control, approval workflows

Some embedded wallets have limited server-side controls

None

Vendor lock-in

Low. Smart wallets are based on open source programs. It is possible to migrate users from an infrastructure provider without changing their address.

High. The only way to leave embedded wallets is to have each user do a private key recovery - which can be insecure and may require users to perform manual steps

Low. User dependent

Typical Smart Wallet Use Cases

Solana Smart Wallets are useful when you require flexible custodial architectures, such as:

  • Company treasury wallets managed by multiple employees
  • AI agent wallets in agentic finance use cases, where the agent owner needs a key, and the agent itself needs another one
  • Neobanks and financial apps where the user is self-custodial but opts to allow the bank to pull funds (e.g. recurring payments)

A key characteristic of delegated signers is that they can be scoped to limit their permissions over the wallet, such as with spend or asset class restrictions.

How do smart wallets work specifically on Solana?

Smart wallets on Solana operate through a combination of onchain programs and offchain infrastructure with some unique Solana-specific characteristics:

Program-based Architecture

Unlike non-executable accounts (data accounts), Solana smart wallets (or executable program accounts) are typically implemented as on-chain programs that control one or more accounts (PDAs).

Transaction Authorization

Instead of a single private key, smart wallets use custom auth logic:

  • Multiple signers can be required (multisig functionality)
  • Various auth methods can be supported (keys, biometrics, social)
  • Time locks and spending limits can be enforced programmatically

Account Delegation

Users can delegate specific permissions to different addresses, allowing for more granular control over what each key/device can do.

Work with Versioned Transactions

Smart wallets use Solana's standard versioned transaction format.

What is account abstraction?

Account Abstraction (AA) enables developers to create customizable smart contract accounts that go beyond Non-Executable Accounts tied to a single keypair, allowing for more flexible user experiences.

AA allows for custom validation logic, meaning accounts can implement security features such as social recovery, multisig requirements, or spending limits without relying on the blockchain's default rules. 

The primary goal of AA is to make blockchain technology invisible to users by removing technical barriers (like transaction fees and seed phrases) while maintaining self-custody benefits.

How do feeless transactions work on Solana?

The key advantage of smart wallets for feeless transactions is that the abstraction happens at the account level rather than requiring dApp-specific implementations, creating a more seamless experience where users may not even realize transaction fees exist.

This means developers can implement:

Built-in Fee Abstraction

Smart wallets can incorporate fee sponsorship directly into their architecture. The wallet contract itself can define rules about who pays for fees and under what circumstances.

Flexible Fee Currency

If you don’t wish to sponsor a user’s transaction fees, they can pay with SOL or tokens such as USDC or USDT.

Approval Mechanisms

Smart wallets can implement custom verification logic to determine when sponsored transactions are allowed, such as rate limiting or restricting to specific apps.

How to Add Solana Smart Wallets to your App with Crossmint

There are many ways to integrate Smart Wallets into your app: client side, server side, or with dual key architectures for AI agents.

In the tutorial below, you will learn how to deploy your first smart wallet server-side.

Prerequisites

First, create a developer account in the Crossmint Staging Console

Then, navigate to project Settings > General and change the wallet type to “Smart Wallets”.

You can get an API Key by going to Integrate > API Keys and selecting “Create new key” in the “Server-side keys” section.

Under the Wallets API category, select the following scopes:

  • wallets.create
  • wallets.read
  • wallets:signatures.create
  • wallets:transactions.create
  • wallets:transactions.read
  • wallets:transactions.sign

Click “Create server key” to save the key for the next step.

Create Your First Smart Wallet

Create a file (e.g., createWallet.ts) and enter this code:

Code
const apiKey = "YOUR_API_KEY";
const walletType = "solana-smart-wallet"; 
const adminSigner = {
    // In production, you may want to use an MPC solution, like 
    // crossmint-managed MPC keys
    type: "solana-keypair",
};

async function createWallet() {
    const response = await fetch("https://staging.crossmint.com/api/2022-06-09/wallets", {
        method: "POST",
        headers: {
            "X-API-KEY": apiKey,
            "Content-Type": "application/json",
        },
        body: JSON.stringify({
            type: walletType,
            config: {
                adminSigner,
            },
        }),
    });

    return await response.json();
}

createWallet()
    .then((json) => console.log(json))
    .catch((err) => console.error(`error: ${err}`));

Before running it, fill in YOUR_API_KEY with the key obtained in the previous step.

Now, run the script:

Code
npx tsx createWallet.ts

The API will return a response with your new wallet details.

Save the wallet address, as you’ll use it in the next step.

Interact with Your Wallet

Now that we have wallets set up on your server, let’s interact with them.

Start by visiting Crossmint Testnet USDXM Faucet and paste your wallet address from the step above to receive test USDXM on Solana.

Now that you have some tokens, let’s check the wallet’s balance (checkBalance.ts):

Code
const apiKey = "YOUR_API_KEY";
const walletAddress = "YOUR_WALLET_ADDRESS"; // From previous step
const tokens = ["sol", "usdc", "usdxm"]; // Tokens to fetch balances for
const chains = ["solana"]; // Chains to query balances from

async function getWalletBalance() {
    const url = new URL(`https://staging.crossmint.com/api/v1-alpha2/wallets/${walletAddress}/balances`);
    url.search = new URLSearchParams({
        tokens: tokens.join(','),
        chains: chains.join(',')
    }).toString();

    const response = await fetch(url, {
        method: "GET",
        headers: {
            "X-API-KEY": apiKey,
            "Content-Type": "application/json",
        },
    });

    return await response.json();
}

getWalletBalance()
    .then((json) => console.log(json))
    .catch((err) => console.error(`error: ${err}`));

Congratulations, you now have smart wallets deployed on your server!

You can explore the documentation from here to learn how to make your first transaction, add delegated signers, and more.

Conclusion

Smart Wallets will usher in a new generation of apps built on Solana that improve onboarding, user experience, security, and compliance.

At Crossmint, we’re excited to power a wide array of use cases from IP to loyalty programs to AI agents with our simple API and no-code tools for wallets, payments, and tokenization that can scale reliably to millions of users, and now, powering fintechs and AI agent apps with the launch of Solana Embedded Smart Wallets.

If you want to learn more about how Solana Smart Wallets can be implemented within your project, contact us, and we’ll be happy to help.

Additional Resources

Related Articles

Subscribe to Helius

Stay up-to-date with the latest in Solana development and receive updates when we post