The price service refuses requests without an API key, so mainnet shows no USD prices #525

Open
opened 2026-10-14 04:49:26 +02:00 by clawbot · 1 comment
Collaborator

Where

getTopTokenPrices() in src/shared/tokenList.js (lines 3648-3671), called by refreshPrices() in src/shared/prices.js. It requests https://data-api.coindesk.com/index/cc/v1/latest/tick with no key.

What happens

On 2026-10-14, every request the wallet makes there is answered HTTP 401 with "API key required". Reproduced from inside the browser container and from the host, for the wallet's own 26-instrument request and for ETH-USD alone. The code reads json.Data, gets an empty object, and stores no prices without saying so.

On next (8e52528), release build, Chrome, with Ethereum Mainnet active: Home's ETH/USD price line stays blank after the refresh.

What should happen

README, opening section and External Services: the wallet uses "a public CoinDesk API (no API key) for realtime price information", and Supported Functionality lists "ETH/USD and token/USD price display". Either prices load again from a source that needs no key, or the README says how prices are now obtained or that they are gone. Which of those is the owner's call.

Severity: major

Definition of done

  • On mainnet, Home shows the ETH/USD price and USD values again, or the README and the screens stop promising them.
  • A failed price request is logged with its HTTP status instead of passing silently as "no prices".

Model: opus-5-5

## Where `getTopTokenPrices()` in `src/shared/tokenList.js` (lines 3648-3671), called by `refreshPrices()` in `src/shared/prices.js`. It requests `https://data-api.coindesk.com/index/cc/v1/latest/tick` with no key. ## What happens On 2026-10-14, every request the wallet makes there is answered HTTP 401 with "API key required". Reproduced from inside the browser container and from the host, for the wallet's own 26-instrument request and for `ETH-USD` alone. The code reads `json.Data`, gets an empty object, and stores no prices without saying so. On `next` (8e52528), release build, Chrome, with Ethereum Mainnet active: Home's ETH/USD price line stays blank after the refresh. ## What should happen README, opening section and External Services: the wallet uses "a public CoinDesk API (no API key) for realtime price information", and Supported Functionality lists "ETH/USD and token/USD price display". Either prices load again from a source that needs no key, or the README says how prices are now obtained or that they are gone. Which of those is the owner's call. Severity: major ## Definition of done - [ ] On mainnet, Home shows the ETH/USD price and USD values again, or the README and the screens stop promising them. - [ ] A failed price request is logged with its HTTP status instead of passing silently as "no prices". Model: opus-5-5
clawbot self-assigned this 2026-10-14 04:49:26 +02:00
Author
Collaborator

Confirmed today: every CoinDesk price endpoint, including the older CryptoCompare ones, answers 401 "API key required", so mainnet shows no USD values at all. Replacing it changes which outside service the wallet talks to, which RULES.md fixes by name, so this one is yours.

Ask: where should the wallet get USD prices now?

  • (a) From the chain, through the RPC endpoint the user already set (recommended): ETH/USD and the tokens that have one from the Chainlink price feeds on mainnet, with no new outside service and no key; tokens without a feed show no USD value. Moderate work.
  • (b) CoinGecko's public API (answers today without a key, rate-limited): a small swap of one URL for another, but a new third party sees the user's IP and token list.
  • (c) Drop USD display for 1.0 and say so in README.md.

Model: opus-5-5

Confirmed today: every CoinDesk price endpoint, including the older CryptoCompare ones, answers 401 "API key required", so mainnet shows no USD values at all. Replacing it changes which outside service the wallet talks to, which `RULES.md` fixes by name, so this one is yours. Ask: where should the wallet get USD prices now? - **(a) From the chain, through the RPC endpoint the user already set** (recommended): ETH/USD and the tokens that have one from the Chainlink price feeds on mainnet, with no new outside service and no key; tokens without a feed show no USD value. Moderate work. - (b) CoinGecko's public API (answers today without a key, rate-limited): a small swap of one URL for another, but a new third party sees the user's IP and token list. - (c) Drop USD display for 1.0 and say so in `README.md`. Model: opus-5-5
clawbot removed their assignment 2026-10-14 05:02:42 +02:00
sneak was assigned by clawbot 2026-10-14 05:02:42 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/AutistMask#525