194b1ea98ca3a47fb8d73292c6e43ba8cde2d2fbsource_git · sera-cx/sera-mcp-v2 · latest release
Observed 2026-08-25T09:59:25.934Z using mcpSecurity-inventory. Protocol 2025-06-18.
| Tool | Category | Risk |
|---|---|---|
cancel_orderCancel an open order by its order ID.Input schema{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "The order ID to cancel"
},
"owner_address": {
"type": "string",
"description": "Wallet address that owns the order"
}
},
"required": [
"order_id",
"owner_address"
]
} | — | — |
execute_depositExecute a deposit to move funds from wallet to exchange. Requires WALLET_PRIVATE_KEY.Input schema{
"type": "object",
"properties": {
"token_address": {
"type": "string",
"description": "Token to deposit"
},
"amount": {
"type": "string",
"description": "Amount to deposit (human-readable, e.g., '100' for 100 tokens)"
}
},
"required": [
"token_address",
"amount"
]
} | — | — |
execute_swapExecute a swap transaction. Gets a quote, handles token approval if needed (sends on-chain approve tx for non-permit tokens like USDT), signs the EIP-712 intent, and submits. Requires WALLET_PRIVATE_KEY.Input schema{
"type": "object",
"properties": {
"from_token": {
"type": "string",
"description": "Address of token to sell"
},
"to_token": {
"type": "string",
"description": "Address of token to buy"
},
"amount": {
"type": "string",
"description": "Amount to swap (in token units, e.g., '100' for 100 tokens)"
}
},
"required": [
"from_token",
"to_token",
"amount"
]
} | — | — |
execute_withdrawExecute a withdrawal to move funds from exchange back to wallet. Requires WALLET_PRIVATE_KEY.Input schema{
"type": "object",
"properties": {
"token_address": {
"type": "string",
"description": "Token to withdraw"
},
"amount": {
"type": "string",
"description": "Amount to withdraw (human-readable, e.g., '100' for 100 tokens)"
}
},
"required": [
"token_address",
"amount"
]
} | — | — |
get_clob_swap_quoteGet a swap quote from the CLOB exchange. Returns quote with exchange rate. Amount is in human-readable units (e.g., '100' for 100 USDT).Input schema{
"type": "object",
"properties": {
"from_token": {
"type": "string",
"description": "Source token address"
},
"to_token": {
"type": "string",
"description": "Destination token address"
},
"from_amount": {
"type": "string",
"description": "Amount to swap in human-readable units (e.g., '100' for 100 USDT). Will be automatically converted to raw units."
},
"owner_address": {
"type": "string",
"description": "Optional. Wallet address for the swap. If omitted, uses the configured wallet address."
}
},
"required": [
"from_token",
"to_token",
"from_amount"
]
} | — | — |
get_coin_historyGet historical price data for a specific stablecoin. Returns timestamp and price pairs suitable for sparklines or charts.Input schema{
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "The coin ticker symbol (e.g., USDT, USDC). Case-insensitive."
},
"days": {
"type": "number",
"description": "Number of days of history (1-365). Default: 7"
}
},
"required": [
"ticker"
]
} | — | — |
get_coin_metadataGet detailed metadata for a specific stablecoin including description, blockchains, platforms, regulatory info, issuer details, and social links.Input schema{
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "The coin ticker symbol (e.g., USDT, USDC). Case-insensitive."
}
},
"required": [
"ticker"
]
} | — | — |
get_exchange_balanceGet the exchange (vault) balance for the configured wallet. Uses the wallet address from WALLET_PRIVATE_KEY. This is separate from wallet balance - funds deposited into the exchange for trading.Input schema{
"type": "object",
"properties": {
"wallet_address": {
"type": "string",
"description": "Optional. If omitted, uses the configured wallet address from WALLET_PRIVATE_KEY."
}
},
"required": []
} | — | — |
get_exchange_rateGet the exchange rate between two tokens. Returns the rate for swapping 1 unit of from_token to to_token.Input schema{
"type": "object",
"properties": {
"from_token": {
"type": "string",
"description": "Source token address"
},
"to_token": {
"type": "string",
"description": "Destination token address"
},
"from_decimals": {
"type": "number",
"description": "Decimals of source token (default: 18)"
},
"to_decimals": {
"type": "number",
"description": "Decimals of destination token (default: 18)"
}
},
"required": [
"from_token",
"to_token"
]
} | — | — |
get_marketGet Sera's complete stablecoin catalogue with live market data including price, market cap, volume, and 24h changes. Supports pagination.Input schema{
"type": "object",
"properties": {
"page": {
"type": "number",
"description": "Page number (1-based). Default: 1"
},
"per_page": {
"type": "number",
"description": "Number of results per page (1-500). Default: 250"
}
}
} | — | — |
get_open_ordersGet all open/pending orders for the configured wallet. Uses the wallet address from WALLET_PRIVATE_KEY.Input schema{
"type": "object",
"properties": {
"wallet_address": {
"type": "string",
"description": "Optional. If omitted, uses the configured wallet address from WALLET_PRIVATE_KEY."
}
},
"required": []
} | — | — |
get_swap_quoteGet a price quote for swapping between two tokens. Returns expected output amount, rate, and fees.Input schema{
"type": "object",
"properties": {
"market_id": {
"type": "string",
"description": "Market ID (format: baseAddress-quoteAddress)"
},
"direction": {
"type": "string",
"enum": [
"ASK",
"BID"
],
"description": "ASK = sell base token, BID = buy base token"
},
"amount_in": {
"type": "string",
"description": "Amount to swap (human-readable, e.g., '100.5')"
}
},
"required": [
"market_id",
"direction",
"amount_in"
]
} | — | — |
get_trading_pairsGet available trading pairs/markets for a specific token. Returns all pairs where the token can be swapped.Input schema{
"type": "object",
"properties": {
"token_address": {
"type": "string",
"description": "Token contract address to find trading pairs for"
}
},
"required": [
"token_address"
]
} | — | — |
get_wallet_balancesGet token balances for the configured wallet. Returns all stablecoin holdings with amounts and metadata. Uses the wallet address from WALLET_PRIVATE_KEY.Input schema{
"type": "object",
"properties": {
"wallet_address": {
"type": "string",
"description": "Optional. If omitted, uses the configured wallet address from WALLET_PRIVATE_KEY. The API only allows querying your own balances."
},
"page": {
"type": "number",
"description": "Page number. Default: 1"
},
"page_size": {
"type": "number",
"description": "Results per page. Default: 20, Max: 200"
}
},
"required": []
} | — | — |
get_wallet_infoGet information about the configured wallet (address, balance, chain). Requires WALLET_PRIVATE_KEY to be set.Input schema{
"type": "object",
"properties": {},
"required": []
} | — | — |
place_limit_orderPlace a limit order (set your own rate). Creates an order that will be filled when the market reaches your price.Input schema{
"type": "object",
"properties": {
"from_token": {
"type": "string",
"description": "Token you are selling"
},
"to_token": {
"type": "string",
"description": "Token you want to receive"
},
"amount": {
"type": "string",
"description": "Amount to sell (human-readable)"
},
"price": {
"type": "string",
"description": "Your desired exchange rate"
},
"owner_address": {
"type": "string",
"description": "Your wallet address"
}
},
"required": [
"from_token",
"to_token",
"amount",
"price",
"owner_address"
]
} | — | — |
prepare_depositPrepare a deposit transaction to move funds from wallet to exchange balance.Input schema{
"type": "object",
"properties": {
"token_address": {
"type": "string",
"description": "Token to deposit"
},
"amount": {
"type": "string",
"description": "Amount to deposit (human-readable)"
},
"owner_address": {
"type": "string",
"description": "Wallet address"
}
},
"required": [
"token_address",
"amount",
"owner_address"
]
} | — | — |
prepare_swapPrepare a swap transaction. Returns transaction data that needs to be signed and sent. May return approval_needed if token allowance is insufficient.Input schema{
"type": "object",
"properties": {
"market_address": {
"type": "string",
"description": "Market contract address"
},
"from_token": {
"type": "string",
"description": "Source token address"
},
"to_token": {
"type": "string",
"description": "Destination token address"
},
"direction": {
"type": "string",
"enum": [
"ASK",
"BID"
],
"description": "Trade direction"
},
"amount_in": {
"type": "string",
"description": "Amount to swap (human-readable)"
},
"user_address": {
"type": "string",
"description": "User's wallet address"
}
},
"required": [
"market_address",
"from_token",
"to_token",
"direction",
"amount_in",
"user_address"
]
} | — | — |
prepare_withdrawPrepare a withdrawal transaction to move funds from exchange balance back to wallet.Input schema{
"type": "object",
"properties": {
"token_address": {
"type": "string",
"description": "Token to withdraw"
},
"amount": {
"type": "string",
"description": "Amount to withdraw (human-readable)"
},
"owner_address": {
"type": "string",
"description": "Wallet address"
}
},
"required": [
"token_address",
"amount",
"owner_address"
]
} | — | — |
search_coinsSearch for stablecoins by name or ticker. Returns matching coins from the catalogue.Input schema{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search query to match against coin name or ticker"
},
"limit": {
"type": "number",
"description": "Maximum number of results to return. Default: 10"
}
},
"required": [
"query"
]
} | — | — |
Compared with initial baseline using full_baseline.
| Risk | Change | Subject |
|---|---|---|
| No material changes recorded. | ||
| Severity | Finding | Advisory |
|---|---|---|
| No confirmed vulnerability is published for this version. | ||
Artifact SHA-256: 50f1a6ab7cc179ba4c5daa425b3b075aa3f49b83c90e042c3de6888eb6cceca3
Scanner: mcp-proof-engine 0.1.0.