Subscription data and expiry: where the numbers on the card come from
Every profile card on the Profiles page shows used/total traffic and an expiry date. The client does not calculate those numbers; the subscription server hands them over in an HTTP response header.
The header in question
When a provider returns subscription content, it can attach a subscription-userinfo line that looks like this:
subscription-userinfo: upload=1234; download=567890; total=107374182400; expire=1767225600
All three traffic fields are in bytes; expire is a Unix timestamp. The client only converts them into gigabytes and a date, so accuracy is entirely down to how the provider counts.
Why some subscriptions show nothing
- The provider simply does not send the header — common with self-hosted nodes and free subscriptions;
- The profile was imported from a local file, so there was never an HTTP response;
total=0means unmetered, and the progress bar is hidden.
When it disagrees with the dashboard
First hit the refresh button on the card to force a fresh download. The client reads the header only at the moment it downloads a subscription — it never polls — so what you see is a snapshot from the last update. If it still disagrees, the provider's accounting is usually lagging, or traffic from your phone or router is counted there but unknown here. Multiplier nodes (the IPLC routes labelled 2x or 3x) also burn quota faster than the download figure suggests; that is a billing rule, not a client bug.