Private beta
SOLAI SDK

A non-custodial DeFi SDK on Solana that lets you create AI agents to handle swaps and payments on your users' behalf. Agents don't get unlimited access — users set guardrails like spending limits, token and protocol allowlists, so an agent can only do what its user allows. Umbra-based stealth addresses keep payments private, so nobody has to expose their main wallet.

Quickstart

From install to bounded agent

Five steps, one file. This is the whole surface you need to ship.

terminal
npm i @solai/sdk
agent.ts
import { Solai } from "@solai/sdk";
const solai = new Solai({ wallet, cluster: "mainnet-beta" });
// The user signs this policy. It is the agent's entire authority.
const agent = await solai.agents.create({
name: "treasury-bot",
policy: {
dailyLimit: "500 USDC", perTxLimit: "100 USDC",
tokens: ["SOL", "USDC", "JUP"],
protocols: ["jupiter", "kamino"],
revocable: true,
},
});
// Swap — the route is found for you, the policy is checked first.
await agent.swap({ from: "USDC", to: "SOL", amount: 50 });
// Pay privately — a fresh stealth address, every time.
await agent.pay({
to: "alice.sol", amount: 12, token: "USDC",
stealth: true,
});

Guardrails reference

The policy is theagent's entire authority

Everything an agent may do is declared here, signed by the user, and enforced before a transaction is built.

dailyLimitstringTotal value the agent may move in a rolling 24 hours.
perTxLimitstringCeiling on any single transaction the agent builds.
tokensstring[]Mints the agent may hold, send, or swap. Everything else is refused.
protocolsstring[]Venues the agent may route through — Jupiter, Kamino, your own program.
expiresAtDateHard expiry. After this the policy stops authorising anything.
revocablebooleanWhether the user can tear the agent's authority down instantly.

Preview of the planned API — surface may change before public release.

Privacy

Paid in public.Private on-chain.

Umbra-based stealth addresses derive a fresh, unlinkable address for every payment your agent sends.

Sender

Agent initiates a payment

Stealth address

Fresh, unlinkable, single use

Recipient scans

Auto-discovers and sweeps

never linked on-chain
Recipient's main wallet

Fresh address

per payment

Zero

address reuse

Umbra

Stealth addresses, by Umbra

SOLAI's private payments are built on Umbra — the stealth-address scheme that lets one published meta-address receive an unlimited number of unlinkable payments.

  1. 01

    Publish a meta-address

    The recipient generates one shareable meta-address, once. It is safe to post publicly — it reveals nothing about their balances or history.

    solai.stealth.createMetaAddress()
  2. 02

    Derive a one-time address

    The sender derives a unique address from that meta-address via X25519 ECDH. Only the recipient can compute the matching private key.

    agent.pay({ stealth: true })
  3. 03

    Send

    Funds land at the freshly derived address. Nothing on-chain links it back to the recipient's main wallet or to any earlier payment.

    // settles on Solana
  4. 04

    Scan and sweep

    The recipient scans for incoming stealth payments and sweeps them to their main wallet whenever they choose — or leaves them where they are.

    solai.stealth.scan()

One meta-address in, unlimited unlinkable addresses out — the recipient's main wallet never appears on-chain.

Capabilities

What an agent can do

Swaps

Best-rate routing across Solana DEXs.

Payments

One-off transfers to wallets or handles.

Recurring

Scheduled transfers on any cadence.

Conditional orders

Execute when a price condition hits.

Umbra stealth addresses

Umbra-derived one-time addresses, fresh every payment.

x402 micropayments

Machine-scale payments over HTTP.

Roadmap

Shipped, shipping, next
  1. Wallet live on Chrome
  2. SDK private betaNow
  3. Public release
  4. Open-source core

FAQ

Questions worth asking

Early access

Build the firstagent that behaves.

SDK early access opens soon. Get the docs, the private npm tag, and a direct line to the team.

No spam. Unsubscribe at any time.