Migrate to the new IBM Quantum Platform (early access)
This guide is for users who do not have Premium access and want to start using the updated version of IBM Quantum® Platform (which runs on IBM Cloud®). If you have Premium access, contact your administrator for instructions.
The updated version of IBM Quantum Platform is in early access mode. Therefore, you can log on, create instances, run jobs, and so on, but some functions are not available yet. If you need to use functions that are not yet available, use the classic IBM Quantum Platform or Qiskit Runtime on IBM Cloud instead.
Benefits
The new version of IBM Quantum Platform is very similar to the current interface, but provides the flexibility to add features that would be difficult or impossible to deploy with the classic platform. Examples include enhanced data privacy and security, a streamlined notifications experience, and multiple language options.
Major differences
There are a few major changes you will see in the updated IBM Quantum Platform:
- For Open Plan users, there is no longer a limit to the number of jobs you can have in the queue.
- Open Plan users cannot run session jobs. Previously, if you tried to run a job in a session, it was run in job mode. Now, if you try to run a job in a session, the job fails. Instead, Open Plan users should explicitly write their code to run in job or batch mode. See execution modes to learn how to set the execution mode.
- When activating the service, an instance is required, and the channel must be set to
ibm_cloud
. The instance is specified by the its cloud resource name (CRN). - Quantum computers powered by the state-of-the-art IBM Quantum Heron processor are available through the Open Plan.
- For classic IBM Quantum Platform users, the hierarchical authorization structure has changed. That is, there are no hubs, groups, or projects in the new platform. All user management is done through IBM Cloud identity and access management (IAM). By default, access groups are created for you when you create an instance through the IBM Quantum Platform user interface.
Instances
Instances are virtual servers that manage your workload execution, including executing quantum programs and classical compute tasks (such as processing error mitigation). Instances are specified by their Cloud Resource Name (CRN).
You can see the instances you have access to on the dashboard or by clicking the Instances tab from the dashboard. Each instance is listed with its CRN identifier. You need to include this identifier when connecting to Qiskit Runtime via the QiskitRuntimeService
object when using qiskit-ibm-runtime
in a Python environment.
Available plans
The following plans are available to non-Premium users:
- Open - Free plan with 10 minutes of access to quantum computers per 28-day period.
- Standard - Pay only for your actual usage.
The Lite Plan is deprecated and will be removed on 14 March 2025.
Current IBM Quantum Platform users
Instead of accessing the classic IBM Quantum Platform, you will now access the updated version of IBM Quantum Platform, which is integrated with IBM Cloud. Because of this integration, all users need to follow the onboarding instructions before using the new platform.
Onboard
Follow these steps to start using the new version of IBM Quantum Platform.
- If you don't already have one, register for an IBM Cloud account. If you already have an IBM Quantum Platform account, use the same email for this account.
- Create an instance.
- Log on to the new IBM Quantum Platform. Choose IBMid and enter your IBM Cloud account information. The dashboard opens.
- If you do not already have an instance, Click Create instance on the dashboard page.
Note
If you have already created an instance, go to your account administration page to create new ones.
- Specify a name and choose the type of plan you want. Scroll down to see the Terms link. After reading the terms, select the agree checkbox and click Next.
- On the Plan inheritance page, leave the default setting (toggle is not enabled) and click Next if you're setting up an Open instance. If you are not setting up an Open instance and you want a fixed set of QPUs to be available to this plan, enable the "Customize allocated compute resources" toggle, choose the QPUs you want this instance to be able to access, then click Next.
Note
If you customize the allocated compute resources, the available QPUs will never be automatically updated, regardless of any changes made to the parent plan. However, you can manually add or remove QPUs later. If you do not customize them, you will always have access to any QPU the account has access on the plan. So if in the future there is a new system added to the plan, the instance automatically has access to it.
- Choose whether you want an access group to be created for this instance and click Create instance. For an Open instance, you probably don't need an access group, although creating one won't impact your usage unless you add another user to the group. You can add or remove access groups at any time from IBM Cloud. To learn more, see Setting up access groups.
- Set up your credentials using the following steps.
- Set the channel to
ibm_cloud
. If you previously set your default channel toibm_quantum
in your saved credentials, you need to update that setting. If you were previously working with Qiskit Runtime on IBM Cloud, you can skip this. - Specify the instance's CRN. To copy the instance CRN, go to your dashboard, go to Instances, and click the copy icon at the end of the instance's row.
- Optionally name this set of credentials.
- Set the channel to
Set up your credentials
-
Create an API key from the IBM Quantum Platform dashboard.
NoteThis API key is only visible for a short amount of time so be sure to store it in a safe place. To manage your API key, including copying it again, you need to use IBM Cloud. See Managing user API keys for instructions.
-
Use your API key to activate your Python virtual environment. See the installation instructions if you do not already have a virtual environment set up.
If you are working in a trusted Python environment (such as on a personal laptop or workstation), use the
save_account()
method to save your credentials locally. (Skip to the next step if you are not using a trusted environment, such as a shared or public computer, to authenticate to IBM Quantum Platform.) To usesave_account()
, runpython
in your shell, then enter the following:token = "<your-API-token>"
from qiskit_ibm_runtime import QiskitRuntimeService QiskitRuntimeService.save_account( token=token, channel="ibm_cloud", # `channel` distinguishes between different account types. instance="instance-CRN", # Copy the instance CRN from the Instance section on the dashboard. name="account-name", # Optionally name this set of credentials. overwrite=True # Only needed if you already have Cloud credentials. )
Run
exit()
to close the Python shell. From now on, whenever you need to authenticate to the service, you can load your credentials withQiskitRuntimeService()
.# Load default saved credentials service = QiskitRuntimeService()
# Load saved credentials if you specified a name service = QiskitRuntimeService(name="account-name")
- If you have saved credentials for both an IBM Quantum Platform account and an IBM Cloud account, IBM Cloud is the default account used when you initialize your account, unless you specify
set_as_default=True
in your IBM Quantum Platform account when you use thesave_account()
method. - If you previously saved an IBM Quantum Platform account as the default, specify
set_as_default=True
for your new cloud account when you use thesave_account()
method. - If you are saving multiple accounts per channel, consider using the
name
parameter to differentiate them. - Credentials are saved to
$HOME/.qiskit/qiskit-ibm.json
. Do not manually edit this file.
- If you have saved credentials for both an IBM Quantum Platform account and an IBM Cloud account, IBM Cloud is the default account used when you initialize your account, unless you specify
-
Avoid executing code on an untrusted machine or an external cloud Python environment to minimize security risks. If you must use an untrusted environment (for example, a public computer), change your API key after each use by creating a new one on the IBM Quantum Platform dashboard to reduce risk. To initialize the service in this situation, you can use code like the following:
from qiskit_ibm_runtime import QiskitRuntimeService # After using the following code, go to the IBM Cloud API keys page (https://cloud.ibm.com/iam/apikeys) # and disable your API key (click Enabled slider in the API key field) service = QiskitRuntimeService(channel="ibm_cloud", token="<MY_IBM_QUANTUM_TOKEN>", instance="<MY_INSTANCE_CRN>")
CautionWhen sharing code with others, ensure that your API key is not embedded directly within the Python script. Instead, share the script without the token and provide instructions for securely setting it up.
If you accidentally share your token with someone or include it in version control like Git, immediately revoke your token by creating a new one on the IBM Quantum Platform dashboard to reduce risk.
Current Qiskit Runtime on IBM Cloud users
These updates are designed to enhance your workflow while keeping your IBM Cloud integration intact.
New interface
Until now, you’ve been using the IBM Cloud interface to create and manage your Qiskit Runtime instances. With the launch of the new IBM Quantum Platform, you can still view existing instances in IBM Cloud, but managing them in IBM Quantum Platform gives you deeper insights and control.
The new IBM Quantum Platform offers a quantum-first experience:
- More workload insights – Better visibility into jobs and sessions.
- Improved analytics – Understand and optimize performance like never before.
- Greater control – Track, manage, and fine-tune workloads efficiently.
This transition enhances security, scalability, and user experience while keeping the IBM Cloud integration intact.
Steps to migrate
- If you currently use the Standard Plan, you dont' have to do anything. You'll just use the new IBM Quantum Platform interface.
- If you currently use the Lite Plan (deprecated), you can switch to using simulators locally. Optionally, you can create instances in the Open Plan, which lets you run jobs on quantum hardware.