Skip to main content
Mullvad VPN uses a unique account system based on randomly generated account numbers. This guide covers account creation, authentication, and voucher redemption.

Account Overview

Mullvad accounts are identified by a unique account number rather than email addresses or usernames. This privacy-focused approach means:
  • No personal information is required
  • Account numbers are randomly generated
  • You’re responsible for saving your account number securely
  • Account time is purchased in advance (prepaid model)

Creating a New Account

You can create a new Mullvad account directly from the CLI, which automatically logs you in.
1

Create Account

Use the account create command to generate a new account:
This command:
  • Generates a new random account number via CreateNewAccount RPC
  • Automatically logs you into the new account
  • Creates a device entry for your current machine
  • Displays your account information
2

Save Your Account Number

After creation, you’ll see output like:
Important: Save this account number securely. You’ll need it to log in on other devices.
3

Add VPN Time

New accounts come with limited trial time. Add more time using:

Logging In

Log into an existing Mullvad account on your device.
1

Interactive Login

Run the login command without an account number to be prompted:
You’ll be prompted:
Type or paste your 16-digit account number.
2

Direct Login

Alternatively, provide the account number directly:
On success:

What Happens During Login

The LoginAccount RPC performs several operations:
  1. Validates the account number with Mullvad’s API
  2. Creates or retrieves a device entry for your machine
  3. Generates a WireGuard keypair for secure connections
  4. Registers the device with your account
  5. Stores authentication credentials locally
Each device is assigned a random name (e.g., “Happy Seagull”, “Brave Dolphin”) for easy identification. See Device Management for details.

Viewing Account Information

Check your current account status and details.

Basic Information

Displays:

Verbose Output

Get detailed account and device information:
Includes additional fields:
The GetAccountData RPC retrieves account expiration time from the API. The daemon calls UpdateDevice internally to ensure device information is current.

Account States

Your account can be in one of three states:

Logged In

You’re authenticated with a valid account number and active device. The DeviceState is LOGGED_IN.

Logged Out

No account is configured on this device. The DeviceState is LOGGED_OUT.

Revoked

Your device was removed from the account (manually or due to device limits). The DeviceState is REVOKED.
If your device is revoked, you’ll need to log in again. This will create a new device entry (counting toward your device limit).

Logging Out

Remove your account from the current device and delete its device entry.
Output:

What Happens During Logout

The LogoutAccount RPC:
  1. Removes the device entry from your account on the API
  2. Deletes the WireGuard keys for this device
  3. Clears stored account credentials locally
  4. Frees up a device slot for your account
Always log out when you’re done using Mullvad on a device you no longer need. This prevents hitting the device limit and ensures old devices can’t reconnect.

Voucher Redemption

Vouchers add VPN time to your account. Purchase vouchers from authorized resellers or use promotional codes.
1

Obtain a Voucher

Vouchers are alphanumeric codes (e.g., ABCD-1234-EFGH-5678) that can be purchased from:
  • Mullvad’s website
  • Authorized resellers
  • Promotional campaigns
2

Redeem the Voucher

Use the account redeem command:
The command automatically strips hyphens and non-alphanumeric characters, so these formats all work:
3

Confirm Time Added

On success, you’ll see:
The SubmitVoucher RPC returns:
  • seconds_added: Duration added to your account (in seconds)
  • new_expiry: Your updated account expiration date

Voucher Validation

The daemon validates vouchers through the API. Common errors:
  • Invalid voucher: Code doesn’t exist or was mistyped
  • Already used: Voucher has been redeemed on another account
  • Expired: Voucher is past its expiration date

Account History

The daemon maintains a local history of accounts you’ve logged into on this device.

View Account History

The GetAccountHistory RPC retrieves the most recent account number:

Clear Account History

Remove stored account history from local settings:
Account history is stored locally only. Clearing it doesn’t affect your account on Mullvad’s servers.

Web Authentication Tokens

Get a temporary token to authenticate with Mullvad’s web interface.

Generate Auth Token

The GetWwwAuthToken RPC generates a short-lived token:
This token provides temporary access to your account on the Mullvad website, useful for:
  • Viewing detailed account information
  • Managing payment methods
  • Reviewing connection history
  • Downloading invoices
Web auth tokens expire quickly. Don’t share them as they provide full access to your account.

CLI Reference

gRPC Service Reference

The management interface provides these account-related RPCs:

AccountData Message

VoucherSubmission Message