<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 450">
<defs>
<linearGradient id="bgGrad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#0f0f23"/>
<stop offset="100%" style="stop-color:#1a1a2e"/>
</linearGradient>
<linearGradient id="termGrad" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#2d2d44"/>
<stop offset="100%" style="stop-color:#1e1e32"/>
</linearGradient>
<linearGradient id="accentGrad" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:#6366f1"/>
<stop offset="100%" style="stop-color:#8b5cf6"/>
</linearGradient>
<linearGradient id="successGrad" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:#10b981"/>
<stop offset="100%" style="stop-color:#34d399"/>
</linearGradient>
<filter id="glow" x="-50%" y="-50%" width="200%" height="200%">
<feGaussianBlur stdDeviation="3" result="coloredBlur"/>
<feMerge>
<feMergeNode in="coloredBlur"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
<filter id="softGlow" x="-50%" y="-50%" width="200%" height="200%">
<feGaussianBlur stdDeviation="8" result="coloredBlur"/>
<feMerge>
<feMergeNode in="coloredBlur"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
</defs>
<!-- Background -->
<rect width="800" height="450" fill="url(#bgGrad)"/>
<!-- Animated background particles -->
<g opacity="0.3">
<circle cx="100" cy="80" r="2" fill="#6366f1">
<animate attributeName="cy" values="80;400;80" dur="15s" repeatCount="indefinite"/>
<animate attributeName="opacity" values="0.3;0.8;0.3" dur="15s" repeatCount="indefinite"/>
</circle>
<circle cx="700" cy="120" r="1.5" fill="#8b5cf6">
<animate attributeName="cy" values="120;420;120" dur="12s" repeatCount="indefinite"/>
</circle>
<circle cx="750" cy="200" r="2" fill="#10b981">
<animate attributeName="cy" values="200;50;200" dur="18s" repeatCount="indefinite"/>
</circle>
<circle cx="50" cy="350" r="1.5" fill="#f59e0b">
<animate attributeName="cy" values="350;100;350" dur="14s" repeatCount="indefinite"/>
</circle>
</g>
<!-- Main Terminal Window -->
<g transform="translate(40, 30)">
<!-- Terminal shadow -->
<rect x="4" y="4" width="720" height="390" rx="12" fill="#000" opacity="0.3"/>
<!-- Terminal body -->
<rect width="720" height="390" rx="12" fill="url(#termGrad)" stroke="#3d3d5c" stroke-width="1"/>
<!-- Terminal header -->
<rect width="720" height="36" rx="12" fill="#252538"/>
<rect y="24" width="720" height="12" fill="#252538"/>
<!-- Window controls -->
<circle cx="20" cy="18" r="6" fill="#ff5f57"/>
<circle cx="42" cy="18" r="6" fill="#febc2e"/>
<circle cx="64" cy="18" r="6" fill="#28c840"/>
<!-- Title -->
<text x="360" y="23" fill="#8888aa" font-family="SF Mono, Monaco, monospace" font-size="13" text-anchor="middle">Universal Crypto MCP — Claude Desktop</text>
<!-- Terminal Content Area -->
<g transform="translate(20, 50)">
<!-- Line 1: MCP Connection -->
<g>
<text y="20" fill="#10b981" font-family="SF Mono, Monaco, monospace" font-size="13" filter="url(#glow)">
<tspan fill="#6366f1">❯</tspan> MCP Server Connected
<animate attributeName="opacity" values="0;1;1" dur="6s" repeatCount="indefinite" keyTimes="0;0.05;1"/>
</text>
<text x="220" y="20" fill="#4ade80" font-family="SF Mono, Monaco, monospace" font-size="13">
✓ stdio
<animate attributeName="opacity" values="0;0;1;1" dur="6s" repeatCount="indefinite" keyTimes="0;0.08;0.12;1"/>
</text>
</g>
<!-- Line 2: Tools loaded -->
<g>
<text y="45" fill="#8888aa" font-family="SF Mono, Monaco, monospace" font-size="13">
<tspan fill="#f59e0b">⚡</tspan> 47 tools loaded • 15 chains supported
<animate attributeName="opacity" values="0;0;1;1" dur="6s" repeatCount="indefinite" keyTimes="0;0.1;0.15;1"/>
</text>
</g>
<!-- Divider -->
<line x1="0" y1="65" x2="680" y2="65" stroke="#3d3d5c" stroke-width="1">
<animate attributeName="opacity" values="0;0;1;1" dur="6s" repeatCount="indefinite" keyTimes="0;0.15;0.18;1"/>
</line>
<!-- User Query -->
<g>
<text y="95" font-family="SF Mono, Monaco, monospace" font-size="13">
<tspan fill="#6366f1">User:</tspan>
<tspan fill="#e2e8f0" dx="10">"Swap 0.1 ETH for USDC on Arbitrum"</tspan>
<animate attributeName="opacity" values="0;0;1;1" dur="6s" repeatCount="indefinite" keyTimes="0;0.2;0.28;1"/>
</text>
</g>
<!-- Processing indicator -->
<g>
<text y="125" fill="#8b5cf6" font-family="SF Mono, Monaco, monospace" font-size="12">
<tspan>Processing with 1inch aggregator</tspan>
<animate attributeName="opacity" values="0;0;1;0.5;1;0.5;1;1" dur="6s" repeatCount="indefinite" keyTimes="0;0.3;0.32;0.35;0.38;0.41;0.44;1"/>
</text>
<g transform="translate(220, 118)">
<circle cx="0" cy="0" r="3" fill="#8b5cf6">
<animate attributeName="opacity" values="0;0;1;0.3;1;0.3;1" dur="6s" repeatCount="indefinite" keyTimes="0;0.3;0.33;0.36;0.39;0.42;1"/>
</circle>
<circle cx="12" cy="0" r="3" fill="#8b5cf6">
<animate attributeName="opacity" values="0;0;0.3;1;0.3;1;1" dur="6s" repeatCount="indefinite" keyTimes="0;0.3;0.34;0.37;0.40;0.43;1"/>
</circle>
<circle cx="24" cy="0" r="3" fill="#8b5cf6">
<animate attributeName="opacity" values="0;0;0.3;0.3;1;0.3;1" dur="6s" repeatCount="indefinite" keyTimes="0;0.3;0.35;0.38;0.41;0.44;1"/>
</circle>
</g>
</g>
<!-- Response JSON block -->
<g>
<rect y="145" width="660" height="165" rx="8" fill="#1a1a2e" stroke="#3d3d5c" stroke-width="1">
<animate attributeName="opacity" values="0;0;1;1" dur="6s" repeatCount="indefinite" keyTimes="0;0.45;0.5;1"/>
</rect>
<g transform="translate(15, 165)">
<text fill="#6b7280" font-family="SF Mono, Monaco, monospace" font-size="11">
<tspan>{</tspan>
<animate attributeName="opacity" values="0;0;1;1" dur="6s" repeatCount="indefinite" keyTimes="0;0.5;0.52;1"/>
</text>
<text y="18" font-family="SF Mono, Monaco, monospace" font-size="11">
<tspan fill="#6b7280"> "</tspan><tspan fill="#f59e0b">status</tspan><tspan fill="#6b7280">": </tspan><tspan fill="#10b981">"success"</tspan><tspan fill="#6b7280">,</tspan>
<animate attributeName="opacity" values="0;0;1;1" dur="6s" repeatCount="indefinite" keyTimes="0;0.52;0.55;1"/>
</text>
<text y="36" font-family="SF Mono, Monaco, monospace" font-size="11">
<tspan fill="#6b7280"> "</tspan><tspan fill="#f59e0b">chain</tspan><tspan fill="#6b7280">": </tspan><tspan fill="#10b981">"arbitrum"</tspan><tspan fill="#6b7280">,</tspan>
<animate attributeName="opacity" values="0;0;1;1" dur="6s" repeatCount="indefinite" keyTimes="0;0.55;0.58;1"/>
</text>
<text y="54" font-family="SF Mono, Monaco, monospace" font-size="11">
<tspan fill="#6b7280"> "</tspan><tspan fill="#f59e0b">fromToken</tspan><tspan fill="#6b7280">": </tspan><tspan fill="#10b981">"ETH"</tspan><tspan fill="#6b7280">,</tspan>
<animate attributeName="opacity" values="0;0;1;1" dur="6s" repeatCount="indefinite" keyTimes="0;0.58;0.61;1"/>
</text>
<text y="72" font-family="SF Mono, Monaco, monospace" font-size="11">
<tspan fill="#6b7280"> "</tspan><tspan fill="#f59e0b">toToken</tspan><tspan fill="#6b7280">": </tspan><tspan fill="#10b981">"USDC"</tspan><tspan fill="#6b7280">,</tspan>
<animate attributeName="opacity" values="0;0;1;1" dur="6s" repeatCount="indefinite" keyTimes="0;0.61;0.64;1"/>
</text>
<text y="90" font-family="SF Mono, Monaco, monospace" font-size="11">
<tspan fill="#6b7280"> "</tspan><tspan fill="#f59e0b">amountOut</tspan><tspan fill="#6b7280">": </tspan><tspan fill="#60a5fa">"324.87"</tspan><tspan fill="#6b7280">,</tspan>
<animate attributeName="opacity" values="0;0;1;1" dur="6s" repeatCount="indefinite" keyTimes="0;0.64;0.67;1"/>
</text>
<text y="108" font-family="SF Mono, Monaco, monospace" font-size="11">
<tspan fill="#6b7280"> "</tspan><tspan fill="#f59e0b">txHash</tspan><tspan fill="#6b7280">": </tspan><tspan fill="#10b981">"0x8f4e...2a1b"</tspan>
<animate attributeName="opacity" values="0;0;1;1" dur="6s" repeatCount="indefinite" keyTimes="0;0.67;0.7;1"/>
</text>
<text y="126" fill="#6b7280" font-family="SF Mono, Monaco, monospace" font-size="11">
<tspan>}</tspan>
<animate attributeName="opacity" values="0;0;1;1" dur="6s" repeatCount="indefinite" keyTimes="0;0.7;0.72;1"/>
</text>
</g>
</g>
<!-- Success message -->
<g transform="translate(0, 320)">
<rect x="0" y="0" width="280" height="28" rx="6" fill="#10b981" opacity="0.15">
<animate attributeName="opacity" values="0;0;0.15;0.15" dur="6s" repeatCount="indefinite" keyTimes="0;0.75;0.8;1"/>
</rect>
<text x="12" y="19" fill="#10b981" font-family="SF Mono, Monaco, monospace" font-size="12" font-weight="600" filter="url(#glow)">
✓ Swap executed successfully!
<animate attributeName="opacity" values="0;0;1;1" dur="6s" repeatCount="indefinite" keyTimes="0;0.78;0.82;1"/>
</text>
</g>
</g>
</g>
<!-- Floating chain icons -->
<g transform="translate(680, 100)" filter="url(#softGlow)">
<!-- Ethereum -->
<g>
<circle cx="30" cy="30" r="22" fill="#627eea" opacity="0.9">
<animate attributeName="r" values="22;24;22" dur="3s" repeatCount="indefinite"/>
</circle>
<text x="30" y="36" fill="white" font-size="18" text-anchor="middle" font-weight="bold">Ξ</text>
<animate attributeName="opacity" values="0.7;1;0.7" dur="4s" repeatCount="indefinite"/>
</g>
<!-- Arbitrum -->
<g transform="translate(-10, 70)">
<circle cx="30" cy="30" r="18" fill="#28a0f0" opacity="0.9">
<animate attributeName="r" values="18;20;18" dur="3.5s" repeatCount="indefinite"/>
</circle>
<text x="30" y="35" fill="white" font-size="14" text-anchor="middle" font-weight="bold">A</text>
<animate attributeName="opacity" values="0.6;1;0.6" dur="3.5s" repeatCount="indefinite"/>
</g>
<!-- Polygon -->
<g transform="translate(15, 130)">
<circle cx="30" cy="30" r="16" fill="#8247e5" opacity="0.9">
<animate attributeName="r" values="16;18;16" dur="4s" repeatCount="indefinite"/>
</circle>
<text x="30" y="35" fill="white" font-size="12" text-anchor="middle" font-weight="bold">P</text>
<animate attributeName="opacity" values="0.5;1;0.5" dur="4.5s" repeatCount="indefinite"/>
</g>
<!-- Base -->
<g transform="translate(-5, 185)">
<circle cx="30" cy="30" r="14" fill="#0052ff" opacity="0.9">
<animate attributeName="r" values="14;16;14" dur="3.2s" repeatCount="indefinite"/>
</circle>
<text x="30" y="35" fill="white" font-size="11" text-anchor="middle" font-weight="bold">B</text>
<animate attributeName="opacity" values="0.6;1;0.6" dur="3.8s" repeatCount="indefinite"/>
</g>
<!-- BSC -->
<g transform="translate(10, 235)">
<circle cx="30" cy="30" r="15" fill="#f0b90b" opacity="0.9">
<animate attributeName="r" values="15;17;15" dur="3.7s" repeatCount="indefinite"/>
</circle>
<text x="30" y="36" fill="#1a1a1a" font-size="12" text-anchor="middle" font-weight="bold">B</text>
<animate attributeName="opacity" values="0.55;1;0.55" dur="4.2s" repeatCount="indefinite"/>
</g>
</g>
<!-- Connection lines from chains to terminal -->
<g stroke-width="1" fill="none" opacity="0.4">
<path d="M 685 130 Q 640 130 620 180" stroke="#627eea" stroke-dasharray="4,4">
<animate attributeName="stroke-dashoffset" values="0;8" dur="1s" repeatCount="indefinite"/>
</path>
<path d="M 680 200 Q 650 200 620 220" stroke="#28a0f0" stroke-dasharray="4,4">
<animate attributeName="stroke-dashoffset" values="0;8" dur="1.2s" repeatCount="indefinite"/>
</path>
<path d="M 690 260 Q 660 260 620 280" stroke="#8247e5" stroke-dasharray="4,4">
<animate attributeName="stroke-dashoffset" values="0;8" dur="1.1s" repeatCount="indefinite"/>
</path>
</g>
<!-- Bottom tagline -->
<text x="400" y="438" fill="#6b7280" font-family="SF Mono, Monaco, monospace" font-size="11" text-anchor="middle">
Universal Crypto MCP • AI-Powered Blockchain Interactions • 15+ EVM Chains
</text>
</svg>