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
Five steps, one file. This is the whole surface you need to ship.
Guardrails reference
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
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
Fresh address
per payment
Zero
address reuse
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.
- 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() - 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 }) - 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 - 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
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
- Wallet live on Chrome
- SDK private betaNow
- Public release
- Open-source core
FAQ
Early access
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.