{
  "service": "Wallet Aura",
  "description": "Deterministic generative art from a wallet's real onchain life. Balances, chains, and activity across 8 networks become color, geometry, and motion. Same wallet, same aura.",
  "usage": {
    "GET /aura?address=0x...": "returns { address, traits, svg, imageUrl } as JSON",
    "GET /aura?address=0x...&format=svg": "returns the aura as a raw SVG image",
    "POST /aura {\"address\":\"0x...\"}": "same as GET"
  },
  "input": {
    "address": "EVM address, 0x + 40 hex chars"
  },
  "example": "/aura?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
  "pricing": "free",
  "result": {
    "address": "0x0000000000000000000000000000000000000000",
    "traits": {
      "archetype": "Leviathan",
      "dominantChain": "BNB Chain",
      "activeChains": 8,
      "totalUsd": 82764804.55,
      "totalTx": 20,
      "delegated": false,
      "isContract": false
    },
    "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"800\" height=\"800\" viewBox=\"0 0 800 800\"><defs>\n  <radialGradient id=\"bg\" cx=\"50%\" cy=\"42%\" r=\"75%\">\n    <stop offset=\"0%\" stop-color=\"hsl(95,45%,14%)\"/>\n    <stop offset=\"60%\" stop-color=\"hsl(135,50%,8%)\"/>\n    <stop offset=\"100%\" stop-color=\"#06070f\"/>\n  </radialGradient>\n  <filter id=\"glow\" x=\"-60%\" y=\"-60%\" width=\"220%\" height=\"220%\">\n    <feGaussianBlur stdDeviation=\"6\" result=\"b\"/>\n    <feMerge><feMergeNode in=\"b\"/><feMergeNode in=\"SourceGraphic\"/></feMerge>\n  </filter>\n  <filter id=\"soft\" x=\"-80%\" y=\"-80%\" width=\"260%\" height=\"260%\">\n    <feGaussianBlur stdDeviation=\"18\"/>\n  </filter>\n</defs>\n<rect width=\"800\" height=\"800\" fill=\"url(#bg)\"/>\n<circle cx=\"100.2\" cy=\"234.0\" r=\"79.0\" fill=\"hsl(151.0793387517333,60%,30%)\" opacity=\"0.12\" filter=\"url(#soft)\"/>\n<circle cx=\"427.0\" cy=\"469.2\" r=\"144.4\" fill=\"hsl(149.72086551599205,60%,30%)\" opacity=\"0.12\" filter=\"url(#soft)\"/>\n<circle cx=\"448.7\" cy=\"247.8\" r=\"72.7\" fill=\"hsl(203.41171451844275,60%,30%)\" opacity=\"0.12\" filter=\"url(#soft)\"/>\n<circle cx=\"344.9\" cy=\"532.2\" r=\"145.8\" fill=\"hsl(191.70302118174732,60%,30%)\" opacity=\"0.12\" filter=\"url(#soft)\"/>\n<circle cx=\"475.7\" cy=\"441.8\" r=\"75.8\" fill=\"hsl(124.03172112070024,60%,30%)\" opacity=\"0.12\" filter=\"url(#soft)\"/>\n<path d=\"M 451.9 280.8 A 130 130 0 0 1 438.4 524.2\" fill=\"none\" stroke=\"#627eea\" stroke-width=\"10.0\" stroke-linecap=\"round\"  opacity=\"0.85\" filter=\"url(#glow)\"/>\n<path d=\"M 326.9 546.8 A 164 164 0 0 1 238.8 430.3\" fill=\"none\" stroke=\"#0052ff\" stroke-width=\"3.0\" stroke-linecap=\"round\" stroke-dasharray=\"12 5\" opacity=\"0.85\" filter=\"url(#glow)\"/>\n<path d=\"M 568.6 503.8 A 198 198 0 0 1 428.3 596.0\" fill=\"none\" stroke=\"#28a0f0\" stroke-width=\"3.0\" stroke-linecap=\"round\"  opacity=\"0.85\" filter=\"url(#glow)\"/>\n<path d=\"M 457.1 175.1 A 232 232 0 0 1 614.7 312.2\" fill=\"none\" stroke=\"#ff0420\" stroke-width=\"3.0\" stroke-linecap=\"round\" stroke-dasharray=\"14 2\" opacity=\"0.85\" filter=\"url(#glow)\"/>\n<path d=\"M 622.8 254.6 A 266 266 0 0 1 654.5 477.3\" fill=\"none\" stroke=\"#8247e5\" stroke-width=\"3.0\" stroke-linecap=\"round\"  opacity=\"0.85\" filter=\"url(#glow)\"/>\n<path d=\"M 115.7 304.2 A 300 300 0 1 1 457.1 694.5\" fill=\"none\" stroke=\"#f0b90b\" stroke-width=\"18.0\" stroke-linecap=\"round\"  opacity=\"0.85\" filter=\"url(#glow)\"/>\n<path d=\"M 72.4 465.1 A 334 334 0 0 1 139.6 190.8\" fill=\"none\" stroke=\"#e84142\" stroke-width=\"3.0\" stroke-linecap=\"round\"  opacity=\"0.85\" filter=\"url(#glow)\"/>\n<path d=\"M 172.3 689.1 A 368 368 0 0 1 32.1 406.8\" fill=\"none\" stroke=\"#38e6b0\" stroke-width=\"3.0\" stroke-linecap=\"round\" stroke-dasharray=\"6 4\" opacity=\"0.85\" filter=\"url(#glow)\"/>\n<circle cx=\"666.5\" cy=\"587.2\" r=\"1.3\" fill=\"#8247e5\" opacity=\"0.33\"/>\n<circle cx=\"316.9\" cy=\"554.2\" r=\"1.4\" fill=\"#28a0f0\" opacity=\"0.36\"/>\n<circle cx=\"218.0\" cy=\"693.1\" r=\"1.9\" fill=\"#ff0420\" opacity=\"0.69\"/>\n<circle cx=\"416.0\" cy=\"11.1\" r=\"2.0\" fill=\"#8247e5\" opacity=\"0.48\"/>\n<circle cx=\"267.0\" cy=\"494.3\" r=\"0.8\" fill=\"#f0b90b\" opacity=\"0.48\"/>\n<circle cx=\"634.8\" cy=\"348.5\" r=\"1.0\" fill=\"#ff0420\" opacity=\"0.25\"/>\n<circle cx=\"448.8\" cy=\"487.4\" r=\"1.5\" fill=\"#e84142\" opacity=\"0.39\"/>\n<circle cx=\"766.3\" cy=\"380.0\" r=\"2.7\" fill=\"#ff0420\" opacity=\"0.30\"/>\n<circle cx=\"396.3\" cy=\"717.5\" r=\"2.5\" fill=\"#e84142\" opacity=\"0.31\"/>\n<circle cx=\"442.0\" cy=\"630.8\" r=\"0.9\" fill=\"#28a0f0\" opacity=\"0.74\"/>\n<circle cx=\"449.4\" cy=\"136.8\" r=\"0.9\" fill=\"#e84142\" opacity=\"0.60\"/>\n<circle cx=\"400\" cy=\"400\" r=\"52\" fill=\"none\" stroke=\"hsl(95,70%,72%)\" stroke-width=\"5\" filter=\"url(#glow)\"/>\n<circle cx=\"400\" cy=\"400\" r=\"52\" fill=\"hsl(95,70%,72%)\" opacity=\"0.12\"/>\n<circle cx=\"400\" cy=\"400\" r=\"30.0\" fill=\"hsl(95,70%,72%)\" opacity=\"0.9\" filter=\"url(#glow)\"/>\n<text x=\"400\" y=\"766\" font-family=\"Menlo,monospace\" font-size=\"17\" fill=\"#9aa5bd\" text-anchor=\"middle\">0x0000…0000 · Leviathan</text></svg>"
  }
}