rmi-backend/app/canonical_tools.py

925 lines
29 KiB
Python

"""
Canonical Tool Prices — Single Source of Truth
127 tools. Enforcement + databus merged.
This file is THE authoritative list. All endpoints (MCP discovery, x402 catalog, human marketplace) read from this.
"""
CANONICAL_TOOL_PRICES = {
"airdrop_check": {
"price_usd": 0.05,
"price_atoms": "50000",
"category": "market",
"trial_free": 2,
"description": "airdrop_check",
},
"airdrop_finder": {
"price_usd": 0.05,
"price_atoms": "50000",
"category": "intelligence",
"trial_free": 2,
"description": "airdrop_finder",
},
"alpha_digest": {
"price_usd": 0.1,
"price_atoms": "100000",
"category": "intelligence",
"trial_free": 1,
"description": "alpha_digest",
},
"anomaly": {
"price_usd": 0.08,
"price_atoms": "80000",
"category": "security",
"trial_free": 0,
"description": "anomaly",
},
"arbitrage_scan": {
"price_usd": 0.05,
"price_atoms": "50000",
"category": "market",
"trial_free": 2,
"description": "arbitrage_scan",
},
"arkham_counterparties": {
"price_usd": 0.2,
"price_atoms": "200000",
"category": "elite",
"trial_free": 0,
"description": "Counterparty intelligence — entity relationship graph and money flow analysis",
},
"arkham_entity": {
"price_usd": 0.1,
"price_atoms": "100000",
"category": "premium",
"trial_free": 1,
"description": "Entity resolution — map any address to its real-world owner with confidence scoring",
},
"arkham_labels": {
"price_usd": 0.1,
"price_atoms": "100000",
"category": "premium",
"trial_free": 1,
"description": "Institutional entity labels — fund names, exchange wallets, known addresses",
},
"arkham_portfolio": {
"price_usd": 0.25,
"price_atoms": "250000",
"category": "elite",
"trial_free": 0,
"description": "Institutional portfolio intelligence — complete holdings, historical performance, attribution",
},
"arkham_transfers": {
"price_usd": 0.2,
"price_atoms": "200000",
"category": "elite",
"trial_free": 0,
"description": "Cross-chain transfer tracer — full movement history with entity labeling",
},
"audit": {
"price_usd": 0.05,
"price_atoms": "50000",
"category": "security",
"trial_free": 1,
"description": "audit",
},
"bridge_security": {
"price_usd": 0.08,
"price_atoms": "80000",
"category": "security",
"trial_free": 0,
"description": "bridge_security",
},
"bubble_map": {
"price_usd": 0.02,
"price_atoms": "20000",
"category": "basic",
"trial_free": 3,
"description": "Holder concentration map — visualize whale clusters and distribution",
},
"bundle_detect": {
"price_usd": 0.08,
"price_atoms": "80000",
"category": "premium",
"trial_free": 1,
"description": "Bot detector — same-block bundling, MEV patterns, sniper wallet identification",
},
"bundler_detect": {
"price_usd": 0.08,
"price_atoms": "80000",
"category": "security",
"trial_free": 1,
"description": "Supply Manipulation Detector — bundled launches, sniper-clustered distributions, and multi-wallet insider patterns",
},
"catalog": {
"price_usd": 0.0,
"price_atoms": "0",
"category": "api",
"trial_free": 999,
"description": "Browse available tools, pricing, and chain support",
},
"chain_health": {
"price_usd": 0.05,
"price_atoms": "50000",
"category": "market",
"trial_free": 0,
"description": "chain_health",
},
"clone_detect": {
"price_usd": 0.02,
"price_atoms": "20000",
"category": "security",
"trial_free": 3,
"description": "clone_detect",
},
"cluster": {
"price_usd": 0.05,
"price_atoms": "50000",
"category": "intelligence",
"trial_free": 0,
"description": "cluster",
},
"composite_score": {
"price_usd": 0.25,
"price_atoms": "250000",
"category": "premium",
"trial_free": 1,
"description": "RMI Composite Score — one number combining ALL signals for instant buy/sell/avoid decisions",
},
"comprehensive_audit": {
"price_usd": 0.5,
"price_atoms": "500000",
"category": "security",
"trial_free": 1,
"description": "comprehensive_audit",
},
"contract_scan": {
"price_usd": 0.08,
"price_atoms": "80000",
"category": "premium",
"trial_free": 1,
"description": "Deep contract audit — static analysis, honeypot detection, vulnerability scan",
},
"copy_trade_finder": {
"price_usd": 0.1,
"price_atoms": "100000",
"category": "intelligence",
"trial_free": 0,
"description": "copy_trade_finder",
},
"cross_chain": {
"price_usd": 0.08,
"price_atoms": "80000",
"category": "premium",
"trial_free": 1,
"description": "Cross-chain activity — find the same entity across multiple blockchains",
},
"defi_position": {
"price_usd": 0.15,
"price_atoms": "150000",
"category": "defi",
"trial_free": 1,
"description": "DeFi position analyzer — LP holdings, impermanent loss estimation, yield sustainability, protocol risk",
},
"defi_protocols": {
"price_usd": 0.01,
"price_atoms": "10000",
"category": "basic",
"trial_free": 5,
"description": "DeFi protocol tracker — TVL, chains, categories, revenue metrics",
},
"defi_yield_scanner": {
"price_usd": 0.08,
"price_atoms": "80000",
"category": "market",
"trial_free": 1,
"description": "defi_yield_scanner",
},
"deployer_history": {
"price_usd": 0.05,
"price_atoms": "50000",
"category": "security",
"trial_free": 2,
"description": "deployer_history",
},
"dex_data": {
"price_usd": 0.01,
"price_atoms": "10000",
"category": "basic",
"trial_free": 5,
"description": "DEX pool data — liquidity depth, volume, price impact for any token",
},
"entity_intel": {
"price_usd": 0.1,
"price_atoms": "100000",
"category": "premium",
"trial_free": 1,
"description": "Entity intelligence — who is this wallet, linked addresses, risk assessment",
},
"forensic_pack": {
"price_usd": 0.35,
"price_atoms": "350000",
"category": "bundle",
"trial_free": 1,
"description": "Forensic Investigation Pack — valuation + OSINT + report at 33% discount",
},
"forensic_valuation": {
"price_usd": 0.25,
"price_atoms": "250000",
"category": "premium",
"trial_free": 1,
"description": "Institutional-grade token valuation — DCF intrinsic value, comparable analysis with outlier detection, scam probability scoring",
},
"forensics": {
"price_usd": 0.1,
"price_atoms": "100000",
"category": "analysis",
"trial_free": 1,
"description": "forensics",
},
"fresh_pair": {
"price_usd": 0.03,
"price_atoms": "30000",
"category": "security",
"trial_free": 3,
"description": "fresh_pair",
},
"funding_source": {
"price_usd": 0.08,
"price_atoms": "80000",
"category": "premium",
"trial_free": 1,
"description": "Trace where a wallet's funds came from — multi-hop origin analysis",
},
"gas_forecast": {
"price_usd": 0.05,
"price_atoms": "50000",
"category": "market",
"trial_free": 0,
"description": "gas_forecast",
},
"gmgn_smart_money": {
"price_usd": 0.05,
"price_atoms": "50000",
"category": "premium",
"trial_free": 1,
"description": "Smart money narratives — trending wallets and their trade patterns",
},
"history": {
"price_usd": 0.08,
"price_atoms": "80000",
"category": "analysis",
"trial_free": 2,
"description": "Historical scanner time-series — risk/liquidity/volume/price trends over hours",
},
"honeypot_check": {
"price_usd": 0.05,
"price_atoms": "50000",
"category": "security",
"trial_free": 2,
"description": "honeypot_check",
},
"human-execute": {
"price_usd": 0.02,
"price_atoms": "20000",
"category": "api",
"trial_free": 2,
"description": "Human-in-the-loop execution — wallet-based payment for manual crypto investigation tasks",
},
"insider": {
"price_usd": 0.1,
"price_atoms": "100000",
"category": "intelligence",
"trial_free": 0,
"description": "insider",
},
"insider_network": {
"price_usd": 0.1,
"price_atoms": "100000",
"category": "intelligence",
"trial_free": 0,
"description": "insider_network",
},
"investigation_report": {
"price_usd": 0.2,
"price_atoms": "200000",
"category": "premium",
"trial_free": 1,
"description": "Full investigation report — on-chain forensics, financial valuation, OSINT findings, scam scoring in one deliverable",
},
"kol_performance": {
"price_usd": 0.1,
"price_atoms": "100000",
"category": "intelligence",
"trial_free": 0,
"description": "kol_performance",
},
"launch": {
"price_usd": 0.03,
"price_atoms": "30000",
"category": "launchpad",
"trial_free": 2,
"description": "launch",
},
"launch_intel": {
"price_usd": 0.05,
"price_atoms": "50000",
"category": "launchpad",
"trial_free": 2,
"description": "launch_intel",
},
"liquidity_depth": {
"price_usd": 0.05,
"price_atoms": "50000",
"category": "market",
"trial_free": 2,
"description": "liquidity_depth",
},
"liquidity_flow": {
"price_usd": 0.08,
"price_atoms": "80000",
"category": "intelligence",
"trial_free": 0,
"description": "liquidity_flow",
},
"liquidity_migration": {
"price_usd": 0.05,
"price_atoms": "50000",
"category": "security",
"trial_free": 2,
"description": "liquidity_migration",
},
"listing_predictor": {
"price_usd": 0.08,
"price_atoms": "80000",
"category": "intelligence",
"trial_free": 1,
"description": "listing_predictor",
},
"launch_fairness": {
"price_usd": 0.10,
"price_atoms": "100000",
"category": "security",
"trial_free": 2,
"description": "Launch fairness & bot activity analyzer — sniped distributions, bundled launches, LP manipulation, bot activity, presale concentration with 0-100 fairness score",
},
"market_movers": {
"price_usd": 0.01,
"price_atoms": "10000",
"category": "basic",
"trial_free": 5,
"description": "Top gainers, losers, and volume movers across all chains",
},
"market_overview": {
"price_usd": 0.05,
"price_atoms": "50000",
"category": "market",
"trial_free": 0,
"description": "market_overview",
},
"mcp-proxy": {
"price_usd": 0.01,
"price_atoms": "10000",
"category": "api",
"trial_free": 5,
"description": "MCP protocol proxy — route tool calls through the x402 payment layer",
},
"meme_vibe_score": {
"price_usd": 0.01,
"price_atoms": "10000",
"category": "social",
"trial_free": 3,
"description": "Meme token vibe scoring — sentiment, community strength, and virality analysis",
},
"mev_alert": {
"price_usd": 0.08,
"price_atoms": "80000",
"category": "security",
"trial_free": 1,
"description": "mev_alert",
},
"mev_detect": {
"price_usd": 0.15,
"price_atoms": "150000",
"category": "security",
"trial_free": 2,
"description": "MEV/Sandwich attack detection — sandwich attacks, frontrunning, arbitrage extraction, MEV bot identification",
},
"mev_protection": {
"price_usd": 0.08,
"price_atoms": "80000",
"category": "security",
"trial_free": 0,
"description": "mev_protection",
},
"nansen_labels": {
"price_usd": 0.15,
"price_atoms": "150000",
"category": "elite",
"trial_free": 0,
"description": "Smart money labels — fund tags, whale classifications, and institutional wallet mapping",
},
"nansen_smart_money": {
"price_usd": 0.15,
"price_atoms": "150000",
"category": "elite",
"trial_free": 0,
"description": "Smart money tracker — top trader activity, position tracking, alpha signals",
},
"narrative": {
"price_usd": 0.05,
"price_atoms": "50000",
"category": "social",
"trial_free": 3,
"description": "Market narrative engine — what is the market saying about this token RIGHT NOW",
},
"news": {
"price_usd": 0.01,
"price_atoms": "10000",
"category": "basic",
"trial_free": 5,
"description": "Crypto news feed — aggregated headlines, filtered by topic",
},
"nft_wash_detector": {
"price_usd": 0.1,
"price_atoms": "100000",
"category": "analysis",
"trial_free": 1,
"description": "nft_wash_detector",
},
"osint_identity_hunt": {
"price_usd": 0.15,
"price_atoms": "150000",
"category": "premium",
"trial_free": 2,
"description": "Cross-platform OSINT investigation — hunt usernames across 400+ networks, domain intelligence, stealth page capture",
},
"portfolio": {
"price_usd": 0.15,
"price_atoms": "150000",
"category": "elite",
"trial_free": 0,
"description": "Multi-wallet portfolio — consolidated holdings, PnL, and risk across all wallets",
},
"portfolio_aggregate": {
"price_usd": 0.1,
"price_atoms": "100000",
"category": "analysis",
"trial_free": 1,
"description": "portfolio_aggregate",
},
"portfolio_risk": {
"price_usd": 0.2,
"price_atoms": "200000",
"category": "premium",
"trial_free": 1,
"description": "Cross-chain portfolio risk dashboard — unified risk across multiple wallets and chains",
},
"portfolio_tracker": {
"price_usd": 0.1,
"price_atoms": "100000",
"category": "analysis",
"trial_free": 0,
"description": "portfolio_tracker",
},
"prediction_markets": {
"price_usd": 0.02,
"price_atoms": "20000",
"category": "basic",
"trial_free": 3,
"description": "Prediction market odds — event probabilities and trading volumes",
},
"prediction_signals": {
"price_usd": 0.02,
"price_atoms": "20000",
"category": "basic",
"trial_free": 3,
"description": "Trading signals — sentiment, momentum, and contrarian indicators",
},
"profile_flip": {
"price_usd": 0.03,
"price_atoms": "30000",
"category": "security",
"trial_free": 3,
"description": "profile_flip",
},
"protocol_risk": {
"price_usd": 0.08,
"price_atoms": "80000",
"category": "security",
"trial_free": 1,
"description": "protocol_risk",
},
"pulse": {
"price_usd": 0.01,
"price_atoms": "10000",
"category": "market",
"trial_free": 3,
"description": "pulse",
},
"rag_search": {
"price_usd": 0.05,
"price_atoms": "50000",
"category": "premium",
"trial_free": 2,
"description": "Knowledge search — query 17K+ crypto documents for research, analysis, and deep answers",
},
"reputation_score": {
"price_usd": 0.1,
"price_atoms": "100000",
"category": "premium",
"trial_free": 1,
"description": "Comprehensive 0-100 trust score combining wallet labels, scam databases, deployer history, and RAG similarity matching",
},
"risk_monitor": {
"price_usd": 0.05,
"price_atoms": "50000",
"category": "security",
"trial_free": 1,
"description": "risk_monitor",
},
"risk_scan": {
"price_usd": 0.02,
"price_atoms": "20000",
"category": "basic",
"trial_free": 3,
"description": "Quick rug risk scan — honeypot, liquidity lock, ownership, and contract flags",
},
"rug_probability": {
"price_usd": 0.15,
"price_atoms": "150000",
"category": "premium",
"trial_free": 1,
"description": "Predictive rug pull probability 0-100 — honeypot + liquidity + deployer + social signals",
},
"rug_pull_predictor": {
"price_usd": 0.1,
"price_atoms": "100000",
"category": "security",
"trial_free": 0,
"description": "rug_pull_predictor",
},
"rugmaps_analysis": {
"price_usd": 0.02,
"price_atoms": "20000",
"category": "basic",
"trial_free": 3,
"description": "Holder distribution analysis — risk scoring, dump patterns, concentration",
},
"rugshield": {
"price_usd": 0.02,
"price_atoms": "20000",
"category": "security",
"trial_free": 3,
"description": "rugshield",
},
"scam_database": {
"price_usd": 0.03,
"price_atoms": "30000",
"category": "security",
"trial_free": 3,
"description": "scam_database",
},
"sentiment": {
"price_usd": 0.03,
"price_atoms": "30000",
"category": "social",
"trial_free": 0,
"description": "sentiment",
},
"sentiment_spike": {
"price_usd": 0.05,
"price_atoms": "50000",
"category": "social",
"trial_free": 2,
"description": "sentiment_spike",
},
"sentinel_deep": {
"price_usd": 0.1,
"price_atoms": "100000",
"category": "premium",
"trial_free": 1,
"description": "Full threat scan — deep contract analysis, risk scoring, threat intelligence",
},
"smart_money": {
"price_usd": 0.2,
"price_atoms": "200000",
"category": "intelligence",
"trial_free": 1,
"description": "Smart Money P&L Tracker — real profitability-based wallet tracking, find the actual profitable traders",
},
"smart_money_alpha": {
"price_usd": 0.01,
"price_atoms": "10000",
"category": "intelligence",
"trial_free": 3,
"description": "Smart money alpha signals — track wallets that consistently outperform the market",
},
"smartmoney": {
"price_usd": 0.05,
"price_atoms": "50000",
"category": "intelligence",
"trial_free": 1,
"description": "smartmoney",
},
"sniper_alert": {
"price_usd": 0.05,
"price_atoms": "50000",
"category": "launchpad",
"trial_free": 2,
"description": "sniper_alert",
},
"sniper_detect": {
"price_usd": 0.08,
"price_atoms": "80000",
"category": "intelligence",
"trial_free": 1,
"description": "sniper_detect",
},
"social_feed": {
"price_usd": 0.01,
"price_atoms": "10000",
"category": "basic",
"trial_free": 5,
"description": "Social sentiment feed — what crypto Twitter and Telegram are saying",
},
"social_signal": {
"price_usd": 0.1,
"price_atoms": "100000",
"category": "social",
"trial_free": 0,
"description": "social_signal",
},
"socialfi_resolve": {
"price_usd": 0.01,
"price_atoms": "10000",
"category": "basic",
"trial_free": 3,
"description": "Resolve social identity — ENS names, Farcaster profiles, linked addresses",
},
"syndicate_scan": {
"price_usd": 0.08,
"price_atoms": "80000",
"category": "intelligence",
"trial_free": 1,
"description": "syndicate_scan",
},
"syndicate_track": {
"price_usd": 0.1,
"price_atoms": "100000",
"category": "intelligence",
"trial_free": 1,
"description": "syndicate_track",
},
"threat_check": {
"price_usd": 0.02,
"price_atoms": "20000",
"category": "basic",
"trial_free": 3,
"description": "Threat intelligence check — known scams, malicious patterns, risk scoring",
},
"token_age": {
"price_usd": 0.01,
"price_atoms": "10000",
"category": "security",
"trial_free": 5,
"description": "token_age",
},
"token_comparison": {
"price_usd": 0.08,
"price_atoms": "80000",
"category": "analysis",
"trial_free": 0,
"description": "token_comparison",
},
"token_deep_dive": {
"price_usd": 0.1,
"price_atoms": "100000",
"category": "analysis",
"trial_free": 0,
"description": "token_deep_dive",
},
"token_detail": {
"price_usd": 0.02,
"price_atoms": "20000",
"category": "basic",
"trial_free": 3,
"description": "Full token intelligence — market cap, volume, liquidity, holders, risk flags",
},
"token_price": {
"price_usd": 0.01,
"price_atoms": "10000",
"category": "basic",
"trial_free": 5,
"description": "Get real-time token price with consensus from multiple sources",
},
"token_watch_alerts": {
"price_usd": 0.0,
"price_atoms": "0",
"category": "monitoring",
"trial_free": 999,
"description": "token_watch_alerts",
},
"token_watch_check": {
"price_usd": 0.03,
"price_atoms": "30000",
"category": "monitoring",
"trial_free": 5,
"description": "One-shot token status check — current LP, price, volume, and rug risk warnings",
},
"token_watch_create": {
"price_usd": 0.05,
"price_atoms": "50000",
"category": "monitoring",
"trial_free": 3,
"description": "Set token monitoring watch — alerts when LP drops, price changes, or rug indicators detected",
},
"token_watch_list": {
"price_usd": 0.0,
"price_atoms": "0",
"category": "monitoring",
"trial_free": 999,
"description": "token_watch_list",
},
"trending": {
"price_usd": 0.01,
"price_atoms": "10000",
"category": "basic",
"trial_free": 5,
"description": "Trending tokens across chains — hottest movers right now",
},
"tvl": {
"price_usd": 0.01,
"price_atoms": "10000",
"category": "basic",
"trial_free": 5,
"description": "DeFi TVL data — protocol-level totals, chain breakdowns, yields",
},
"tw_profile": {
"price_usd": 0.01,
"price_atoms": "10000",
"category": "social",
"trial_free": 0,
"description": "tw_profile",
},
"tw_search": {
"price_usd": 0.01,
"price_atoms": "10000",
"category": "social",
"trial_free": 0,
"description": "tw_search",
},
"tw_timeline": {
"price_usd": 0.01,
"price_atoms": "10000",
"category": "social",
"trial_free": 0,
"description": "tw_timeline",
},
"unlock_calendar": {
"price_usd": 0.03,
"price_atoms": "30000",
"category": "market",
"trial_free": 3,
"description": "unlock_calendar",
},
"urlcheck": {
"price_usd": 0.01,
"price_atoms": "10000",
"category": "security",
"trial_free": 3,
"description": "urlcheck",
},
"wallet": {
"price_usd": 0.05,
"price_atoms": "50000",
"category": "analysis",
"trial_free": 1,
"description": "wallet",
},
"wallet_balance": {
"price_usd": 0.01,
"price_atoms": "10000",
"category": "basic",
"trial_free": 3,
"description": "Check any wallet's balance across chains — multi-chain support",
},
"wallet_cluster": {
"price_usd": 0.08,
"price_atoms": "80000",
"category": "premium",
"trial_free": 1,
"description": "Syndicate mapper — find related wallets via funding patterns and heuristics",
},
"wallet_graph": {
"price_usd": 0.1,
"price_atoms": "100000",
"category": "intelligence",
"trial_free": 0,
"description": "wallet_graph",
},
"wallet_labels": {
"price_usd": 0.02,
"price_atoms": "20000",
"category": "basic",
"trial_free": 3,
"description": "Identify who owns a wallet — entity labels, tags, and known affiliations",
},
"wallet_pnl": {
"price_usd": 0.1,
"price_atoms": "100000",
"category": "analysis",
"trial_free": 0,
"description": "wallet_pnl",
},
"wallet_profile": {
"price_usd": 0.05,
"price_atoms": "50000",
"category": "premium",
"trial_free": 1,
"description": "Complete wallet profile — labels, PnL summary, risk score, related wallets",
},
"wallet_tokens": {
"price_usd": 0.05,
"price_atoms": "50000",
"category": "premium",
"trial_free": 1,
"description": "All tokens held by a wallet — balances, USD values, allocation breakdown",
},
"wash_trade_detect": {
"price_usd": 0.15,
"price_atoms": "150000",
"category": "security",
"trial_free": 2,
"description": "Wash Trading & Insider Detection — artificial volume, coordinated buying, insider accumulation patterns",
},
"wash_trading": {
"price_usd": 0.08,
"price_atoms": "80000",
"category": "security",
"trial_free": 1,
"description": "wash_trading",
},
"webhook_list": {
"price_usd": 0.0,
"price_atoms": "0",
"category": "monitoring",
"trial_free": 999,
"description": "List registered webhooks for an address",
},
"webhook_register": {
"price_usd": 0.02,
"price_atoms": "20000",
"category": "monitoring",
"trial_free": 2,
"description": "Register webhook URL for real-time monitoring alerts — rug pulls, whale moves, price crashes",
},
"whale": {
"price_usd": 0.15,
"price_atoms": "150000",
"category": "intelligence",
"trial_free": 1,
"description": "whale",
},
"whale_accumulation": {
"price_usd": 0.08,
"price_atoms": "80000",
"category": "intelligence",
"trial_free": 1,
"description": "whale_accumulation",
},
"whale_profile": {
"price_usd": 0.05,
"price_atoms": "50000",
"category": "intelligence",
"trial_free": 2,
"description": "whale_profile",
},
"whale_scan": {
"price_usd": 0.03,
"price_atoms": "30000",
"category": "intelligence",
"trial_free": 3,
"description": "whale_scan",
},
"rug_imminence": {
"price_usd": 0.20,
"price_atoms": "200000",
"category": "security",
"trial_free": 1,
"description": "Rug Pull Imminence Predictor — AI-powered early warning system fusing 7 signals to predict imminent rug pulls before they happen",
},
"liquidation_cascade": {
"price_usd": 0.15,
"price_atoms": "150000",
"category": "defi",
"trial_free": 1,
"description": "Liquidation Cascade Risk Analyzer — cross-chain DeFi position monitoring, health factor computation, and cascade scenario simulation for Aave/Compound positions",
},
"bridge_health": {
"price_usd": 0.10,
"price_atoms": "100000",
"category": "security",
"trial_free": 2,
"description": "Cross-Chain Bridge Health & Exploit Monitor — real-time TVL tracking, anomaly detection, trust model scoring, and exploit signal detection across 12 major bridges (LayerZero, Stargate, Wormhole, Across, Hop, Synapse, Axelar, Celer, DeBridge, CCIP, Connext, Orbiter)",
},
}