How Solomai Works

A complete guide to creating automated trading rules using natural language.

The flow

1

Connect wallet & create SmartAccount

Connect your Ethereum wallet (MetaMask, WalletConnect, etc.) and create a SmartAccount from the Dashboard. Your SmartAccount is a personal contract that holds your funds. Only you can withdraw from it — the executor can only trigger approved trades.

2

Deposit funds

Send tokens to your SmartAccount from the Portfolio page. ETH deposits are a single transfer. ERC-20 tokens (USDC, LINK, AAVE, etc.) require two transactions: approve the SmartAccount to pull the tokens, then deposit. Your funds stay in your SmartAccount until a rule executes or you withdraw.

3

Describe your rule

Go to the Create Rule page and type your trading strategy in plain English. Select the protocol adapter you want to use (Uniswap V3, PancakeSwap V3, SushiSwap V3, or Lido). Our AI parses your instruction into a structured intent — it understands buy, sell, swap, stake, unstake, DCA, stop-loss, take-profit, and more.

4

Review & confirm

A confirmation card shows exactly what will happen: the trigger condition(s), the action, the amount, and the protocol. The system checks your SmartAccount balance and calculates slippage protection. You sign one transaction that registers the rule on-chain.

5

Chainlink monitors

Chainlink Automation monitors your trigger conditions 24/7. For price triggers, it reads live Chainlink price feeds. For interval triggers, it tracks time since last execution. For balance triggers, it checks your SmartAccount balance. When ALL (AND) or ANY (OR) conditions are met, it fires.

6

Automatic execution

When your trigger fires, the AgentExecutor resolves the exact amount (fixed, percentage of balance, or USD-denominated), then calls your SmartAccount to execute the trade through the approved adapter. The adapter interacts with the underlying protocol (Uniswap router, Lido stETH contract). The result lands back in your SmartAccount.

What you can say

Here are example prompts that work with each adapter and trigger type. Use these as templates for your own rules.

Swaps (Uniswap / PancakeSwap / SushiSwap)

Buy $500 of ETH when price drops below $2000
Sell 60% of my LINK when it hits $30
Swap 1000 USDC to AAVE right now
Buy ETH every 24 hours with 100 USDC
Sell all my UNI if it drops 25% from current price
Buy COMP when its price crosses above MKR
Sell 50% of my WBTC if my USDC balance drops below 5000
At 2025-12-31, sell all my CRV

Staking (Lido)

Stake 5 ETH on Lido
Stake 50% of my ETH on Lido when price drops below $1500
Unstake my stETH
Claim my Lido withdrawal

Multi-step

When ETH drops below $2000, sell 50% ETH on Uniswap then stake the rest on Lido

Complex triggers

Sell LINK when price is above $25 AND my balance is above 100 LINK
Buy ETH when price drops below $1500 OR drops 20% from current

What doesn't work

The system will reject or fail on these types of instructions:

×Tokens not in the supported list — the AI cannot invent token addresses. If you ask for a token we don't support, it will be rejected.
×Wrong adapter for the action — e.g. 'Supply USDC to Aave' with a Uniswap adapter selected. Uniswap only supports swaps.
×Actions with no adapter — Bridge, Transfer, Add Liquidity, Borrow, Repay, Supply, Withdraw. These action types exist in the contracts but no adapter is deployed for them yet.
×Off-chain events — 'When Vitalik tweets' or 'When gas drops below 20 gwei'. Only on-chain conditions (price, time, balance) are supported.
×Pools that don't exist — You can create a rule to swap any registered token, but if there's no Uniswap V3 pool with liquidity for that pair, the swap will revert at execution time.

Amount types explained

Fixed

An exact token amount. 'Sell 2 ETH' = 2 ETH regardless of current balance.

Swap 1000 USDC to LINK
Percentage

A percentage of your SmartAccount's current balance at execution time (not at rule creation). Calculated live.

Sell 50% of my ETH when price hits $5000
USD fixed

A dollar amount converted to token units at execution time using the Chainlink Feed Registry.

Buy $500 of ETH every week

Security model

Solomai is non-custodial. Your funds are held in your personal SmartAccount contract — a minimal proxy deployed just for you. Only your wallet address can withdraw funds from it.

The AgentExecutor contract has permission to trigger trades on your SmartAccount, but only through adapters that are approved in the on-chain AdapterRegistry. It cannot send your funds to arbitrary addresses.

You can revoke the executor's permissions at any time from the Settings page. This immediately stops all automated execution while keeping your funds safe. You can re-add the executor later to resume automation.

All rule creation, cancellation, and execution happens on-chain with full transparency. Every transaction is visible on Etherscan.