You want to move an Agent from one account to another — typically from your personal account to an organization, or between two orgs you are a member of.
Prerequisites
- You are a member of both the source account and the destination account.
- The destination account is an organization with an active Stripe subscription. Personal accounts cannot receive transfers (they have a single owner by definition); the API returns 400 otherwise.
- The Agent is in
runningorstoppedstate. Transitional states (provisioning, starting, stopping, destroying) reject the transfer. - The Agent is always re-attached to metered (pay-as-you-go) billing on the destination, regardless of the source billing type — if the source was on subscribe-and-save, expect the destination invoice to bill per-hour for compute starting at the transfer timestamp. Re-subscribe on the destination after the transfer if you want a flat rate.
From the dashboard
- Open the Agent's settings page on the source account:
/dashboard/agents/{id}/settings, and find the Transfer section. - The dropdown lists the organizations you belong to that have billing set up (excluding the source account).
- Pick the destination, click Transfer agent, and confirm in the dialog that lists what changes.
The transfer is atomic: the Agent's usage history splits cleanly at the transfer moment — the source keeps everything up to that point, and new usage accrues on the destination. The Agent keeps running throughout.
What happens to the virtual key
If the Agent has an attached virtual key (cg-pk-…), it keeps working on the destination with no re-export — the same token carries over. The source account keeps the key's past usage on its own invoices for attribution.
After the transfer
- The source account's compute billing closes at the transfer timestamp.
- The destination account's compute billing opens; it is always metered immediately after a transfer regardless of the source billing type.
- If the Agent was on subscribe-and-save, the source account keeps that monthly slot — it is freed for the next same-size, same-region Agent, and stays on the source subscription until you remove it from
/dashboard/billing. - The Agent's URL does not change.
- The VM keeps running through the transition.