Vast.ai Balance: Check Credits & Set Up a Read-Only API Key

Check your Vast.ai USD credit balance. Follow scoped API key setup, personal and team account checks, first-sync reconciliation and 2FA troubleshooting.

Awaiting live-account verification

Guide updated

Implemented from official documentation; live-account verification is pending. Signed-in key creation, user_read access, 2FA compatibility and dashboard amounts have not been tested. Automated checks and deployment are not account verification.

Required credentials
Vast.ai scoped API Key
Monitoring currency
USD · US dollars
What is monitored
Account Credits · USD
The fixed GET https://console.vast.ai/api/v0/users/current/ endpoint reads the personal or team account selected by the Bearer key (scope=account). The authentication guide and official CLI use credit; the Show User reference uses balance. Both represent dollar balance and must match exactly if both are returned. Personal and team funds are separate.

Check Vast.ai balance without sharing a key

  1. Sign in with the paying identity and open Billing. Confirm the selected personal account or team first.
  2. Read account Credits / balance, not host earnings, total invoices or another team's funds.
  3. If funding is needed, review the account and amount in Vast.ai's own payment flow and confirm it posts. Manual checking requires no key or verification code to be shared with Quota Monitor.
Open official Vast.ai page(opens in a new tab)

Connect Vast.ai to Quota Monitor

  1. Confirm the paying personal or team account

    Open the official Billing page and sign in with the identity that pays for your GPU use. For a team, switch to the intended team in the console before checking its balance.

    Check: you can distinguish personal funds from team funds. You do not need to top up, rent a GPU or generate content to configure monitoring.

  2. Review what user_read can access

    Open API Keys and plan a separate Quota Monitor key. Show User belongs to user_read; billing_read alone covers invoices and earnings, not this balance read.

    user_read also permits access to API keys, SSH keys, environment variables and other account data. If that scope is unacceptable, stop and use the manual check below. Do not accept default full access or add write permissions.

  3. Prepare the copyable permission configuration

    Copy the complete JSON below. For the official CLI, save it as a new local file named quota-monitor-vast.json; it contains no secret. It selects user_read only, without instance_write, user_write, billing_write or misc.

    This is the smallest relevant category documented by Vast.ai, not an endpoint-only balance policy. Do not invent internal action names. If the console uses checkboxes instead, select only the matching user_read category.

    Vast.ai read-only policy JSON

    {
      "api": {
        "user_read": {}
      }
    }

    Copies the complete JSON without keys or account details.

  4. Create a dedicated scoped key

    In API Keys select + New, enter a recognizable name such as Quota Monitor balance, change the default full permissions to user_read only, review and select Create. Leave existing application keys unchanged.

    If your official CLI is already securely configured, use vastai create api-key --name "Quota Monitor balance" --permission_file quota-monitor-vast.json in your own terminal. If the UI or permissions differ, stop and ask Vast.ai; do not fall back to a full-access key.

  5. Save the secret and add the project connection

    Save the complete new secret in a password manager before closing its one-time display. You need the secret, not its name, ID, masked suffix or a Bearer header; replace a lost key instead of guessing.

    In Quota Monitor open your project → add provider connection → new connection → Vast.ai (USD). Use a recognizable connection name and paste the key into the masked field, then save. No account ID, project filter or custom URL is needed. Never paste keys into chat, URLs or screenshots.

  6. Reconcile the first successful sync

    Wait for the first sync or refresh once the cooldown ends. Check the successful query time and compare Billing for the same personal or team account: credit=25 or balance=25 means $25, not $0.25.

    If both fields arrive they must match exactly; a conflict is an error. REST/MCP exposes the same snapshot in vastBalance without a second usage deduction. Allow for display rounding and compare timestamps, not unrelated invoices.

  7. Use the official billing page when funds are low

    The card's Open provider button opens Billing. Verify the signed-in personal or team account matches this connection before an authorized person decides whether to add funds. Quota Monitor does not pay or transfer credit.

    Compute and storage can change the balance continuously. Stopping an instance does not necessarily stop storage charges; monitoring never operates instances. Refresh after funds post, and never disable protections to resolve a 2FA prompt.

  8. Rotate or stop the monitoring key

    For routine rotation create a replacement with the same limited permissions, update this connection through the secure form, verify sync, then revoke the old monitoring key in Vast.ai. Revoke immediately if exposure is suspected.

    Removing a project association does not revoke the upstream key; other projects may use that connection. When stopping all monitoring, handle the connection and its dedicated provider key separately. Do not share full account responses or secrets with support.

What Quota Monitor reads from Vast.ai

  • 25 means $25, not cents or model calls. Do not subtract usage, invoices or estimated spending, or add host earnings, deposits, card limits or project budgets.
  • Keys and Quota Monitor projects sharing an upstream account share its funds. Do not sum duplicate balances. Teams have separate funds; this connector does not switch accounts by ID, create teams or transfer credit.
  • Zero and negative amounts are preserved. Missing, conflicting, malformed or failed responses keep the previous successful snapshot and timestamp, never fabricate zero. Query time is not a settlement or instance-availability guarantee.
  • Only account information is read. Email, API keys, SSH keys and other unrelated response fields are discarded, not exposed. The connector does not list other resources, rent instances, run models, transfer funds, top up or change permissions.
  • Accounts using 2FA may require an additional authentication session, which is not supported. Never disable 2FA for monitoring or submit verification codes, recovery codes or TFA sessions. Ask Vast.ai about a safe long-lived API option, or use manual checking.
  • The dashboard shows the latest successful snapshot. Manual refresh queries the provider again but cannot eliminate upstream billing delays. An old balance is not a new result after a failed query.

Vast.ai FAQ and troubleshooting

What should I do about 401 or 403?
Check the complete key is active and has the required user_read access; billing_read is not a substitute. If Vast.ai requires a 2FA session, this connection mode is unsupported. Do not disable 2FA, submit codes or TFA sessions, or broaden permissions. Use manual checking and ask the provider.
Why does another page show a different amount?
Compare Billing for the same personal or team account. Host earnings, top-up history, invoice totals and other teams are different amounts. Keys created after changing team context may belong to a different account. Do not create or delete teams to test monitoring.
Does zero or a negative balance prove instances cannot run?
It is the provider's money figure, not an availability test. Storage may keep charging after an instance stops, and other access conditions are independent. Quota Monitor does not rent GPUs to test availability or clamp a negative value to zero.
Why do credit and balance conflict, or why is invalid_response shown?
Official references use two field names. Either is accepted, but both must agree exactly when present. Missing, null, malformed values or error signals fail the sync and retain the old time and amount; no field takes guessed precedence.
What happens after 429 or a failed refresh?
Wait for the cooldown before retrying and inspect the last successful query time. Network, authorization and server failures never become a new zero balance. Share only a redacted error code and timestamp, not the key or raw account response.
Has this been verified with a real account?
Not yet. Test personal/team key creation, scoped permissions and 2FA behavior, then compare the USD amount in the console, Quota Monitor and MCP. Simulated data and a successful release cannot replace those checks.

Official Vast.ai references

Prepared by Quota Monitor, not an official provider tutorial. Interfaces and permissions may change; check official pages. Verification is limited to the scope stated here.

Monitor Vast.ai automatically

Checking a console by hand is easy to forget. Quota Monitor reads Vast.ai through its official API for you.

  • Refreshes every 10 minutes by default, and you can refresh manually at any time.
  • Low balances, invalid keys, and sync failures appear at the top of your overview.
  • Group accounts by project, and ask about balances from AI assistants such as Claude through remote MCP.
Start for free