Give your agent Solana.
Swap, lend, trade perps, add liquidity, move SOL, read the market. One binary your agent calls, across every venue.
Up in three commands
-
Install
npm i -g @solos-sh/cli -
Connect a wallet
solos login -
Connect your agent
solos connect claude # or: codex | cursor
Restart the client and ask it: what is my SOL balance?
What your agent can do
-
wallet · transfer · portfolio
Balances, addresses, SOL transfers, a portfolio view.
-
swap · launch Jupiter, Pump
Quotes, simulated and executed swaps. Bonding-curve buys and sells.
-
lend Kamino
Reserve rates, positions, deposits and withdrawals.
-
liquidity Orca, Raydium, Meteora
Positions, deposits, withdrawals, opening and closing ranges.
-
perp Phoenix
Positions, equity, collateral, bounded IOC opens and closes.
-
market Jupiter, Elfa
Prices, token metadata, trending tokens, news and research.
The agent sees three tools at start: search, balance, portfolio. It asks for more by name or in plain words, and the matching tools appear. The other 46 cost nothing until they are used.
Same calls, every venue
Jupiter, Pump, Kamino, Orca, Raydium, Meteora and Phoenix each sit behind the same kind of call: a name, a few arguments, a JSON result. The agent learns one way to ask. The layer knows how each venue works, builds the transaction, simulates it, and sends it through one path that signs once. A new venue is a new driver, not a new interface.
You set the limits
-
Read and simulate until you say so. Tools that send a transaction do
not exist on the server until you connect with
--tier execute. Every execute tool has a simulate twin. -
Keys stay on your machine. Client configs carry a profile name, never
a secret. A local keypair, Privy, or a
payaccount signs. - No rules inside. It does what the agent asks, within the ceiling you set. How much and when is the job of the harness you run it in.