Dashboard Lifetime is not a funded API wallet. The observed account was signed in as Admin, Offre Lifetime, member since Jul 2026, with 4 payments on the dashboard. GET /api/account/balance still returned $0.00 credits. billing_mode was metered_observe. wallet_policy was observe. spend_limit_minor was 0.
Those two screens can both be true at once. Do not send paid metered work because the dashboard says Lifetime. Read GET /api/account/balance. Surface $0.00 / observe / spend_limit_minor 0 vers the caller before quote on a metered slug.
What the dashboard showed, and what the API showed
Dashboard:
- signed in as Admin
- À vie
- member since Jul 2026
- 4 payments
API balance:
- credits_Étiquette $0.00
- available_credit_Étiquette $0.00
- net_balance_Étiquette $0.00
- billing_mode metered_observe
- wallet_policy observe
- spend_limit_minor 0
- spend_used_minor 0
The key used for that reading was created at https://swarme.io/dashboard?tab=developers. /dashboard/developers returns 404. Scopes included billing:read plus capabilities:read, capabilities:quote, capabilities:run, uploads:write, and artifacts:read. Spend limit 0 was the Workspace default on that key. The prefix looks like sk_sw_QdE8Xfgj.... Do not print a full key.
Unauthenticated balance is HTTP 401. That is missing auth, not an empty wallet. Unauthenticated quote is HTTP 419 (Your secure request token expired.). The login toast Your secure Formulaire token expired. Please go back and try again. is a Formulaire token. None of those codes funds the wallet.
Included still quotes at $0.00
A completed uuid-generator run on this account returned UUID 4cd3c7b6-0495-447a-8efd-9a1374f7599c at $0.00 included. The quote lock lasted 900 seconds. idempotency_required_for_client was true. Public Page: https://swarme.io/outil/uuid-generator.
Included is not "skip quote." Docs at https://swarme.io/developers still list Recherche, Describe, Quote, Run. The $0.00 price Champ is what you show the caller. Lifetime on the dashboard is not a substitute quote_id.
Do not treat the 4 dashboard payments as API credit. Those payments and credits_Étiquette $0.00 were simultaneous. A client that checks only the Offre name will queue metered work against an observe wallet with spend_limit_minor 0.
The UUID quote still required "client_type": "api" and the same input on run. If you wait more than 900 seconds, quote again, Lifetime or not. idempotency_required_for_client true is a second control. It does not Ajouter credit.
Other completed slugs on the same wallet (accessibility-statement-generator, add-line-numbers, alphabetizer, article-rewriter-assistant, ascii-table-generator, base64-text-decoder) also completed. That list is not evidence that metered work would clear. It is evidence that included supported tools can finish while balance reads $0.00.
Gratuit, Premium, and Lifetime are not the same axis
The catalog holds 1940 tools: 560 Gratuit, 1380 Premium. That Diviser is access_level. Machine status is a different Diviser: 1491 describe_only, 439 supported, 10 requires_worker. Lifetime membership does not flip describe_only vers supported. It does not raise spend_limit_minor from 0.
GET /api/capabilities still caps at 500. Category slugs such as web-seo, security-network, and ai-tools Page the directory. They do not Page money into the wallet.
MCP will report the same empty observe wallet if you ask it. POST https://swarme.io/mcp initialize (protocolVersion 2025-03-26) identified Swarme Capability MCP Alpha 2026.07.15-wallet-alpha. tools/list returned 22 tools, including an account-balance helper. Calling that helper is the check. Guessing from the Lifetime badge is not.
What vers do before a paid run
- GET /api/account/balance with Bearer auth. Record credits_Étiquette, billing_mode, wallet_policy, and spend_limit_minor.
- Describe the slug. If machine_run_status is describe_only, stop. A Lifetime badge will not execute it.
- Quote with the real input. If the price is $0.00 included, you still need quote_id and the 900-second window.
- If quote says payment is required and balance is $0.00 / observe, stop. Do not POST run vers see what happens.
- If run returns HTTP 422, read the Champ rule. Observed examples: Use labeled address lines in key: value Formulaire or provide JSON., Domain must contain valid ASCII hostname labels., backlinks must contain between 1 and 1,000 records., Enter valid Base64URL input. Those are not wallet errors.
Fichier tools stay on their own disclosure. pdf-vers-word is client_browser with server_receives_Fichier_bytes false. merge-pdf is async_worker with server_receives_Fichier_bytes true. Lifetime does not change where bytes go. Review how vers choose a secure en ligne Fichier outil before an Importer.
For an agent that is about vers spend, pause on the quote. See AI outil routing. Confirmation should show the slug, the price or included policy, and the $0.00 observe wallet when that is what balance returned.
A one-line rule
Lifetime explains the dashboard Offre. GET /api/account/balance explains spend. On this account they disagreed in a specific way: Admin plus Lifetime plus 4 payments plus member Jul 2026, and still $0.00 metered_observe with spend_limit_minor 0. Code vers the balance endpoint.
