Tool tree
gradeNot graded
scan_approvalsAction
Audit the live ERC-20 token approvals of any wallet address (0x… or ENS name) and score each one for risk. Live on-chain data, no wallet connection needed. Returns the worst approvals first and updates Steward's dashboard.
View tool JSON
{
"name": "scan_approvals",
"kind": "act",
"impl": "imperative",
"description": "Audit the live ERC-20 token approvals of any wallet address (0x… or ENS name) and score each one for risk. Live on-chain data, no wallet connection needed. Returns the worst approvals first and updates Steward's dashboard.",
"inputSchema": {
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Wallet to audit: a 0x address or ENS name. Omit to use the address currently shown in Steward."
},
"chain": {
"type": "string",
"description": "Which chain to scan: \"Ethereum\" (default, full history) or \"Base\" (recent history)."
}
}
}
}explain_approvalAnswer
Explain one approval in full: which contract can spend what, how much is at risk, how old it is, and every reason behind its risk score.
View tool JSON
{
"name": "explain_approval",
"kind": "answer",
"impl": "imperative",
"description": "Explain one approval in full: which contract can spend what, how much is at risk, how old it is, and every reason behind its risk score.",
"inputSchema": {
"type": "object",
"properties": {
"approval_id": {
"type": "string",
"description": "The id from scan_approvals; the short form it prints (ethereum:0xabcd…ef12:0xabcd…ef12) is accepted as-is."
}
},
"required": [
"approval_id"
]
}
}stage_revokeAction
Prepare a revocation for one approval and place it in Steward's review queue. This does NOT revoke anything: the user must review and sign it in their own wallet. Returns the staged action for confirmation.
View tool JSON
{
"name": "stage_revoke",
"kind": "act",
"impl": "imperative",
"description": "Prepare a revocation for one approval and place it in Steward's review queue. This does NOT revoke anything: the user must review and sign it in their own wallet. Returns the staged action for confirmation.",
"inputSchema": {
"type": "object",
"properties": {
"approval_id": {
"type": "string",
"description": "The id of the approval to revoke, exactly as printed by scan_approvals."
}
},
"required": [
"approval_id"
]
}
}assess_tokenAction
Assess whether an ERC-20 token is safe to hold or exit: honeypot simulation, sell taxes, owner powers, contract verification, and real market liquidity, cross-checked across three independent sources. Pass the token CONTRACT address (scan_approvals ids embed it). Security signals, not financial advice.
View tool JSON
{
"name": "assess_token",
"kind": "act",
"impl": "imperative",
"description": "Assess whether an ERC-20 token is safe to hold or exit: honeypot simulation, sell taxes, owner powers, contract verification, and real market liquidity, cross-checked across three independent sources. Pass the token CONTRACT address (scan_approvals ids embed it). Security signals, not financial advice.",
"inputSchema": {
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "The token's contract address (0x…)."
},
"chain": {
"type": "string",
"description": "\"Ethereum\" (default) or \"Base\"."
}
},
"required": [
"token"
]
}
}stage_transferAction
Prepare a token or ETH transfer and place it in Steward's review queue. This does NOT send anything: the user must review and sign it in their own wallet. token is a contract address or "ETH"; amount is a decimal string; to is a 0x address or ENS name.
View tool JSON
{
"name": "stage_transfer",
"kind": "act",
"impl": "imperative",
"description": "Prepare a token or ETH transfer and place it in Steward's review queue. This does NOT send anything: the user must review and sign it in their own wallet. token is a contract address or \"ETH\"; amount is a decimal string; to is a 0x address or ENS name.",
"inputSchema": {
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "Token contract address (0x…) or \"ETH\" for native ether."
},
"amount": {
"type": "string",
"description": "Human units, e.g. \"0.05\" or \"125.5\"."
},
"to": {
"type": "string",
"description": "Recipient: 0x address or ENS name."
},
"chain": {
"type": "string",
"description": "\"Ethereum\" (default) or \"Base\"."
}
},
"required": [
"token",
"amount",
"to"
]
}
}stage_swapAction
Quote a token swap via the KyberSwap aggregator and stage it for the user to sign. Does NOT trade: the user must sign in their own wallet. The output token is risk-checked automatically; a high-risk token is refused unless the user has been told and acknowledge_risk is true. token_in/token_out are contract addresses or "ETH".
View tool JSON
{
"name": "stage_swap",
"kind": "act",
"impl": "imperative",
"description": "Quote a token swap via the KyberSwap aggregator and stage it for the user to sign. Does NOT trade: the user must sign in their own wallet. The output token is risk-checked automatically; a high-risk token is refused unless the user has been told and acknowledge_risk is true. token_in/token_out are contract addresses or \"ETH\".",
"inputSchema": {
"type": "object",
"properties": {
"token_in": {
"type": "string",
"description": "\"ETH\" or the 0x… token to sell."
},
"token_out": {
"type": "string",
"description": "\"ETH\" or the 0x… token to buy."
},
"amount": {
"type": "string",
"description": "Amount of token_in in human units, e.g. \"0.001\"."
},
"chain": {
"type": "string",
"description": "\"Base\" (default) or \"Ethereum\"."
},
"acknowledge_risk": {
"type": "boolean",
"description": "Set true ONLY after telling the user the token was rated high-risk and they still want it staged."
}
},
"required": [
"token_in",
"token_out",
"amount"
]
}
}check_gasAnswer
Read current network fees and report whether this is a cheap, typical, or elevated moment relative to the last few minutes, with the estimated cost of one revoke transaction.
View tool JSON
{
"name": "check_gas",
"kind": "answer",
"impl": "imperative",
"description": "Read current network fees and report whether this is a cheap, typical, or elevated moment relative to the last few minutes, with the estimated cost of one revoke transaction.",
"inputSchema": {
"type": "object",
"properties": {
"chain": {
"type": "string",
"description": "\"Ethereum\" (default) or \"Base\"."
}
}
}
}discover_tokensAnswer
List the top tokens by 24h trading volume on a chain (floors: >$250k liquidity, >$250k volume, >1,000 holders). Live market data. These are market facts, NOT endorsements: vet any candidate with assess_token before proposing it to the user.
View tool JSON
{
"name": "discover_tokens",
"kind": "answer",
"impl": "imperative",
"description": "List the top tokens by 24h trading volume on a chain (floors: >$250k liquidity, >$250k volume, >1,000 holders). Live market data. These are market facts, NOT endorsements: vet any candidate with assess_token before proposing it to the user.",
"inputSchema": {
"type": "object",
"properties": {
"chain": {
"type": "string",
"description": "\"Base\" (default) or \"Ethereum\"."
},
"limit": {
"type": "number",
"description": "How many rows, 1-10. Default 8."
}
}
}
}