Interface: MCP (via alter-cli mcp)
Alter version: 1.25.0 (alter-cli, alter-mcp, meta.server_version tous en 1.25.0 — aucun décalage binaire/serveur)
Platform: macOS 26.6.1 (Build 25G76)
Date: 2026-08-14
Résumé
Sur une requête network: "gnosis", le pool d'endpoints inclut des RPC d'autres chaînes (Ethereum, Optimism, Base, Arbitrum, Polygon). 17 appels sur 20 échouent, et le résultat est un faux négatif silencieux (total_active_borrowers: 0) au lieu d'une erreur.
Les 3 endpoints Gnosis valides du pool répondent correctement — le problème n'est pas la disponibilité réseau, mais la sélection d'endpoints.
Repro
alter-cli mcp address.lending_risk_score --json '{
"pool_address":"0xfb9b496519fca8473fba1af0850b6b8f476bfdb3",
"variable_debt_token_addresses":["0x69c731ae5f5356a779f44c355abb685d84e5e9e6"],
"network":"gnosis"
}' --timeout 180
Observé — meta.rpc_metrics.endpoints_used
calls_total: 20, calls_failed: 17
https://gnosis-mainnet.public.blastapi.io calls:1 failed:1
https://rpc.ankr.com/gnosis calls:1 failed:1
https://gnosis.api.onfinality.io/public calls:1 failed:1
https://1rpc.io/gnosis calls:1 failed:1
https://gnosis-rpc.publicnode.com calls:1 failed:None
https://rpc.gnosischain.com calls:1 failed:None
https://rpc.gnosis.gateway.fm calls:1 failed:None
https://rpcfree.com/polygon-rpc calls:1 failed:1 ← Polygon
https://cloudflare-eth.com calls:1 failed:1 ← Ethereum
https://eth.drpc.org calls:1 failed:1 ← Ethereum
wss://eth.drpc.org calls:1 failed:1 ← Ethereum
wss://mainnet.gateway.tenderly.co calls:1 failed:1 ← Ethereum
https://optimism.drpc.org calls:1 failed:1 ← Optimism
https://base.drpc.org calls:1 failed:1 ← Base
https://arbitrum.drpc.org calls:1 failed:1 ← Arbitrum
8 des 15 endpoints appartiennent à d'autres chaînes que Gnosis (chain_id 100).
Santé réelle des RPC (test direct, hors Alter, eth_blockNumber)
OK https://rpc.gnosischain.com bloc=47727047 307ms
OK https://rpc.gnosis.gateway.fm bloc=47727047 321ms
FAIL https://gnosis-rpc.publicnode.com HTTP 403
FAIL https://gnosis-mainnet.public.blastapi.io HTTP 403
FAIL https://rpc.ankr.com/gnosis pas de 'result'
FAIL https://1rpc.io/gnosis HTTP 403
Deux endpoints Gnosis sont pleinement fonctionnels. Alter en a 3 marqués failed: None dans son propre pool, et retourne quand même 0.
Attendu
- Une requête
network: "gnosis" ne doit interroger que des endpoints de chain_id: 100.
- Si des endpoints hors-chaîne restent dans le pool, leurs échecs ne doivent pas compter comme des échecs de la requête.
- Avec ≥1 endpoint sain, le résultat doit être correct — ou signalé en erreur explicite, jamais
0 avec note: "No active borrowers found".
Impact
Faux négatif silencieux. Sur ce pool, la vérité terrain mesurée le même jour en RPC direct est :
- 1473 positions actives, $14 711 302 de dette, 200 liquidables (13,58 %)
- Alter annonce
total_active_borrowers: 0, total_debt_usd: 0.0, avec note: "No active borrowers found for this pool. It may have no outstanding debt"
Un agent qui fait confiance à cette réponse conclut que le pool est vide.
Problème connexe — chain.add ne met pas à jour les RPC
alter-cli mcp chain.add --json '{"chain_id":100,"rpc_urls":["https://rpc.gnosischain.com","https://rpc.gnosis.gateway.fm"],"display_name":"Gnosis"}'
→ {"success": false, "error": "chain_already_exists",
"message": "A chain with chainId 100 already exists"}
Il n'existe donc aucun moyen de corriger le pool d'endpoints d'une chaîne déjà enregistrée. Souhait : que chain.add soit idempotent (met à jour rpc_urls), ou qu'un chain.set_rpc_urls / chain.refresh(rpc_urls:[...]) existe.
Suggestion
result_confidence vaut partial / rpc_degraded dans ces réponses — c'est le bon signal, mais il est facile à manquer. Avec 17/20 appels en échec, un résultat à zéro mériterait failed plutôt qu'un note en langage naturel affirmant l'absence de dette.
Interface: MCP (via
alter-cli mcp)Alter version: 1.25.0 (
alter-cli,alter-mcp,meta.server_versiontous en 1.25.0 — aucun décalage binaire/serveur)Platform: macOS 26.6.1 (Build 25G76)
Date: 2026-08-14
Résumé
Sur une requête
network: "gnosis", le pool d'endpoints inclut des RPC d'autres chaînes (Ethereum, Optimism, Base, Arbitrum, Polygon). 17 appels sur 20 échouent, et le résultat est un faux négatif silencieux (total_active_borrowers: 0) au lieu d'une erreur.Les 3 endpoints Gnosis valides du pool répondent correctement — le problème n'est pas la disponibilité réseau, mais la sélection d'endpoints.
Repro
Observé —
meta.rpc_metrics.endpoints_used8 des 15 endpoints appartiennent à d'autres chaînes que Gnosis (chain_id 100).
Santé réelle des RPC (test direct, hors Alter,
eth_blockNumber)Deux endpoints Gnosis sont pleinement fonctionnels. Alter en a 3 marqués
failed: Nonedans son propre pool, et retourne quand même 0.Attendu
network: "gnosis"ne doit interroger que des endpoints dechain_id: 100.0avecnote: "No active borrowers found".Impact
Faux négatif silencieux. Sur ce pool, la vérité terrain mesurée le même jour en RPC direct est :
total_active_borrowers: 0,total_debt_usd: 0.0, avecnote: "No active borrowers found for this pool. It may have no outstanding debt"Un agent qui fait confiance à cette réponse conclut que le pool est vide.
Problème connexe —
chain.addne met pas à jour les RPCIl n'existe donc aucun moyen de corriger le pool d'endpoints d'une chaîne déjà enregistrée. Souhait : que
chain.addsoit idempotent (met à jourrpc_urls), ou qu'unchain.set_rpc_urls/chain.refresh(rpc_urls:[...])existe.Suggestion
result_confidencevautpartial/rpc_degradeddans ces réponses — c'est le bon signal, mais il est facile à manquer. Avec 17/20 appels en échec, un résultat à zéro mériteraitfailedplutôt qu'unnoteen langage naturel affirmant l'absence de dette.