{
  "ok": true,
  "worker": "pooltracker",
  "routes": [
    "/?wallet=0x...&chain=base   → descobre posições e grava o wallet-pools",
    "/?wallet=0x...,0x...&chain=base  → 2+ wallets separadas por vírgula, rodam em paralelo",
    "/status?wallet=0x...        → estado dos locks",
    "/reset-lock?wallet=0x...    → zera lock:pipe e lock:delete (uso em teste)",
    "/wipe?wallet=0x...&chain=base&confirm=DELETE  → apaga o cadastro dessa wallet (DESTRUTIVO)",
    "/?type=price&asset=ETH      → preço Chainlink (sem wallet)",
    "/scan-pools?wallet=0x...&chain=base  → DIAGNÓSTICO read-only: lista TODOS os pools V4 da wallet",
    "─── CAMINHO FRIO (você chama; o pipe NÃO passa por aqui) ───",
    "/poolconfig?chain=base&seed=1&minTvl=1000000  → CADASTRA os pares de TODAS as pools acima do piso de TVL. Rode UMA vez.",
    "/poolconfig?chain=base&refresh=all   → cadastra os pares dos pools que já estão no cadastro de posições",
    "/poolconfig?chain=base&patchMeta=1   → SÓ propaga version + token.wrapped (ícone do nativo). NÃO toca em âncora, não consulta subgraph. Idempotente.",
    "/poolconfig?chain=base               → lista o cadastro de pares",
    "/poolconfig?chain=base&poolId=0x...  → um pool; &refresh=1 reconstrói (⚠ pode trocar a âncora)",
    "  (&force=1 reconstrói inclusive os já prontos)"
  ]
}