Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,523Letters: 13Defects: 1,322counted just now
teppi

Server definition

Hash
sha256:975785902a1887eb495986392275ab76850dc34e7672238c5c14f2004f263354
What it is
What a remote MCP server returned when asked what it offers: 39 tools

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "For legacy ERC-20 programs: returns unpauseUtility + enableMinting calldata. For B20 programs: no-op (already active).", "inputSchema": { "properties": { "token_address": { "description": "Token contract address (0x...)", "type": "string" } }, "required": [ "token_address" ], "type": "object" }, "name": "activate_loyalty_program", "outputSchema": null }, { "description": "Discover third-party MCP servers published in Coinbase CDP's Bazaar. Read-only. Filter by free-text q and/or network.", "inputSchema": { "properties": { "cursor": { "description": "Pagination cursor", "type": "string" }, "limit": { "description": "Max rows (default 25, max 100)", "type": "number" }, "network": { "description": "Filter by network, e.g. 'base'", "type": "string" }, "q": { "description": "Free-text filter matched against the server JSON", "type": "string" } }, "type": "object" }, "name": "bazaar_discover_mcp_servers", "outputSchema": null }, { "description": "Discover third-party x402-paid resources published in Coinbase CDP's Bazaar (docs, data feeds, AI inference, etc). Read-only. Filter by free-text q and/or network (e.g. 'base').", "inputSchema": { "properties": { "cursor": { "description": "Pagination cursor from a previous call", "type": "string" }, "limit": { "description": "Max rows returned (default 25, max 100)", "type": "number" }, "network": { "description": "Filter by network, e.g. 'base' or 'base-sepolia'", "type": "string" }, "q": { "description": "Free-text filter matched against the resource JSON (name/description/url)", "type": "string" } }, "type": "object" }, "name": "bazaar_discover_resources", "outputSchema": null }, { "description": "Pay and call any x402-paid HTTPS endpoint using the merchant agent's CDP MPC wallet (EIP-3009 exact scheme on Base USDC). Probes the URL for HTTP 402, picks a compatible requirement, signs TransferWithAuthorization via CDP, retries with X-PAYMENT header, and returns the paid response. Requires scope 'mint' and a pre-created CDP wallet. Safety cap: max_usdc (default 0.25, hard limit 10).", "inputSchema": { "properties": { "allowed_networks": { "description": "Networks to accept (default ['base'])", "items": { "type": "string" }, "type": "array" }, "allowed_schemes": { "description": "x402 schemes to accept (default ['exact'])", "items": { "type": "string" }, "type": "array" }, "body": { "description": "Optional JSON request body for non-GET methods" }, "headers": { "description": "Extra request headers (Accept/Content-Type auto-set)", "type": "object" }, "max_usdc": { "description": "Spend cap for THIS call in USDC (default 0.25, must be ≤ 10)", "type": "number" }, "method": { "description": "HTTP method (default GET)", "enum": [ "GET", "POST", "PUT", "PATCH", "DELETE" ], "type": "string" }, "url": { "description": "Full https:// URL of the x402 resource", "type": "string" } }, "required": [ "url" ], "type": "object" }, "name": "bazaar_pay_and_call", "outputSchema": null }, { "description": "GET a candidate x402 URL and, if it responds HTTP 402, return the parsed payment requirements (accepts[]) so the caller can decide whether to pay. HTTPS only. No signing performed.", "inputSchema": { "properties": { "url": { "description": "Full https:// URL of the x402-paid endpoint", "type": "string" } }, "required": [ "url" ], "type": "object" }, "name": "bazaar_probe_x402", "outputSchema": null }, { "description": "Cancel marketplace offers that have been active for more than N days with no completions. Admin-only action tool.", "inputSchema": { "properties": { "max_age_days": { "description": "Cancel offers older than this many days (default: 14)", "type": "number" } }, "type": "object" }, "name": "cancel_stale_offers", "outputSchema": null }, { "description": "Check voucher status by code or ID. Requires a merchant agent key; only vouchers issued by the key owner's store are returned.", "inputSchema": { "properties": { "code": { "description": "Voucher code (e.g. LOYAL-XXXX-XXXX-XXXX-XXXX)", "type": "string" }, "voucher_id": { "description": "Voucher UUID (alternative to code)", "type": "string" } }, "type": "object" }, "name": "check_voucher_status", "outputSchema": null }, { "description": "Confirm that the protocol fee transaction for a previous mint/earn was broadcast on Base. Verifies the fee mint on-chain and clears the obligation. Unconfirmed fee obligations block future mints.", "inputSchema": { "properties": { "fee_tx_hash": { "description": "Transaction hash of the protocol fee mint", "type": "string" }, "obligation_id": { "description": "fee_obligation_id returned by mint_loyalty_tokens or earn_points", "type": "string" }, "recipient_tx_hash": { "description": "Optional transaction hash of the recipient mint", "type": "string" } }, "required": [ "obligation_id", "fee_tx_hash" ], "type": "object" }, "name": "confirm_mint_fee", "outputSchema": null }, { "description": "Create a gift / welcome certificate (UDS-style) with a unique random redemption code (LOYAL-XXXX-XXXX-XXXX). Customer redeems via QR or by entering the code; merchant then mints tokens on-chain. Use for welcome bonuses, promo campaigns, partnership gifts.", "inputSchema": { "properties": { "description": { "description": "Optional descriptive text shown to the customer", "type": "string" }, "expires_in_days": { "description": "Validity period in days (omit for no expiry)", "type": "number" }, "image_url": { "description": "Optional public image URL for the cert design", "type": "string" }, "max_redemption_percent": { "description": "Max % of any future purchase the customer can pay with these tokens (5–100). Default 50.", "type": "number" }, "points_per_dollar": { "description": "Optional override of program rate (e.g. 10 = 10 tokens per $1). Defaults to program's points_per_dollar.", "type": "number" }, "quantity": { "description": "Number of certificates to create as a batch (1–100, default 1)", "type": "number" }, "title": { "description": "Display title (default: 'Gift Certificate')", "type": "string" }, "token_address": { "description": "ERC-20 loyalty token address (must belong to the agent's merchant)", "type": "string" }, "usd_amount": { "description": "Certificate face value in USD (positive)", "type": "number" } }, "required": [ "token_address", "usd_amount" ], "type": "object" }, "name": "create_gift_certificate", "outputSchema": null }, { "description": "Get factory calldata to deploy a new loyalty token on Base. Defaults to B20 (Base native ERC-20 superset, single tx, active immediately). Pass token_standard='erc20' for the legacy factory. For B20, MINT_ROLE is granted atomically to the merchant admin AND to the agent's CDP wallet (or explicit extra_minters) so autonomous agents can mint with no follow-up transaction.", "inputSchema": { "properties": { "agent_wallet_address": { "description": "(B20 only) Additional wallet to grant MINT_ROLE atomically. Defaults to the agent's active CDP MPC wallet if not provided.", "type": "string" }, "auto_generate": { "description": "Internal automation only — fills missing name/symbol from examples. External agents should pass explicit name and symbol.", "type": "boolean" }, "business_context": { "description": "Optional context for examples only", "type": "object" }, "expiration_days": { "description": "Program duration in days (default: 365)", "type": "number" }, "extra_minters": { "description": "(B20 only) Extra addresses to grant MINT_ROLE atomically in the same deploy tx.", "items": { "type": "string" }, "type": "array" }, "locale": { "type": "string" }, "name": { "description": "Program name (required for external agents)", "type": "string" }, "preferred_style": { "type": "string" }, "symbol": { "description": "Token symbol, 2-5 chars (required for external agents)", "type": "string" }, "target_audience": { "type": "string" }, "token_standard": { "description": "'b20' (default, single-tx deploy on Base precompile factory) or 'erc20' (legacy factory, requires activate_loyalty_program follow-up)", "type": "string" } }, "type": "object" }, "name": "create_loyalty_program", "outputSchema": null }, { "description": "Create a personalized offer for a specific customer. Use when analytics reveal engagement patterns (e.g., inactive customers, high-value segments).", "inputSchema": { "properties": { "bonus_tokens": { "description": "Bonus tokens to award", "type": "number" }, "customer_address": { "description": "Customer wallet address", "type": "string" }, "description": { "description": "Offer description", "type": "string" }, "discount_percentage": { "description": "Discount percentage (0-100)", "type": "number" }, "title": { "description": "Offer title (e.g., 'Welcome back! 20% bonus tokens')", "type": "string" }, "token_address": { "description": "Token contract address", "type": "string" }, "valid_days": { "description": "How many days the offer is valid (default: 7)", "type": "number" } }, "required": [ "token_address", "customer_address", "title" ], "type": "object" }, "name": "create_personalized_offer", "outputSchema": null }, { "description": "Create a new reward redeemable with loyalty tokens", "inputSchema": { "properties": { "cost": { "description": "Token cost to redeem", "type": "number" }, "description": { "description": "Reward description", "type": "string" }, "name": { "description": "Reward name", "type": "string" }, "token_address": { "description": "Token contract address", "type": "string" } }, "required": [ "token_address", "name", "cost" ], "type": "object" }, "name": "create_reward", "outputSchema": null }, { "description": "Delete a report that is no longer relevant. Use to clean up outdated or irrelevant reports.", "inputSchema": { "properties": { "report_id": { "description": "UUID of the report to delete", "type": "string" } }, "required": [ "report_id" ], "type": "object" }, "name": "delete_report", "outputSchema": null }, { "description": "Calculate and mint loyalty tokens based on purchase amount and program's cashback rate. Returns a fee-first `calls[]` bundle (protocol fee mint first, then the customer mint) — submit in order, atomically via EIP-5792 if supported, then call confirm_mint_fee (or POST /agent-api/mint/confirm). Unconfirmed fee obligations block future mints.", "inputSchema": { "properties": { "cashback_rate": { "description": "Override cashback rate (%). If omitted, uses the program's default rate.", "type": "number" }, "customer_address": { "description": "Customer wallet (0x...)", "type": "string" }, "purchase_amount": { "description": "Purchase amount in currency units (e.g. dollars)", "type": "number" }, "token_address": { "description": "Token contract address (0x...)", "type": "string" } }, "required": [ "token_address", "customer_address", "purchase_amount" ], "type": "object" }, "name": "earn_points", "outputSchema": null }, { "description": "Export customer data for a specific loyalty program. Returns wallet addresses, voucher stats, balances, and tier info. Use for analytics, segmentation, and personalized offers.", "inputSchema": { "properties": { "token_address": { "description": "Token address of the loyalty program", "type": "string" } }, "required": [ "token_address" ], "type": "object" }, "name": "export_customers", "outputSchema": null }, { "description": "Workflow planner: field catalog, required parameters, next_actions, and non-binding examples. External agents must choose their own name, symbol, and economics.", "inputSchema": { "properties": { "business_name": { "type": "string" }, "category": { "type": "string" }, "description": { "type": "string" }, "locale": { "type": "string" }, "preferred_style": { "type": "string" }, "target_audience": { "type": "string" } }, "type": "object" }, "name": "generate_program_defaults", "outputSchema": null }, { "description": "Get authenticated agent's profile", "inputSchema": { "properties": {}, "type": "object" }, "name": "get_my_profile", "outputSchema": null }, { "description": "Get info about Loyal Spark protocol on Base L2", "inputSchema": { "properties": {}, "type": "object" }, "name": "get_platform_info", "outputSchema": null }, { "description": "Get global platform statistics across all merchants. Admin-only: requires agent owned by an admin wallet.", "inputSchema": { "properties": {}, "type": "object" }, "name": "get_platform_stats", "outputSchema": null }, { "description": "Get analytics for your loyalty programs", "inputSchema": { "properties": {}, "type": "object" }, "name": "get_program_analytics", "outputSchema": null }, { "description": "Explain the next merchant action: current_step, required fields, and ordered next_actions (you provide all parameter values)", "inputSchema": { "properties": { "token_address": { "description": "Optional token to inspect", "type": "string" } }, "type": "object" }, "name": "get_program_workflow_status", "outputSchema": null }, { "description": "Get loyalty token balance and tier info for a customer", "inputSchema": { "properties": { "customer_address": { "description": "Customer wallet", "type": "string" }, "token_address": { "description": "Token contract address", "type": "string" } }, "required": [ "token_address", "customer_address" ], "type": "object" }, "name": "get_token_balance", "outputSchema": null }, { "description": "List gift certificates issued by the agent's merchant (with status and redemption info).", "inputSchema": { "properties": { "limit": { "description": "Max rows (default 50, max 200)", "type": "number" }, "status": { "description": "Filter by status: active, pending_mint, redeemed, expired, revoked", "type": "string" }, "token_address": { "description": "Filter by program token address (optional)", "type": "string" } }, "type": "object" }, "name": "list_gift_certificates", "outputSchema": null }, { "description": "List loyalty programs owned by the agent's merchant", "inputSchema": { "properties": { "include_expired": { "description": "Include expired programs", "type": "boolean" } }, "type": "object" }, "name": "list_loyalty_programs", "outputSchema": null }, { "description": "List active token trading offers on the marketplace", "inputSchema": { "properties": { "limit": { "description": "Max results (1-100)", "type": "number" }, "status": { "description": "Filter: active/completed/cancelled", "type": "string" } }, "type": "object" }, "name": "list_marketplace_offers", "outputSchema": null }, { "description": "List your previously submitted reports. Allows reviewing past reports, checking status (new/reviewed/done), and identifying what still needs attention.", "inputSchema": { "properties": { "limit": { "description": "Max results 1-50 (default: 20)", "type": "number" }, "status": { "description": "Filter by status: new, reviewed, done (optional)", "type": "string" } }, "type": "object" }, "name": "list_my_reports", "outputSchema": null }, { "description": "List rewards for a loyalty program by token_address. Includes redemption metrics (total vouchers issued, redeemed, and last-30-day counts) for each reward.", "inputSchema": { "properties": { "token_address": { "description": "Token contract address (0x...)", "type": "string" } }, "required": [ "token_address" ], "type": "object" }, "name": "list_rewards", "outputSchema": null }, { "description": "After the merchant submits the on-chain mint transaction for a claimed gift certificate, call this to mark it as minted (status pending_mint → redeemed) and store the mint tx hash.", "inputSchema": { "properties": { "certificate_id": { "description": "UUID of the certificate", "type": "string" }, "transaction_hash": { "description": "Base L2 mint transaction hash (0x...)", "type": "string" } }, "required": [ "certificate_id", "transaction_hash" ], "type": "object" }, "name": "mark_gift_certificate_minted", "outputSchema": null }, { "description": "Record mint intent and get a fee-first `calls[]` bundle: protocol fee mint FIRST, then the recipient mint. The protocol fee is charged in the merchant's own loyalty tokens (not USDC). Submit both calls in order (atomically via EIP-5792 send_calls if your wallet supports it), then call confirm_mint_fee (or POST /agent-api/mint/confirm) with the fee tx hash. Unconfirmed fee obligations block future mints.", "inputSchema": { "properties": { "amount": { "description": "Tokens to mint", "type": "number" }, "recipient": { "description": "Recipient wallet (0x...)", "type": "string" }, "token_address": { "description": "Token contract address", "type": "string" } }, "required": [ "token_address", "recipient", "amount" ], "type": "object" }, "name": "mint_loyalty_tokens", "outputSchema": null }, { "description": "Redeem a reward by providing a verified token transfer transaction hash. Creates a voucher for the customer.", "inputSchema": { "properties": { "customer_address": { "description": "Wallet address of the customer who transferred tokens", "type": "string" }, "reward_id": { "description": "UUID of the reward to redeem", "type": "string" }, "transaction_hash": { "description": "Onchain tx hash of the token transfer from customer to merchant", "type": "string" } }, "required": [ "reward_id", "customer_address", "transaction_hash" ], "type": "object" }, "name": "redeem_reward", "outputSchema": null }, { "description": "Register a deployed token as a loyalty program in the database. B20 tokens are registered as active; legacy ERC-20 as inactive (activate next).", "inputSchema": { "properties": { "cashback_rate": { "description": "Default cashback percent for earn (1–100). Omit for DB default (5).", "type": "number" }, "expiration_days": { "description": "Duration in days (default: 365)", "type": "number" }, "name": { "description": "Program name", "type": "string" }, "points_per_dollar": { "description": "Loyalty points per $1 spent (1–1000). Omit for DB default (1).", "type": "number" }, "symbol": { "description": "Token symbol", "type": "string" }, "token_address": { "description": "Deployed token contract address (0x...)", "type": "string" }, "token_standard": { "description": "'b20' (default) or 'erc20' (legacy)", "type": "string" } }, "required": [ "name", "symbol", "token_address" ], "type": "object" }, "name": "register_loyalty_program", "outputSchema": null }, { "description": "Revoke an active gift certificate (status active → revoked). Only the issuing merchant can revoke. Already-redeemed/minted certificates cannot be revoked.", "inputSchema": { "properties": { "certificate_id": { "description": "UUID of the certificate from create_gift_certificate / list_gift_certificates", "type": "string" } }, "required": [ "certificate_id" ], "type": "object" }, "name": "revoke_gift_certificate", "outputSchema": null }, { "description": "Send a report to the developer/owner. Use this to submit SEO audits, growth ideas, data reports, anomalies, recommendations, or weekly summaries. The report will appear in the merchant's Agent Reports dashboard.", "inputSchema": { "properties": { "action_items": { "description": "List of suggested action items", "items": { "type": "string" }, "type": "array" }, "agent_role": { "description": "Your role: ceo, seo, growth, or analyst", "type": "string" }, "content": { "description": "Report body text (max 10000 chars)", "type": "string" }, "priority": { "description": "Priority: low, medium, high, or critical", "type": "string" }, "report_type": { "description": "Type: seo_audit, growth_idea, data_report, anomaly, task, recommendation, or weekly_report", "type": "string" }, "title": { "description": "Report title (max 500 chars)", "type": "string" } }, "required": [ "agent_role", "report_type", "title", "content" ], "type": "object" }, "name": "send_report", "outputSchema": null }, { "description": "Get calldata to transfer loyalty tokens between wallets", "inputSchema": { "properties": { "amount": { "description": "Tokens to transfer", "type": "number" }, "to": { "description": "Recipient wallet (0x...)", "type": "string" }, "token_address": { "description": "Token contract address (0x...)", "type": "string" } }, "required": [ "token_address", "to", "amount" ], "type": "object" }, "name": "transfer_loyalty_tokens", "outputSchema": null }, { "description": "Update default cashback_rate and/or points_per_dollar for a program (same as merchant dashboard sliders)", "inputSchema": { "properties": { "cashback_rate": { "description": "New default cashback % for earn (1–100). Omit to leave unchanged.", "type": "number" }, "points_per_dollar": { "description": "New points per $1 (0–1000, exclusive 0). Omit to leave unchanged.", "type": "number" }, "token_address": { "description": "Token contract address (0x...)", "type": "string" } }, "required": [ "token_address" ], "type": "object" }, "name": "update_program_config", "outputSchema": null }, { "description": "Update program status in database after onchain activation/pause", "inputSchema": { "properties": { "status": { "description": "New status: active, paused, or inactive", "type": "string" }, "token_address": { "description": "Token contract address", "type": "string" } }, "required": [ "token_address", "status" ], "type": "object" }, "name": "update_program_status", "outputSchema": null }, { "description": "Update report status to 'reviewed' or 'done'. Use 'done' when the action items have been completed. Use 'reviewed' to acknowledge a report.", "inputSchema": { "properties": { "report_id": { "description": "UUID of the report", "type": "string" }, "status": { "description": "New status: reviewed or done", "type": "string" } }, "required": [ "report_id", "status" ], "type": "object" }, "name": "update_report_status", "outputSchema": null }, { "description": "Activate or deactivate a reward in the catalog. Use to manage reward availability based on analytics.", "inputSchema": { "properties": { "is_active": { "description": "true to activate, false to deactivate", "type": "boolean" }, "reward_id": { "description": "UUID of the reward", "type": "string" } }, "required": [ "reward_id", "is_active" ], "type": "object" }, "name": "update_reward_status", "outputSchema": null }, { "description": "Mark a voucher as used (redeemed by customer at merchant). Merchant-only operation.", "inputSchema": { "properties": { "voucher_code": { "description": "Voucher code (e.g. LOYAL-XXXX-XXXX-XXXX-XXXX)", "type": "string" }, "voucher_id": { "description": "Voucher UUID (alternative to code)", "type": "string" } }, "type": "object" }, "name": "use_voucher", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:975785902a1887eb495986392275ab76850dc34e7672238c5c14f2004f263354 | sha256sum