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
| Category | Tools | Description |
|---|---|---|
| Wallet | 5 | Create wallets, get balances, export keys, unlock, import |
| Trading | 5 | Swaps, transfers, and bridges |
| Tokens | 4 | Search, price, details, and charts |
| Portfolio | 2 | Holdings and transaction history |
| DEX | 7 | Market data and rankings |
| Tokenize | 2 | Launch tokens on Solana |
| Fees | 2 | Fee status and claims |
| RPC | 2 | Direct 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:
| Field | Type | Description |
|---|---|---|
wallet.solanaAddress | string | Solana wallet address |
wallet.evmAddress | string | EVM wallet address (shared across all EVM chains) |
seedPhrase | string | 12-word BIP39 seed phrase (shown only once) |
message | string | Confirmation 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:
| Field | Type | Description |
|---|---|---|
wallet.solanaAddress | string | Solana wallet address |
wallet.evmAddress | string | EVM wallet address |
balances.solana | object | Solana native and token balances |
balances.evm | object | EVM 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:
| Name | Type | Required | Description |
|---|---|---|---|
seedPhrase | string | Custodial only | 12-word BIP39 seed phrase for verification (not needed in self-custody mode) |
Returns:
| Field | Type | Description |
|---|---|---|
solanaPrivateKey | string | Solana private key (base58) |
evmPrivateKey | string | EVM 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:
| Name | Type | Required | Description |
|---|---|---|---|
passphrase | string | Yes | Passphrase used to encrypt/decrypt the local wallet |
Returns:
| Field | Type | Description |
|---|---|---|
unlocked | boolean | Whether the wallet was unlocked successfully |
message | string | Confirmation 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:
| Name | Type | Required | Description |
|---|---|---|---|
seedPhrase | string | Yes | 12-word BIP39 seed phrase to import |
passphrase | string | Yes | Passphrase to encrypt the wallet locally |
Returns:
| Field | Type | Description |
|---|---|---|
wallet.solanaAddress | string | Derived Solana address |
wallet.evmAddress | string | Derived EVM address |
seedPhrase | string | The imported seed phrase (for confirmation) |
message | string | Confirmation 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:
| Name | Type | Required | Description |
|---|---|---|---|
inputToken | string | Yes | Token to sell (symbol or address) |
outputToken | string | Yes | Token to buy (symbol or address) |
amount | string | Yes | Amount to swap (e.g., '1.5', '$100', '50%', 'max') |
chain | string | No | Chain: solana, ethereum, base, arbitrum, optimism, polygon, bsc |
slippage | number | No | Max slippage percentage (default 1) |
Returns:
| Field | Type | Description |
|---|---|---|
success | boolean | Whether the swap succeeded |
txHash | string | Transaction hash |
inputAmount | string | Amount of input token spent |
outputAmount | string | Amount 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:
| Name | Type | Required | Description |
|---|---|---|---|
inputToken | string | Yes | Token to sell |
outputToken | string | Yes | Token to buy |
amount | string | Yes | Amount to swap |
chain | string | No | Target chain |
Returns:
| Field | Type | Description |
|---|---|---|
inputAmount | string | Input amount |
outputAmount | string | Expected output amount |
minOutputAmount | string | Minimum output with slippage |
priceImpact | number | Price impact percentage |
route | string | Routing 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:
| Name | Type | Required | Description |
|---|---|---|---|
token | string | Yes | Token to transfer (symbol or address) |
amount | string | Yes | Amount to transfer |
to | string | Yes | Recipient address |
chain | string | No | Target chain |
Returns:
| Field | Type | Description |
|---|---|---|
success | boolean | Whether the transfer succeeded |
txHash | string | Transaction hash |
amount | string | Amount transferred |
token | string | Token transferred |
to | string | Recipient 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:
| Name | Type | Required | Description |
|---|---|---|---|
inputToken | string | Yes | Token to bridge |
amount | string | Yes | Amount to bridge |
sourceChain | string | Yes | Source chain |
destinationChain | string | Yes | Destination chain |
outputToken | string | No | Output token (if different) |
Returns:
| Field | Type | Description |
|---|---|---|
success | boolean | Whether the bridge initiated successfully |
sourceTxHash | string | Source chain transaction hash |
destinationTxHash | string | Destination chain transaction hash |
status | string | Bridge 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:
| Name | Type | Required | Description |
|---|---|---|---|
inputToken | string | Yes | Token to bridge |
amount | string | Yes | Amount to bridge |
sourceChain | string | Yes | Source chain |
destinationChain | string | Yes | Destination chain |
outputToken | string | No | Output token |
Returns:
| Field | Type | Description |
|---|---|---|
inputAmount | string | Input amount |
outputAmount | string | Expected output after fees |
fee | string | Bridge fee |
estimatedTime | number | Estimated 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:
| Name | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Search query (min 2 characters) |
Returns:
| Field | Type | Description |
|---|---|---|
tokens | array | Array 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:
| Name | Type | Required | Description |
|---|---|---|---|
token | string | Yes | Token symbol or address |
chain | string | No | Chain filter |
Returns:
| Field | Type | Description |
|---|---|---|
token | string | Token identifier |
price | number | Current USD price |
chain | string | Token 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:
| Name | Type | Required | Description |
|---|---|---|---|
address | string | Yes | Token address |
Returns:
| Field | Type | Description |
|---|---|---|
token | object | Token info (name, symbol, decimals) |
market | object | Market data (price, volume, market cap) |
safety | object | Safety 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:
| Name | Type | Required | Description |
|---|---|---|---|
address | string | Yes | Token address |
Returns:
| Field | Type | Description |
|---|---|---|
data | array | OHLCV 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:
| Field | Type | Description |
|---|---|---|
positions | array | Array of holdings with token, balance, value, and chain |
totalUsdValue | number | Total 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:
| Name | Type | Required | Description |
|---|---|---|---|
chain | string | No | Filter by chain |
limit | number | No | Max results (default 50) |
Returns:
| Field | Type | Description |
|---|---|---|
transactions | array | Array 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:
| Name | Type | Required | Description |
|---|---|---|---|
chain | string | No | Filter by chain |
minLiquidity | number | No | Minimum liquidity in USD |
minSafetyScore | number | No | Minimum safety score (0-100) |
limit | number | No | Maximum results |
Returns:
| Field | Type | Description |
|---|---|---|
pairs | array | Array of trending pairs with token info, price, volume, liquidity |
pagination | object | Pagination 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:
| Name | Type | Required | Description |
|---|---|---|---|
chain | string | No | Filter by chain |
minLiquidity | number | No | Minimum liquidity in USD |
limit | number | No | Maximum results |
Returns:
| Field | Type | Description |
|---|---|---|
pairs | array | Array of pairs sorted by 24h volume |
pagination | object | Pagination 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:
| Name | Type | Required | Description |
|---|---|---|---|
chain | string | No | Filter by chain |
minLiquidity | number | No | Minimum liquidity in USD |
limit | number | No | Maximum results |
Returns:
| Field | Type | Description |
|---|---|---|
pairs | array | Array 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:
| Name | Type | Required | Description |
|---|---|---|---|
chain | string | No | Filter by chain |
minLiquidity | number | No | Minimum liquidity in USD |
limit | number | No | Maximum results |
Returns:
| Field | Type | Description |
|---|---|---|
pairs | array | Array 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:
| Name | Type | Required | Description |
|---|---|---|---|
chain | string | No | Filter by chain |
minLiquidity | number | No | Minimum liquidity in USD |
limit | number | No | Maximum results |
Returns:
| Field | Type | Description |
|---|---|---|
pairs | array | Array of new pairs |
maxAgeHours | number | Maximum 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:
| Name | Type | Required | Description |
|---|---|---|---|
maxAge | number | No | Maximum age in hours |
maxProgress | number | No | Maximum bonding curve progress percentage |
limit | number | No | Maximum results |
Returns:
| Field | Type | Description |
|---|---|---|
pairs | array | Array 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:
| Name | Type | Required | Description |
|---|---|---|---|
chain | string | No | Filter by chain |
timeframe | string | No | Timeframe: m5, h1, h6, h24 |
rankBy | string | No | Ranking: volume, txns, priceChangeH24, liquidity, fdv |
order | string | No | Order: asc or desc |
filters | object | No | Range filters for liquidity, volume, etc. |
minSafetyScore | number | No | Minimum safety score |
limit | number | No | Maximum results |
Returns:
| Field | Type | Description |
|---|---|---|
pairs | array | Array of pairs matching query |
pagination | object | Pagination 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:
| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Token name (1-32 characters) |
symbol | string | Yes | Token symbol (2-10 uppercase letters) |
tier | string | No | Market cap tier: 10k, 100k, 1m, 10m (default 100k) |
imageUrl | string | No | Token logo URL (PNG/JPEG, square) |
Returns:
| Field | Type | Description |
|---|---|---|
success | boolean | Whether the launch succeeded |
launchId | string | Unique launch identifier |
tokenMint | string | Token mint address |
poolAddress | string | Liquidity pool address |
dexscreenerUrl | string | DexScreener 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:
| Field | Type | Description |
|---|---|---|
hasToken | boolean | Whether the account has launched a token |
launchId | string | Launch identifier |
tokenMint | string | Token mint address |
poolAddress | string | Pool address |
dexscreenerUrl | string | DexScreener 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:
| Field | Type | Description |
|---|---|---|
totalFeesGeneratedSol | number | Total fees generated in SOL |
beneficiaryFeesEarnedSol | number | Your share of fees earned |
beneficiaryFeesClaimedSol | number | Fees already claimed |
beneficiaryFeesUnclaimedSol | number | Fees available to claim |
canClaim | boolean | Whether fees can be claimed now |
feeForfeitsAt | string | Deadline 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:
| Field | Type | Description |
|---|---|---|
success | boolean | Whether the claim succeeded |
amountSol | number | Amount claimed in SOL |
txSignature | string | Transaction 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:
| Name | Type | Required | Description |
|---|---|---|---|
chain | string | Yes | Target chain |
method | string | Yes | RPC method name |
params | array | No | Method parameters |
Returns:
| Field | Type | Description |
|---|---|---|
result | any | RPC response result |
error | object | Error 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:
| Field | Type | Description |
|---|---|---|
chains | array | Array 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