Metboi Agentic
Mainnet Console

A limited vault wallet that lets your AI agent swap, provide liquidity, and launch tokens on Meteora.

You set the allowed pools, actions, and spending caps per trade and per 24 hours, and a Solana program enforces them. Your agent works on DLMM, DAMM v2, and DBC inside those limits. Even with a stolen agent key, it cannot withdraw, change the limits, or send funds to another account.

Metboi in a helmet, saluting
agent.limits
// may do

swap, add and remove liquidity, claim fees and rewards, open and close positions

// only in these pools

// may spend
signed by owner
agent key
agent.session
idle metboi dbc-launch

Assume the agent is compromised. This is what it still cannot do.

Each row was attempted against the real Meteora programs. The right column is the error the vault returned.

The attemptVault response
Send swap output to another account Meteora's program accepts this when called directly. Only the vault stops itAccountNotOwnedByWallet
Pay removed liquidity to another account Meteora's program accepts this when called directly. Only the vault stops itAccountNotOwnedByWallet
Claim fees or rewards into another accountAccountNotOwnedByWallet
Collect the referral or host fee on its own swapsFeeRecipientNotAllowed
Transfer tokens or SOL straight out of the walletInstructionNotAllowed
Lock or split a positionInstructionNotAllowed
Fund a position someone else controlsPositionControlledByOther
Launch on a config that pays someone else or charges a feeConfigNotAllowed
Use a token with a transfer hookTransferHookNotAllowed
Reassign the vault wallet to another programWalletSlotNotAllowed
Trade in a pool you did not listPoolNotAllowed
Spend above the limit, per trade or in any 24 hoursTxCapExceeded, DailyCapExceeded
Change its own limits, or withdrawUnauthorized

What the agent can do

Everything else on these programs is blocked by default.

Metboi relaxing in a pool
ActionDLMMDAMM v2DBC
Swap[x][x][x]
Limit orders[x][ ][ ]
Open, add, remove, and close positions[x][x][ ]
Choose bin range and strategy, extend, shrink, rebalance[x][ ][ ]
Claim fees[x][x][x]
Claim rewards[x][x][ ]
Create a pool or launch a token Off until you turn it on. You list a new pool before the agent can trade it, and before it can fund a DAMM v2 pool.[x][x][x]

Setup takes three steps

You need Node.js 20 or newer and your own Solana RPC. With a browser wallet, you can do steps 1 and 2 in the console instead.

Metboi writing in an LP handbook
1

Write the limits

Pick the pools, the allowed actions, and how much of each token the agent may spend.

$ npm install -g --ignore-scripts \
    https://metboi.com/metboi-0.1.1.tgz
$ export METBOI_RPC=<your RPC URL>
$ export METBOI_OWNER_KEY=<owner key file>
$ metboi init --agent <agent public key> \
    --policy policy.json --broadcast
2

Fund the vault wallet

Deposit only what the agent should work with. Your main wallet stays out of reach, and you can withdraw at any time.

$ export METBOI_AGENT_KEY=<agent key file>
$ export METBOI_VAULT=<vault from init>
$ metboi status
3

Connect your agent

Install the skill, or run the MCP server. Give your agent the agent key only, and keep the owner key out of its reach. Every action simulates unless it asks to send.

$ npx skills add https://metboi.com

What it does not protect you from

Bad trades inside the limits

The vault does not judge prices. A compromised agent can lose money in a pool you listed, for example by accepting poor prices and getting sandwiched. New spending stops at your daily limit, but funds already in a position can also lose value when it exits at a bad price.

Pools you choose to list

The limits assume you trust the tokens and pools on the list. A bad token in a listed pool is still a bad token.