Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PRIVATE_KEY | Yes | Your private key for transaction signing. WARNING: Keep this secure and never commit to version control | |
| PUSD_TOKEN_ETH | Yes | PUSD token address for Ethereum Mainnet | |
| ETF_CONNECTOR_ETH | Yes | ETF connector address for Ethereum Mainnet | |
| PUSD_CONNECTOR_ETH | Yes | PUSD connector address for Ethereum Mainnet | |
| MORALIS_SERVICE_API_KEY | No | Moralis API key for enhanced features (optional) |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_account_info | Get account information including address and balances across all chains. Returns:
JSON string with account address and native token balances on all supported chains. |
| get_pusd_balance | Get PUSD token balance on specified chain. Args:
chain_id: Chain ID (1, 10, 56, 100, 137, 8453, 42161)
Returns:
JSON string with PUSD balance information. |
| get_chain_info | Get detailed information about a specific chain. Args:
chain_id: Chain ID (1, 10, 56, 100, 137, 8453, 42161)
Returns:
JSON string with chain configuration and status. |
| list_supported_chains | List all supported chains with their configurations. Returns:
JSON string with all supported chain information. |
| get_address_balances | Get balances for a specific address across all chains (concurrent execution). Args:
address: Ethereum address to check balances for
timeout_seconds: Timeout for the entire operation (default: 30 seconds)
Returns:
JSON string with balance information across all chains. |
| get_address_balance_single_chain | Get balance for a specific address on a single chain (faster). Args:
address: Ethereum address to check balances for
chain_id: Chain ID (1, 10, 56, 100, 137, 8453, 42161)
Returns:
JSON string with balance information for the specified chain. |
| get_etf_tokens | Get available ETF tokens on a specific chain. Args:
chain_id: Chain ID (1, 10, 56, 100, 137, 8453, 42161)
Returns:
JSON string with available ETF tokens and their information. |
| get_etf_price | Get buy and sell prices for an ETF token. Args:
chain_id: Chain ID (1, 10, 56, 100, 137, 8453, 42161)
etf_token_address: Address of the ETF token
Returns:
JSON string with buy and sell prices for the ETF token. |
| get_etf_price_by_symbol | Get ETF price by token symbol from Paloma DEX. Args:
symbol: ETF token symbol (e.g., PAGOLD, PABTC2X, PACBOA)
Returns:
JSON string with ETF price data. |
| get_etf_price_by_paloma_denom | Get ETF price by Paloma denomination. Args:
paloma_denom: Paloma denomination (e.g., factory/paloma18xrvj2ffxygkmtqwf3tr6fjqk3w0dgg7m6ucwx/palomagold)
Returns:
JSON string with ETF price data. |
| get_etf_balance | Get ETF token balance for a wallet address. Args:
chain_id: Chain ID (1, 10, 56, 100, 137, 8453, 42161)
etf_token_address: Address of the ETF token
wallet_address: Wallet address to check (defaults to server wallet)
Returns:
JSON string with ETF token balance information. |
| buy_etf_token | Buy ETF tokens using input tokens (simulation only - no actual transaction). Args:
chain_id: Chain ID (1, 10, 56, 100, 137, 8453, 42161)
etf_token_address: Address of the ETF token to buy
input_token_address: Address of token to spend (use 'native' for ETH/BNB/MATIC/xDAI)
input_amount: Amount of input token to spend (in token units, e.g. '1.5')
slippage: Slippage tolerance as percentage (default: 2.0)
Returns:
JSON string with transaction simulation details. |
| sell_etf_token | Sell ETF tokens back to base currency (simulation only - no actual transaction). Args:
chain_id: Chain ID (1, 10, 56, 100, 137, 8453, 42161)
etf_token_address: Address of the ETF token to sell
etf_amount: Amount of ETF tokens to sell (in token units, e.g. '10.5')
Returns:
JSON string with transaction simulation details. |
| get_available_trading_tokens | Get available tokens for trading on a specific chain. Args:
chain_id: Chain ID (1, 10, 56, 100, 137, 8453, 42161)
Returns:
JSON string with available trading tokens and their information. |
| get_token_price_estimate | Get real-time price estimate for token swap. Args:
chain_id: Chain ID (1, 10, 56, 100, 137, 8453, 42161)
input_token_address: Address of token to trade from
output_token_address: Address of token to trade to
input_amount: Amount of input token in wei format
Returns:
JSON string with price estimate and trading information. |
| approve_token_spending | Approve token spending for trading (two-step approval process). Args:
chain_id: Chain ID (1, 10, 56, 100, 137, 8453, 42161)
token_address: Address of token to approve
spender_address: Address that will spend the tokens (typically Trader contract)
amount: Amount to approve in wei (defaults to unlimited)
Returns:
JSON string with approval transaction details. |
| execute_token_swap | Execute a token swap using the Trader contract. Args:
chain_id: Chain ID (1, 10, 56, 100, 137, 8453, 42161)
from_token_address: Address of token to swap from
to_token_address: Address of token to swap to
amount_wei: Amount to swap in wei format
Returns:
JSON string with swap transaction details. |
| validate_trade_quote | Validate a trade against max spread and liquidity requirements. Args:
chain_id: Chain ID (1, 10, 56, 100, 137, 8453, 42161)
input_token_address: Address of token to trade from
output_token_address: Address of token to trade to
input_amount: Amount of input token in wei format
Returns:
JSON string with trade validation results. |
| check_token_allowance | Check token allowance for a specific owner and spender. Args:
chain_id: Chain ID (1, 10, 56, 100, 137, 8453, 42161)
token_address: Address of the token
owner_address: Address of the token owner
spender_address: Address of the spender (typically Trader contract)
Returns:
JSON string with allowance information. |
| add_liquidity | Add liquidity to a trading pool using the Trader contract. Args:
chain_id: Chain ID (1, 10, 56, 100, 137, 8453, 42161)
token0_address: Address of first token
token1_address: Address of second token
token0_amount: Amount of first token in wei
token1_amount: Amount of second token in wei
Returns:
JSON string with liquidity addition transaction details. |
| remove_liquidity | Remove liquidity from a trading pool using the Trader contract. Args:
chain_id: Chain ID (1, 10, 56, 100, 137, 8453, 42161)
token0_address: Address of first token
token1_address: Address of second token
liquidity_amount: Amount of liquidity tokens to remove in wei
Returns:
JSON string with liquidity removal transaction details. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |