chain-signer
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ETHERSCAN_API_KEY | No | Etherscan API key for live balance reads and broadcast (optional) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| preflightA | SAFETY: decode an UNSIGNED EVM transaction and flag drain patterns (unlimited/large approval, approve-all, token & NFT transferFrom, proxy upgrade, on-chain permit, approvals hidden in multicall, opaque calldata) BEFORE signing. Returns {decoded, risk_flags, ok}. Read-only; takes no key. |
| inspect_signatureA | SAFETY: inspect an EIP-712 typed-data message the agent is about to SIGN and flag permit-phishing (ERC-2612, Uniswap Permit2, DAI-style permits granting an unlimited/large allowance). Catches the off-chain drain a transaction check can't see. Returns {decoded, risk_flags, ok}. Read-only; takes no key. |
| check_actionA | SAFETY: enforce a policy on a proposed agent action (tool call) BEFORE it runs. policy supports forbid_tools/allow_tools, max_value_wei, allow_recipients. Returns {allowed, violations}. Fail-safe: denies on unreadable input. The 'inspect what the agent DOES' gate, not just who it is. |
| create_walletA | Create or restore a non-custodial wallet; returns the address and the private key (caller keeps the key). |
| get_balanceB | Read a wallet/address balance from the live chain (read-only). |
| sendA | Sign and post a native-coin transfer with the caller's own key. EVM one-call: omit nonce/gas and they are auto-fetched + broadcast (or supply them to control the tx). Solana uses lamports; Bitcoin uses amount_btc. |
| call_contractB | Sign and post a call to any contract/app function. |
| swapB | Swap tokens via a DEX aggregator with our built-in fee; non-custodial. |
| bridgeA | Move value across chains via LI.FI; signs the route tx with the owner's key. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each tool targets a distinct operation: bridging, contract calls, policy enforcement, wallet creation, balance checks, signature inspection, transaction preflight, native sends, and token swaps. No two tools have overlapping purposes; safety tools are clearly separated from execution tools.
Most tools follow a verb_noun pattern (e.g., call_contract, create_wallet), but bridge, send, and swap are single verbs, and preflight is a noun. The naming is clear and readable despite minor inconsistency.
Nine tools is well-scoped for a chain-signing server. It covers wallet management, native and token transfers, contract interactions, bridging, and safety checks without being excessive or minimal.
The tool surface covers core signing workflows (send, swap, bridge, call_contract) and adds critical safety mechanisms (check_action, inspect_signature, preflight). Minor gaps like missing transaction history or plain message signing do not hinder the primary purpose.