Tools Reference

The OpenClaw Plugin provides 29 tools for multi-chain wallet management, trading, and market data. These tools are available when using the plugin with AI coding assistants like Claude Code.

Table of Contents

CategoryToolsDescription
Wallet5Create wallets, get balances, export keys, unlock, import
Trading5Swaps, transfers, and bridges
Tokens4Search, price, details, and charts
Portfolio2Holdings and transaction history
DEX7Market data and rankings
Tokenize2Launch tokens on Solana
Fees2Fee status and claims
RPC2Direct RPC access

Wallet

Tools for creating and managing multi-chain wallets.

wallet_create

Create a new multi-chain wallet. In self-custody mode (default), keys are generated and encrypted locally on your device. Returns wallet addresses for Solana and EVM chains, plus a 12-word seed phrase shown only once.

Parameters: None

Returns:

FieldTypeDescription
wallet.solanaAddressstringSolana wallet address
wallet.evmAddressstringEVM wallet address (shared across all EVM chains)
seedPhrasestring12-word BIP39 seed phrase (shown only once)
messagestringConfirmation message

Example:

User: Create a new wallet for me

Claude: I'll create a new multi-chain wallet for you.
[Uses wallet_create tool]

Result:
- Solana: 7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU
- EVM: 0x742d35Cc6634C0532925a3b844Bc9e7595f8fE0d
- Seed phrase: abandon ability able about above absent...

The seed phrase is only shown once. Store it securely and never share it.


wallet_get

Get wallet addresses and current balances across all chains.

Parameters: None

Returns:

FieldTypeDescription
wallet.solanaAddressstringSolana wallet address
wallet.evmAddressstringEVM wallet address
balances.solanaobjectSolana native and token balances
balances.evmobjectEVM native and token balances

Example:

User: What's my wallet balance?

Claude: I'll check your wallet balances.
[Uses wallet_get tool]

Result:
- Solana: 5.23 SOL + 100 USDC
- EVM: 0.15 ETH + 50 USDC (Base)

wallet_export_keys

Export private keys for external wallet import. In self-custody mode, decrypts locally using passphrase. In custodial mode, requires seed phrase for verification.

Parameters:

NameTypeRequiredDescription
seedPhrasestringCustodial only12-word BIP39 seed phrase for verification (not needed in self-custody mode)

Returns:

FieldTypeDescription
solanaPrivateKeystringSolana private key (base58)
evmPrivateKeystringEVM private key (hex)

Example:

User: Export my private keys, seed phrase is "abandon ability able..."

Claude: I'll export your private keys for external wallet import.
[Uses wallet_export_keys tool with seedPhrase]

Result:
- Solana key: 4wBqp...
- EVM key: 0x3a2f...

Only export keys when absolutely necessary. Exposing private keys risks losing all funds.


wallet_unlock

Cache your wallet passphrase in memory for the current session. Required before signing transactions in self-custody mode.

Parameters:

NameTypeRequiredDescription
passphrasestringYesPassphrase used to encrypt/decrypt the local wallet

Returns:

FieldTypeDescription
unlockedbooleanWhether the wallet was unlocked successfully
messagestringConfirmation message

Example:

User: Unlock my wallet with passphrase "my-secure-pass"

Claude: I'll unlock your wallet for this session.
[Uses wallet_unlock tool with passphrase]

Result: Wallet unlocked. You can now sign transactions.

Set LOOMLAY_WALLET_PASSPHRASE as an environment variable to avoid the passphrase appearing in conversation logs.


wallet_import

Import an existing BIP39 seed phrase into a local self-custody wallet. The seed phrase is encrypted locally and public addresses are registered with the API.

Parameters:

NameTypeRequiredDescription
seedPhrasestringYes12-word BIP39 seed phrase to import
passphrasestringYesPassphrase to encrypt the wallet locally

Returns:

FieldTypeDescription
wallet.solanaAddressstringDerived Solana address
wallet.evmAddressstringDerived EVM address
seedPhrasestringThe imported seed phrase (for confirmation)
messagestringConfirmation message

Example:

User: Import my existing wallet with seed phrase "abandon ability able..."

Claude: I'll import your seed phrase into a local wallet.
[Uses wallet_import tool with seedPhrase and passphrase]

Result:
- Imported wallet locally
- Solana: 7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU
- EVM: 0x742d35Cc6634C0532925a3b844Bc9e7595f8fE0d

The seed phrase is encrypted and stored locally at ~/.loomlay/wallet.json. Only public addresses are sent to the API.


Trading

Tools for executing swaps, transfers, and cross-chain bridges.

swap

Execute a token swap. Supports flexible amounts: decimal (1.5), USD ($100), percentage (50%), or max.

Parameters:

NameTypeRequiredDescription
inputTokenstringYesToken to sell (symbol or address)
outputTokenstringYesToken to buy (symbol or address)
amountstringYesAmount to swap (e.g., '1.5', '$100', '50%', 'max')
chainstringNoChain: solana, ethereum, base, arbitrum, optimism, polygon, bsc
slippagenumberNoMax slippage percentage (default 1)

Returns:

FieldTypeDescription
successbooleanWhether the swap succeeded
txHashstringTransaction hash
inputAmountstringAmount of input token spent
outputAmountstringAmount of output token received

Example:

User: Swap 1 SOL for USDC

Claude: I'll swap 1 SOL for USDC on Solana.
[Uses swap tool with inputToken="SOL", outputToken="USDC", amount="1"]

Result:
- Swapped 1 SOL for 98.52 USDC
- Transaction: 5xKq...

swap_quote

Get a swap quote without executing. Use to show expected output before trading.

Parameters:

NameTypeRequiredDescription
inputTokenstringYesToken to sell
outputTokenstringYesToken to buy
amountstringYesAmount to swap
chainstringNoTarget chain

Returns:

FieldTypeDescription
inputAmountstringInput amount
outputAmountstringExpected output amount
minOutputAmountstringMinimum output with slippage
priceImpactnumberPrice impact percentage
routestringRouting description

Example:

User: How much USDC would I get for 10 SOL?

Claude: I'll get a quote for swapping 10 SOL to USDC.
[Uses swap_quote tool]

Result:
- Expected output: 985.20 USDC
- Minimum output: 975.35 USDC (1% slippage)
- Price impact: 0.05%

transfer

Transfer tokens to another address.

Parameters:

NameTypeRequiredDescription
tokenstringYesToken to transfer (symbol or address)
amountstringYesAmount to transfer
tostringYesRecipient address
chainstringNoTarget chain

Returns:

FieldTypeDescription
successbooleanWhether the transfer succeeded
txHashstringTransaction hash
amountstringAmount transferred
tokenstringToken transferred
tostringRecipient address

Example:

User: Send 50 USDC to 7xKXtg...

Claude: I'll transfer 50 USDC to the specified address.
[Uses transfer tool]

Result:
- Sent 50 USDC to 7xKXtg...
- Transaction: 3nPq...

bridge

Bridge tokens between different chains (e.g., Solana to Base).

Parameters:

NameTypeRequiredDescription
inputTokenstringYesToken to bridge
amountstringYesAmount to bridge
sourceChainstringYesSource chain
destinationChainstringYesDestination chain
outputTokenstringNoOutput token (if different)

Returns:

FieldTypeDescription
successbooleanWhether the bridge initiated successfully
sourceTxHashstringSource chain transaction hash
destinationTxHashstringDestination chain transaction hash
statusstringBridge status

Example:

User: Bridge 100 USDC from Ethereum to Base

Claude: I'll bridge 100 USDC from Ethereum to Base.
[Uses bridge tool]

Result:
- Bridge initiated
- Source tx: 0x4a2f...
- Estimated completion: ~2 minutes

bridge_quote

Get a bridge quote showing fees and estimated time.

Parameters:

NameTypeRequiredDescription
inputTokenstringYesToken to bridge
amountstringYesAmount to bridge
sourceChainstringYesSource chain
destinationChainstringYesDestination chain
outputTokenstringNoOutput token

Returns:

FieldTypeDescription
inputAmountstringInput amount
outputAmountstringExpected output after fees
feestringBridge fee
estimatedTimenumberEstimated time in seconds

Example:

User: How much would it cost to bridge 1000 USDC to Arbitrum?

Claude: I'll get a quote for bridging 1000 USDC to Arbitrum.
[Uses bridge_quote tool]

Result:
- Input: 1000 USDC
- Output: 998.50 USDC
- Fee: 1.50 USDC
- Time: ~90 seconds

Tokens

Tools for searching and analyzing tokens.

token_search

Search for tokens by name, symbol, or address.

Parameters:

NameTypeRequiredDescription
querystringYesSearch query (min 2 characters)

Returns:

FieldTypeDescription
tokensarrayArray of matching tokens with address, name, symbol, chain, and safety info

Example:

User: Find the BONK token

Claude: I'll search for BONK.
[Uses token_search tool with query="BONK"]

Result:
- BONK (DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263)
- Chain: Solana
- Safety score: 85

token_price

Get current USD price for a token.

Parameters:

NameTypeRequiredDescription
tokenstringYesToken symbol or address
chainstringNoChain filter

Returns:

FieldTypeDescription
tokenstringToken identifier
pricenumberCurrent USD price
chainstringToken chain

Example:

User: What's the price of SOL?

Claude: I'll check the current price of SOL.
[Uses token_price tool]

Result: SOL is currently $98.52

token_details

Get detailed information about a token including market data and safety analysis.

Parameters:

NameTypeRequiredDescription
addressstringYesToken address

Returns:

FieldTypeDescription
tokenobjectToken info (name, symbol, decimals)
marketobjectMarket data (price, volume, market cap)
safetyobjectSafety analysis (score, flags, verified)

Example:

User: Give me details on token DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263

Claude: I'll get detailed information on this token.
[Uses token_details tool]

Result:
- Name: Bonk
- Price: $0.0000234
- Market Cap: $1.5B
- 24h Volume: $45M
- Safety Score: 85/100
- Verified: Yes

token_chart

Get OHLCV chart data for a token.

Parameters:

NameTypeRequiredDescription
addressstringYesToken address

Returns:

FieldTypeDescription
dataarrayOHLCV candle data (timestamp, open, high, low, close, volume)

Example:

User: Show me the price chart for BONK

Claude: I'll fetch the chart data for BONK.
[Uses token_chart tool]

Result: Returns OHLCV data for charting

Portfolio

Tools for viewing holdings and transaction history.

portfolio_get

Get combined portfolio across all chains with total USD value.

Parameters: None

Returns:

FieldTypeDescription
positionsarrayArray of holdings with token, balance, value, and chain
totalUsdValuenumberTotal portfolio value in USD

Example:

User: What's in my portfolio?

Claude: I'll get your complete portfolio.
[Uses portfolio_get tool]

Result:
- SOL: 5.23 ($515)
- USDC: 150 ($150)
- BONK: 1,000,000 ($23)
- Total: $688

portfolio_history

Get transaction history.

Parameters:

NameTypeRequiredDescription
chainstringNoFilter by chain
limitnumberNoMax results (default 50)

Returns:

FieldTypeDescription
transactionsarrayArray of transactions with type, amount, token, hash, timestamp

Example:

User: Show my recent transactions

Claude: I'll fetch your transaction history.
[Uses portfolio_history tool]

Result:
- Swap: 1 SOL -> 98.52 USDC (2 hours ago)
- Transfer: 50 USDC to 7xKX... (5 hours ago)
- Receive: 5 SOL from 3nPq... (1 day ago)

DEX

Tools for accessing DexScreener market data.

dex_trending

Get trending trading pairs by trending score.

Parameters:

NameTypeRequiredDescription
chainstringNoFilter by chain
minLiquiditynumberNoMinimum liquidity in USD
minSafetyScorenumberNoMinimum safety score (0-100)
limitnumberNoMaximum results

Returns:

FieldTypeDescription
pairsarrayArray of trending pairs with token info, price, volume, liquidity
paginationobjectPagination info

Example:

User: What's trending on Solana?

Claude: I'll check the trending pairs on Solana.
[Uses dex_trending tool with chain="solana"]

Result:
1. WIF/SOL - $2.45 (+150%)
2. BONK/SOL - $0.000023 (+45%)
3. JUP/SOL - $0.89 (+12%)

dex_volume

Get top trading pairs by 24h volume.

Parameters:

NameTypeRequiredDescription
chainstringNoFilter by chain
minLiquiditynumberNoMinimum liquidity in USD
limitnumberNoMaximum results

Returns:

FieldTypeDescription
pairsarrayArray of pairs sorted by 24h volume
paginationobjectPagination info

Example:

User: What tokens have the highest volume today?

Claude: I'll check the highest volume pairs.
[Uses dex_volume tool]

Result:
1. SOL/USDC - $1.2B volume
2. WIF/SOL - $450M volume
3. JUP/USDC - $120M volume

dex_gainers

Get top price gainers (24h).

Parameters:

NameTypeRequiredDescription
chainstringNoFilter by chain
minLiquiditynumberNoMinimum liquidity in USD
limitnumberNoMaximum results

Returns:

FieldTypeDescription
pairsarrayArray of pairs sorted by 24h price gain

Example:

User: What are the top gainers today?

Claude: I'll check the top gainers.
[Uses dex_gainers tool]

Result:
1. MEME/SOL - +450%
2. NEW/SOL - +280%
3. PUMP/SOL - +150%

dex_losers

Get top price losers (24h).

Parameters:

NameTypeRequiredDescription
chainstringNoFilter by chain
minLiquiditynumberNoMinimum liquidity in USD
limitnumberNoMaximum results

Returns:

FieldTypeDescription
pairsarrayArray of pairs sorted by 24h price loss

Example:

User: What tokens dropped the most today?

Claude: I'll check the top losers.
[Uses dex_losers tool]

Result:
1. RUG/SOL - -85%
2. DUMP/SOL - -72%
3. OLD/SOL - -45%

dex_new

Get newly created pairs (less than 24 hours old).

Parameters:

NameTypeRequiredDescription
chainstringNoFilter by chain
minLiquiditynumberNoMinimum liquidity in USD
limitnumberNoMaximum results

Returns:

FieldTypeDescription
pairsarrayArray of new pairs
maxAgeHoursnumberMaximum age filter applied

Example:

User: What new tokens launched today?

Claude: I'll check for newly launched tokens.
[Uses dex_new tool]

Result:
1. NEW1/SOL - Launched 2h ago, $50K liquidity
2. NEW2/SOL - Launched 5h ago, $120K liquidity
3. NEW3/SOL - Launched 8h ago, $30K liquidity

dex_pumpfun

Get Pumpfun trending pairs (Solana only, bonding curve tokens).

Parameters:

NameTypeRequiredDescription
maxAgenumberNoMaximum age in hours
maxProgressnumberNoMaximum bonding curve progress percentage
limitnumberNoMaximum results

Returns:

FieldTypeDescription
pairsarrayArray of Pumpfun pairs with bonding curve info

Example:

User: What's trending on Pumpfun?

Claude: I'll check Pumpfun trending tokens.
[Uses dex_pumpfun tool]

Result:
1. PUMP1 - 75% bonding curve, $45K market cap
2. PUMP2 - 50% bonding curve, $22K market cap
3. PUMP3 - 30% bonding curve, $12K market cap

dex_query

Advanced DEX query with custom filters and ranking.

Parameters:

NameTypeRequiredDescription
chainstringNoFilter by chain
timeframestringNoTimeframe: m5, h1, h6, h24
rankBystringNoRanking: volume, txns, priceChangeH24, liquidity, fdv
orderstringNoOrder: asc or desc
filtersobjectNoRange filters for liquidity, volume, etc.
minSafetyScorenumberNoMinimum safety score
limitnumberNoMaximum results

Returns:

FieldTypeDescription
pairsarrayArray of pairs matching query
paginationobjectPagination info

Example:

User: Find Solana tokens with >$100K liquidity, sorted by transactions

Claude: I'll search for high-liquidity Solana tokens.
[Uses dex_query tool with chain="solana", filters={minLiquidity: 100000}, rankBy="txns"]

Result:
1. SOL/USDC - 15K txns, $50M liquidity
2. WIF/SOL - 8K txns, $5M liquidity
3. BONK/SOL - 6K txns, $2M liquidity

Tokenize

Tools for launching tokens on Solana.

tokenize_launch

Launch a new token on Solana with automatic pool creation. One token per account.

Parameters:

NameTypeRequiredDescription
namestringYesToken name (1-32 characters)
symbolstringYesToken symbol (2-10 uppercase letters)
tierstringNoMarket cap tier: 10k, 100k, 1m, 10m (default 100k)
imageUrlstringNoToken logo URL (PNG/JPEG, square)

Returns:

FieldTypeDescription
successbooleanWhether the launch succeeded
launchIdstringUnique launch identifier
tokenMintstringToken mint address
poolAddressstringLiquidity pool address
dexscreenerUrlstringDexScreener URL for the token

Example:

User: Launch a token called "My Token" with symbol MTK

Claude: I'll launch your token on Solana.
[Uses tokenize_launch tool]

Result:
- Token launched successfully!
- Mint: 7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU
- Pool: 3nPqD...
- DexScreener: https://dexscreener.com/solana/7xKXtg...

Each account can only launch one token ever. This limit cannot be reset.


tokenize_info

Get information about your launched token.

Parameters: None

Returns:

FieldTypeDescription
hasTokenbooleanWhether the account has launched a token
launchIdstringLaunch identifier
tokenMintstringToken mint address
poolAddressstringPool address
dexscreenerUrlstringDexScreener URL

Example:

User: What token did I launch?

Claude: I'll check your launched token.
[Uses tokenize_info tool]

Result:
- Token: My Token (MTK)
- Mint: 7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU
- Pool: 3nPqD...

Fees

Tools for managing trading fees from launched tokens.

fees_status

Get fee status for your launched token including generated, claimed, and unclaimed amounts.

Parameters: None

Returns:

FieldTypeDescription
totalFeesGeneratedSolnumberTotal fees generated in SOL
beneficiaryFeesEarnedSolnumberYour share of fees earned
beneficiaryFeesClaimedSolnumberFees already claimed
beneficiaryFeesUnclaimedSolnumberFees available to claim
canClaimbooleanWhether fees can be claimed now
feeForfeitsAtstringDeadline for claiming before forfeiture

Example:

User: How much in fees have I earned?

Claude: I'll check your fee status.
[Uses fees_status tool]

Result:
- Total generated: 5.23 SOL
- Your share: 3.14 SOL (60%)
- Claimed: 1.00 SOL
- Unclaimed: 2.14 SOL
- Can claim: Yes

fees_claim

Claim accumulated trading fees from your launched token (platform pays gas).

Parameters: None

Returns:

FieldTypeDescription
successbooleanWhether the claim succeeded
amountSolnumberAmount claimed in SOL
txSignaturestringTransaction signature

Example:

User: Claim my fees

Claude: I'll claim your accumulated fees.
[Uses fees_claim tool]

Result:
- Claimed 2.14 SOL
- Transaction: 5xKq...

The platform pays gas fees for claiming, so you receive the full amount.


RPC

Tools for direct RPC access to supported chains.

rpc_call

Make a direct RPC call to any supported chain.

Parameters:

NameTypeRequiredDescription
chainstringYesTarget chain
methodstringYesRPC method name
paramsarrayNoMethod parameters

Returns:

FieldTypeDescription
resultanyRPC response result
errorobjectError object if call failed

Example:

User: Get the latest Solana block height

Claude: I'll make an RPC call to get the block height.
[Uses rpc_call tool with chain="solana", method="getBlockHeight"]

Result: Block height: 245,892,341

rpc_chains

Get list of supported chains for RPC access.

Parameters: None

Returns:

FieldTypeDescription
chainsarrayArray of supported chain names

Example:

User: What chains support RPC calls?

Claude: I'll check the supported chains.
[Uses rpc_chains tool]

Result: Supported chains: solana, ethereum, base, arbitrum, optimism, polygon, bsc