Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,542Letters: 14Defects: 1,324counted 4 min ago
teppi

Server definition

Hash
sha256:d03986b7c9119d9dbe125ce1168870cb3f2bdaebc061d9149f7d0c22cef3fc5e
What it is
What a remote MCP server returned when asked what it offers: 4 tools

The blob, as servednamed by its sha256

{ "instructions": "Classify blockchain transactions into US tax treatments. Use classify_batch for up to 100 transaction hashes at once (the flagship tool), classify_transaction for a single transaction (same engine and serve semantics as the REST /v1/classify endpoint), lookup_contract for protocol metadata on a contract address, and map_to_chart_of_accounts for accounting mapping. Results include an explicit needs_review flag with taxable=null when evidence is insufficient - treat that as a routing signal, never override it with a guess. Not tax advice; outputs are informational.", "tools": [ { "description": "Classify a batch of blockchain transactions (up to 100) using CryptoTaxEdge's classification engine. Built for accounting platforms integrating CryptoTaxEdge as their classification layer. Returns per-transaction: category (the open vocabulary the engine emits, for example swap, transfer, staking, reward, airdrop, income_receipt, fee_payment, borrow, repay, collateral_supply, collateral_withdraw, liquidity_add, liquidity_remove, wrap, unwrap, liquid_staking_mint, bridge_transfer, nft_mint, spam, unclassified; the full set with house treatments is at https://cryptotaxedge.com/standard/#categories and grows additively, so branch exhaustive logic on treatment, never on category), treatment (closed enum: disposal, income, non_taxable, expense, needs_review; needs_review means no treatment is asserted), tax_category (the engine's stored treatment value, kept for existing hosts), taxable, confidence score, needs_review, ledger_action, protocol, description (plain-English reasoning, also returned as explanation for existing clients), assets (sent, received, gas) and a reliability envelope with an explicit route-to-review flag. Complex multi-step transactions (flash loans, batch NFT sales, bridges, DCA programs) additionally return a per-leg breakdown and a preparer-ready memo with IRS citations. EVM + Solana. Pass engagement_id / firm_id to apply firm-specific classification policy when configured.", "inputSchema": { "properties": { "engagement_id": { "description": "(Optional) host-side engagement identifier. Reserved for firm-policy + engagement-record correlation. No effect today; forward-compatible.", "type": "string" }, "firm_id": { "description": "(Optional) host-side firm identifier. When firm classification policy is configured, applies that firm's confidence thresholds + CoA overrides.", "type": "string" }, "transactions": { "description": "Array of transactions to classify (max 100 per call).", "items": { "properties": { "chain": { "description": "Chain slug (e.g. \"ethereum\", \"polygon\", \"bsc\", \"arbitrum\", \"base\", \"optimism\", \"avalanche\", \"solana\"). Optional; CryptoTaxEdge auto-detects the chain if omitted.", "type": "string" }, "tx_hash": { "description": "Transaction hash (0x-prefixed 66-char for EVM, base-58 for Solana).", "type": "string" }, "tx_id": { "description": "(Optional) your own ID for this tx; echoed back so you can correlate results to your records.", "type": "string" } }, "required": [ "tx_hash" ], "type": "object" }, "maxItems": 100, "type": "array" } }, "required": [ "transactions" ], "type": "object" }, "name": "classify_batch", "outputSchema": { "properties": { "results": { "items": { "properties": { "assets": { "description": "Net asset movements, same shape as REST /v1: sent and received legs plus the gas leg (null when not attributable). Present when the engine response carries them.", "properties": { "gas": { "type": [ "object", "null" ] }, "received": { "type": "array" }, "sent": { "type": "array" } }, "type": "object" }, "category": { "description": "Canonical category. Open vocabulary that only grows additively; tolerate unfamiliar values and branch exhaustive logic on treatment instead. Full set with house treatments: https://cryptotaxedge.com/standard/#categories", "type": "string" }, "confidence": { "maximum": 100, "minimum": 0, "type": "integer" }, "description": { "description": "Plain-English reasoning for the verdict, same field as REST /v1.", "type": [ "string", "null" ] }, "explanation": { "description": "Deprecated alias of description, kept for existing clients.", "type": [ "string", "null" ] }, "ledger_action": { "description": "Suggested ledger label for posting, same field as REST /v1.", "type": [ "string", "null" ] }, "needs_review": { "type": "boolean" }, "protocol": { "type": [ "string", "null" ] }, "taxable": { "description": "null when needs_review", "type": [ "boolean", "null" ] }, "treatment": { "description": "Closed five-value tax treatment enum, safe to switch on exhaustively. needs_review means no treatment is asserted.", "enum": [ "disposal", "income", "non_taxable", "expense", "needs_review" ], "type": "string" } }, "required": [ "category", "treatment", "confidence", "needs_review" ], "type": "object" }, "type": "array" } }, "required": [ "results" ], "type": "object" } }, { "description": "Classify a single blockchain transaction using CryptoTaxEdge's multi-source consensus engine, the same engine and serve semantics as the public REST /v1/classify endpoint. Returns the /v1 contract fields: category (the open vocabulary the engine emits, for example swap, transfer, staking, reward, airdrop, income_receipt, fee_payment, borrow, repay, collateral_supply, collateral_withdraw, liquidity_add, liquidity_remove, wrap, unwrap, liquid_staking_mint, bridge_transfer, nft_mint, spam, unclassified; the full set with house treatments is at https://cryptotaxedge.com/standard/#categories and grows additively, so branch exhaustive logic on treatment, never on category), treatment (closed enum: disposal, income, non_taxable, expense, needs_review; needs_review means no treatment is asserted and taxable is null), taxable, confidence, needs_review, ledger_action, protocol, description (plain-English reasoning, also returned as explanation for existing clients) and, on hash lookups, assets (sent, received, gas). Works for EVM chains and Solana. Provide tx_hash (chain optional, auto-detected), or contract_address + function_selector + chain for a rule-library tuple lookup.", "inputSchema": { "properties": { "chain": { "description": "Chain slug (e.g. \"ethereum\", \"polygon\", \"bsc\", \"arbitrum\", \"base\", \"optimism\", \"avalanche\", \"solana\"). Optional for tx_hash lookups; the engine auto-detects the chain. REQUIRED for contract_address lookups.", "type": "string" }, "contract_address": { "description": "(Optional) 0x-prefixed contract address the transaction called. With function_selector + chain, performs a rule-library tuple lookup.", "type": "string" }, "function_selector": { "description": "(Optional) 0x-prefixed 4-byte function selector (first 4 bytes of tx input data).", "type": "string" }, "tx_hash": { "description": "Transaction hash (0x-prefixed 66-char for EVM, base-58 for Solana). Either tx_hash OR contract_address is required.", "type": "string" } }, "required": [], "type": "object" }, "name": "classify_transaction", "outputSchema": { "properties": { "assets": { "description": "Net asset movements, same shape as REST /v1: sent and received legs plus the gas leg (null when not attributable). Present when the engine response carries them.", "properties": { "gas": { "type": [ "object", "null" ] }, "received": { "type": "array" }, "sent": { "type": "array" } }, "type": "object" }, "category": { "description": "Canonical category. Open vocabulary that only grows additively; tolerate unfamiliar values and branch exhaustive logic on treatment instead. Full set with house treatments: https://cryptotaxedge.com/standard/#categories", "type": "string" }, "confidence": { "maximum": 100, "minimum": 0, "type": "integer" }, "description": { "description": "Plain-English reasoning for the verdict, same field as REST /v1.", "type": [ "string", "null" ] }, "explanation": { "description": "Deprecated alias of description, kept for existing clients.", "type": [ "string", "null" ] }, "ledger_action": { "description": "Suggested ledger label for posting, same field as REST /v1.", "type": [ "string", "null" ] }, "needs_review": { "type": "boolean" }, "protocol": { "type": [ "string", "null" ] }, "taxable": { "description": "null when needs_review", "type": [ "boolean", "null" ] }, "treatment": { "description": "Closed five-value tax treatment enum, safe to switch on exhaustively. needs_review means no treatment is asserted.", "enum": [ "disposal", "income", "non_taxable", "expense", "needs_review" ], "type": "string" } }, "required": [ "category", "treatment", "confidence", "needs_review" ], "type": "object" } }, { "description": "Look up a smart contract in CryptoTaxEdge's registry. Returns protocol metadata, contract type, verified ABI availability, label, and category hints. Use before deciding whether to classify a tx.", "inputSchema": { "properties": { "address": { "description": "Contract address (0x-prefixed 42-char for EVM).", "type": "string" }, "chain": { "description": "Chain slug (e.g. \"ethereum\", \"polygon\", \"arbitrum\"). EVM only.", "type": "string" } }, "required": [ "address", "chain" ], "type": "object" }, "name": "lookup_contract", "outputSchema": { "properties": { "category": { "type": [ "string", "null" ] }, "chain": { "type": [ "string", "null" ] }, "name": { "type": [ "string", "null" ] }, "protocol": { "type": [ "string", "null" ] } }, "type": "object" } }, { "description": "Map classified blockchain transactions into journal-entry-ready ledger lines against a chart of accounts. For each transaction (up to 100): debit account, credit account, optional gain/loss plug account, memo (protocol + reasoning), confidence, and a route-to-review flag, plus category roll-ups with the governing US tax authority (IRC §1001, §61, Rev. Rul. 2019-24, Rev. Rul. 2023-14, etc.). Pass your own chart_of_accounts (array of {name, type}) and the tool maps to YOUR account names; omit it for a standard crypto-treasury chart. Suggested, non-binding entries: the ledger platform owns amounts, cost basis, and posting.", "inputSchema": { "properties": { "chart_of_accounts": { "description": "Optional: your chart of accounts as [{name, type}]. Account names are pattern-matched per role (digital assets, income, fees, realized G/L, collateral, LP positions, loan payable). Omit for the standard chart.", "items": { "properties": { "name": { "type": "string" }, "type": { "type": "string" } }, "type": "object" }, "type": "array" }, "transactions": { "description": "Transactions to classify + map (max 100 per call).", "items": { "properties": { "chain": { "description": "Chain slug, e.g. ethereum, polygon, base, arbitrum, optimism, bsc, avalanche.", "type": "string" }, "fiat_amount": { "description": "Optional fiat value for the roll-ups.", "type": "number" }, "hash": { "description": "On-chain transaction hash (0x…64 hex).", "type": "string" }, "tx_id": { "description": "Your row id, echoed back.", "type": "string" } }, "required": [ "hash" ], "type": "object" }, "maxItems": 100, "type": "array" } }, "required": [ "transactions" ], "type": "object" }, "name": "map_to_chart_of_accounts", "outputSchema": { "properties": { "account": { "type": [ "string", "null" ] }, "mapping_basis": { "type": [ "string", "null" ] } }, "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:d03986b7c9119d9dbe125ce1168870cb3f2bdaebc061d9149f7d0c22cef3fc5e | sha256sum