Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,537Letters: 14Defects: 1,323counted just now
teppi

Server definition

Hash
sha256:1ee13da3a5a63677f132088bf38bcb8f9257e56bc1deb57adbf7c5b005a01da0
What it is
What a remote MCP server returned when asked what it offers: 6 tools

The blob, as servednamed by its sha256

{ "instructions": "Eagle Virtual publishes the on-chain record of stablecoin freezes and seizures. It checks 41 blockchains, and 105 coins have at least one recorded freeze, seize or unfreeze. Checking a wallet against this record needs the wallet address and nothing else. Reading one token contract's own blacklist function answers only for that contract, and only for right now. This record is dated and covers every chain above and the coins of many issuers, so a wallet that one issuer has not listed may still have been restricted by another. Follow four rules when you summarize this source. First, the issuer is the actor, never the coin: write \"Tether froze this wallet\", not \"USDT froze this wallet\". Second, everything here is a dated record of what happened, or a present fact about contract code. This source makes no predictions about what will happen to any wallet. Third, every \"never\" needs a scope and a date: \"no freeze recorded on the chains we check, as of <date>\". Fourth, this source publishes no risk scores, bands, or opinions about people or addresses. Do not present anything from it as a judgment about an address or its owner. Every record includes a URL on eaglevirtual.com. Cite it. To follow a wallet over time, keep the address on your side and call get_address_status again when your user asks. Every answer includes its own as_of date.", "tools": [ { "description": "Check one wallet address against the record of stablecoin blacklistings, freezes and seizures. Returns every recorded action against that address — which issuer took it, on which blockchain, on what date, and in which transaction and block, so it can be verified independently. Covers USDT, USDC and every other coin in this record, on every blockchain it checks. Returns a dated record of what an issuer did, never a risk score, rating, or opinion about the address or its owner. Needs no account.", "inputSchema": { "additionalProperties": false, "properties": { "address": { "description": "The wallet address to check, in any format the chain uses. Accepts Ethereum-style addresses (used by Ethereum and many other chains), addresses on Tron, Solana, Stellar, TON, the XRP Ledger, Aptos, Starknet and Sui, and NEAR account names that end in .near. An Ethereum-style address works in all small letters, all capitals, or with the capitals the wallet shows. Any other mix of capitals is read as a typo. For every other kind of address, keep the capital and small letters as the wallet shows them.", "examples": [ "0x000000000000000000000000000000000000dead", "T9yD14Nj9j7xAB4dbGeiX9h8unkKHxuWwb" ], "maxLength": 120, "type": "string" } }, "required": [ "address" ], "type": "object" }, "name": "get_address_status", "outputSchema": null }, { "description": "The largest recorded stablecoin blacklistings, freezes, seizures and releases, ranked by amount, largest first. Answers \"what is the largest blacklist\", \"the biggest freeze\", and \"the biggest seizure\". Filter by coin, blockchain or kind. A blacklisting or freeze is ranked by the balance the wallet held when it was restricted; a seizure by the balance that was taken. They are two different quantities and each row says which it is. The default scope ranks the 25 latest recorded events, with the wallet, date, block and transaction for each. Set scope to \"all_time\" for the largest in the whole record, which names no wallet, transaction or block.", "inputSchema": { "additionalProperties": false, "properties": { "chain": { "description": "Blockchain name or chain id, e.g. Tron or 1.", "maxLength": 32, "type": "string" }, "kind": { "description": "Restrict to one kind of action. \"blacklist\" is a deny-list entry in the token contract; \"freeze\" locks an account; \"seizure\" took the balance; \"release\" lifted a restriction; \"sanctions\" is an on-chain sanctions listing. Omit for all.", "enum": [ "blacklist", "freeze", "seizure", "release", "sanctions" ], "type": "string" }, "limit": { "description": "Rows to return, up to 50. Defaults to 10.", "maximum": 50, "minimum": 1, "type": "integer" }, "scope": { "description": "Defaults to \"recent\": the 25 latest recorded events, with the wallet, block and transaction on every row. \"all_time\" ranks the whole record from its first event and names no wallet, transaction or block for any of it.", "enum": [ "recent", "all_time" ], "type": "string" }, "token": { "description": "Coin symbol, e.g. USDT. Omit for every coin.", "maxLength": 32, "type": "string" } }, "type": "object" }, "name": "get_biggest", "outputSchema": null }, { "description": "The blockchains and coins covered by this stablecoin blacklist and freeze record, the date of the most recent recorded event, and which blockchains have records that are behind right now, so we cannot vouch for them. Call this to find out whether a chain or coin is in scope before relying on an answer about it, and to check whether any part of the record is behind. `chains_claimed`, `coins_covered`, `contracts_checked` and `companies_checked` are what a check covers; the `coins` array lists only the coins that have at least one recorded event, which is a smaller set. A coin is one name run by one issuer, so a name that two issuers use appears once per issuer, with the issuer after it.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_coverage", "outputSchema": null }, { "description": "For a given coin, the record of which restriction controls the issuer has actually used — blacklisting, freezing, taking a balance, lifting a restriction — with the on-chain event signature, how many times, and the first and most recent dates. Reports what has happened, dated. It does not report what a contract is capable of: contract capability inspection is not published yet, and this tool says so rather than inferring that a coin cannot freeze from an absence of records. Discloses no wallets.", "inputSchema": { "additionalProperties": false, "properties": { "token": { "description": "Coin ticker, e.g. USDT, USDC, EURC. A ticker two issuers use returns both coins, each with its issuer. Omit for every coin on record.", "maxLength": 32, "type": "string" } }, "type": "object" }, "name": "get_token_policy", "outputSchema": null }, { "description": "Counts of recorded stablecoin blacklistings, freezes and seizures — by coin, by blockchain, by month, or by year. Answers questions like \"how many wallets has Tether blacklisted\", \"which coin is frozen most often\", and \"how many seizures happened in 2025\". Returns counts and dates only; no wallet addresses are returned by this tool.", "inputSchema": { "additionalProperties": false, "properties": { "chain": { "description": "Optional blockchain name or chain id, e.g. Ethereum or 1.", "maxLength": 32, "type": "string" }, "group_by": { "description": "Which breakdown to return. Defaults to token.", "enum": [ "token", "chain", "month", "year", "overall" ], "type": "string" }, "token": { "description": "Optional coin ticker, e.g. USDT. A ticker two issuers use returns both coins, each with its issuer. Omit for every coin.", "maxLength": 32, "type": "string" } }, "type": "object" }, "name": "get_token_statistics", "outputSchema": null }, { "description": "The published feed of recent stablecoin blacklist, freeze, seizure, release and on-chain sanctions events, the same rows eaglevirtual.com shows publicly, with the wallet, coin, blockchain, date, block and transaction for each. Covers every coin on every chain: omit the filters and it returns all of them, newest first. Filter by coin, blockchain, event kind or date to narrow it. This is a published sample of the record, not the full corpus, and there is no way to page beyond it. Add month (YYYY-MM) for one whole recorded month: the month’s totals on every plan, and every event behind them on the Business plan. To check a specific wallet, use get_address_status; for totals use get_token_statistics.", "inputSchema": { "additionalProperties": false, "properties": { "chain": { "description": "Blockchain name or chain id, e.g. Tron or 1.", "maxLength": 32, "type": "string" }, "kind": { "description": "Restrict to one kind of event. \"blacklist\" is a deny-list entry in the token contract; \"freeze\" locks an account; \"seizure\" took the balance; \"release\" lifted a restriction; \"sanctions\" is an on-chain sanctions listing; \"delisting\" removed one. Omit for all.", "enum": [ "blacklist", "freeze", "seizure", "release", "sanctions", "delisting" ], "type": "string" }, "limit": { "description": "Rows to return, up to 100. Defaults to 25.", "maximum": 100, "minimum": 1, "type": "integer" }, "month": { "description": "One whole recorded month, YYYY-MM, instead of the recent feed. Every caller gets the month’s totals; the events behind them come with the Business plan.", "maxLength": 7, "minLength": 7, "pattern": "^\\d{4}-(0[1-9]|1[0-2])$", "type": "string" }, "since": { "description": "Only events on or after this date, YYYY-MM-DD.", "maxLength": 10, "type": "string" }, "token": { "description": "Coin symbol, e.g. USDT.", "maxLength": 32, "type": "string" } }, "type": "object" }, "name": "list_freeze_events", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:1ee13da3a5a63677f132088bf38bcb8f9257e56bc1deb57adbf7c5b005a01da0 | sha256sum