Backup and recovery for the Coinbase Prime Onchain Wallet — an encrypted backup of your recovery passphrase with the CoinCover CLI, and ACL-approved recovery through CoinCover Control.
The Coinbase Prime Onchain Wallet is non-custodial: your organisation holds full control of its onchain key, and access depends on one secret — the recovery passphrase created when your onchain signer first sets up the wallet. Coinbase cannot restore it for you. If every onchain signer loses access and the passphrase is lost too, the wallet can’t be restored.CoinCover protects that passphrase. You encrypt it on your own machine with the CoinCover Key Vault CLI and store only the ciphertext with CoinCover. If you ever need it back, you raise a recovery in CoinCover Control, your approvers sign off, and the passphrase is released to you encrypted with your own GPG key. You then use it in Coinbase Prime to verify, or restore access to, your onchain key.No integration work is needed on the Coinbase side — CoinCover works alongside Coinbase Prime’s native recovery passphrase.
Backup is a one-time step, done by your onchain signer once the recovery passphrase exists. It takes a few minutes.
1
Generate your onchain key and recovery passphrase in Coinbase Prime
In Coinbase Prime, an administrator designates the initial onchain signer, and the designation is approved by your team’s consensus policy. The onchain signer then scans the QR code with the Coinbase Prime Approvals App, signs in with their Prime credentials and mobile security key, and completes key generation.The app shows the recovery passphrase. It covers the whole team, and the onchain signer is the only team member who sees it — so this is the moment to back it up. See Coinbase’s Get started with the Prime Onchain Wallet.
2
Save the passphrase to a plain-text file
Type the passphrase, exactly as shown, into a plain-text (.txt) file — one line, words separated by single spaces. Save it locally, on the machine where you’ll run the CLI.
This file is your passphrase in plaintext. Don’t save it to a cloud-synced folder, email it, or paste it into chat. Delete it securely once the backup is confirmed.
3
Start the CLI and choose your environment
Run coincover. Check the environment shown at the top is the one you were onboarded to; if not, choose Switch environment / API key and enter the API key for that environment. Then choose Back up key material.
4
Confirm the identity for this backup
Use your saved User ID and Customer name, or enter new ones. Use a customer name that matches your organisation in Control.
5
Choose HOT or COLD, then RSA only
Choose the CoinCover key pair that protects your backup:
Key pair
When to use it
HOT
The key is held online in CoinCover’s enclave. Recovery is released as soon as your approvers sign off.
COLD
The key is generated and held offline in CoinCover’s geo-redundant vault, for the strictest security. CoinCover’s team retrieves the key before release, within 24 hours of your approvers signing off.
Use the Control ID CoinCover issued for the key pair you choose. The choice is permanent for this backup.Then select RSA only as the protection mode. A recovery passphrase is well inside the RSA-only size limit (445 bytes), and RSA only means the released file is the passphrase itself — there’s no second backup passphrase to keep safe.
6
Name the backup and select the file
Enter a Backup name (for example Coinbase Prime recovery passphrase) and a Backup ID (for example 01). In the file browser, go to the folder where you saved the passphrase and select the .txt file.
7
Enter your Control ID and upload
Check the backup summary, then enter the Control ID CoinCover gave you. Review the final summary and confirm Proceed?. The CLI allocates a CoinCover HOT or COLD RSA-4096 key, encrypts the file on your machine, uploads the ciphertext, and verifies the checksum.On success you’ll see the backup_id, key_id and the path to a receipt saved under ~/.coincover/receipts/. Keep the receipt.
Upload can’t be undone once it completes. If you entered the wrong file or Control ID, contact CoinCover rather than uploading a second copy.
8
Confirm the backup in CoinCover Control
In Control, open your organisation, go to Backups, and open the new backup — it shows CoinCover as the partner and Hot or Cold as the recovery type, matching the key pair you chose. On the Assurance tab, choose Run check now. Both checks should pass:
Key rebuilt — CoinCover rebuilds the key from its stored parts and confirms it matches.
File unchanged — CoinCover decrypts the stored file and confirms it matches what you uploaded.
Once both pass, securely delete the plaintext file from your machine.
9
Assign an Access Control List
On the backup’s Overview tab, choose Assign ACL and attach the ACL whose members will approve a recovery. Until an ACL is assigned, nothing can be recovered. See Set up your Access Control List.
CoinCover only ever holds your passphrase encrypted, under a key generated in a hardware-isolated enclave. Neither CoinCover nor its staff can read it, and it is only released when your ACL approves.
Use recovery when you need the passphrase back — most often because every onchain signer has lost access, or to verify or replace your backup in Coinbase Prime.
1
Start the recovery in CoinCover Control
Open the backup in Control and choose Start recovery. Provide your OpenPGP public key (armored text, or a .asc, .txt, .gpg or .pgp file). CoinCover uses it to encrypt the released passphrase so only you can open it.
2
Your approvers sign off
Each ACL member is notified, re-verifies their identity, and approves or rejects. Approval progress shows on the recovery. Nothing is released until the ACL’s approval threshold is met. See Approve or reject a recovery request.
3
Download the recovery package
For a COLD backup, CoinCover’s team retrieves the key from offline storage first, within 24 hours of approval — Control tells you this is happening and notifies you when the download is ready. When the recovery shows Recovery ready, choose Recover packages to download a ZIP. An approved recovery can be downloaded at most 3 times, within 3 days.
4
Decrypt the passphrase
The ZIP contains your passphrase file as a PGP-encrypted message. Decrypt it with your GPG private key — for example gpg --decrypt "Coinbase Recovery Phrase.txt", or your GPG tool’s decrypt option. The result is your original recovery passphrase.Because the backup uses RSA only, there’s no CLI recovery step — the file you decrypt is the passphrase.
5
Use the passphrase in Coinbase Prime
In Coinbase Prime, go to Settings → Onchain → Key Management:
Action
When to use it
Verify recovery passphrase
Confirm the passphrase is correct and can restore access — a good periodic drill.
Restore Onchain Key Access
Every onchain signer has lost access to the onchain key. An existing onchain signer is designated as the key recoverer, your consensus policy approves, and the recoverer enters the passphrase to restore the key.
Replace recovery backup
Generate a new recovery passphrase. Needs onchain key access, not the passphrase. Back up the new passphrase with CoinCover afterwards.
If you replace your recovery backup in Coinbase Prime, the passphrase CoinCover holds no longer restores your wallet. Back up the new passphrase straight away and tell CoinCover, so the old backup can be retired.
Recover key material through CoinCover Control
The step-by-step recovery walkthrough in Control — raising the request, gathering approvals, and collecting the released material.
Install the CoinCover Key Vault CLI and run the full backup flow.
Set up your ACL
Decide who approves the recovery of your Coinbase Prime backup.
Create a GPG key
Generate the key pair you need to receive a recovery.
Partners overview
All CoinCover partner integrations.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Coincover Developer Docs","colors":{"primary":"#3939EF","light":"#B59BFD","dark":"#B59BFD"},"logo":{"light":"https://mintcdn.com/coincover/YulmKC25AtRiJdum/images/CC-Logo-Black.svg?fit=max\u0026auto=format\u0026n=YulmKC25AtRiJdum\u0026q=85\u0026s=d81d260390cff9797e850679aeec6841","dark":"https://mintcdn.com/coincover/YulmKC25AtRiJdum/images/CC-Logo-White.svg?fit=max\u0026auto=format\u0026n=YulmKC25AtRiJdum\u0026q=85\u0026s=e4baa96369293d28a43a8fee6c4db806","href":"https://www.coincover.com/"},"favicon":"https://mintcdn.com/coincover/YulmKC25AtRiJdum/images/Favicon32px.svg?fit=max\u0026auto=format\u0026n=YulmKC25AtRiJdum\u0026q=85\u0026s=a1f83bee4378390aeb0dd8059e55456b","appearance":{"strict":false},"background":{"color":{"light":"#FFFFFF","dark":"#0E171B"}},"navbar":{"links":[],"primary":{"type":"button","label":"Talk to us","href":"https://www.coincover.com/contact"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/coincoverglobal","x":"https://x.com/Coincoverglobal","website":"https://www.coincover.com"}},"fonts":{"family":"Inter","weight":400},"errors":{"404":{"redirect":true}},"contextual":{"options":["copy","view","claude","cursor"],"display":"header"},"metadata":{"timestamp":false},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"coincover","hasAudioNarration":false,"actualSubdomain":"coincover","customDomains":["developer.coincover.com"],"gitSource":{"type":"github","owner":"coincover","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{},"buildId":"6aeda83b61234cac2656d83a","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"API Reference","count":30},{"language":"default","tag":"Products","count":13},{"language":"default","tag":"Guides","count":10},{"language":"default","tag":"Using CoinCover Control","count":9},{"language":"default","tag":"Partners","count":8},{"language":"default","tag":"Backups","count":7},{"language":"default","tag":"Recover for Institutions","count":6},{"language":"default","tag":"Retail API","count":6},{"language":"default","tag":"Keys","count":5},{"language":"default","tag":"Institutional API","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"@keyframes cc-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}.cc-marquee{animation:cc-marquee var(--cc-duration, 10s) linear infinite}.cc-marquee-fade{pointer-events:none;position:absolute;top:0;bottom:0;z-index:10;width:5rem}.cc-marquee-fade-left{left:0;background:linear-gradient(to right, #ffffff, transparent)}.cc-marquee-fade-right{right:0;background:linear-gradient(to left, #ffffff, transparent)}html.dark .cc-marquee-fade-left{background:linear-gradient(to right, #0e171b, transparent)}html.dark .cc-marquee-fade-right{background:linear-gradient(to left, #0e171b, transparent)}html{overflow-x:hidden}.cc-hero{max-width:90rem}.cc-hero-bg{pointer-events:none;position:absolute;top:-12rem;right:-12rem;z-index:0;width:44rem}@media (max-width: 1023px){.cc-hero-bg{display:none}}.cc-hero-bg img{display:block;width:100%;height:auto;opacity:0.4;mix-blend-mode:screen}html.dark .cc-hero-bg img{opacity:0.55}.cc-hero-content{position:relative;z-index:1}.cc-cta{background-color:transparent}html.dark .cc-partner-logo{filter:invert(1) hue-rotate(180deg)}"}],"page":{"pagePath":"partner-guides/coinbase-prime","slug":"/partner-guides/coinbase-prime","pageMetadata":{"title":"Coinbase Prime","sidebarTitle":"Coinbase Prime","description":"Backup and recovery for the Coinbase Prime Onchain Wallet — an encrypted backup of your recovery passphrase with the CoinCover CLI, and ACL-approved recovery through CoinCover Control.","icon":"building-columns","href":"/partner-guides/coinbase-prime"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Backup and recovery for the Coinbase Prime Onchain Wallet — an encrypted backup of your recovery passphrase with the CoinCover CLI, and ACL-approved recovery through CoinCover Control.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,Heading,Note,Step,Steps,Table,Warning}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`The Coinbase Prime `,_jsx(_components.strong,{children:`Onchain Wallet`}),` is non-custodial: your organisation holds full control of its onchain key, and access depends on one secret — the `,_jsx(_components.strong,{children:`recovery passphrase`}),` created when your onchain signer first sets up the wallet. Coinbase cannot restore it for you. If every onchain signer loses access and the passphrase is lost too, the wallet can’t be restored.`]}),`\n`,_jsxs(_components.p,{children:[`CoinCover protects that passphrase. You encrypt it on your own machine with the `,_jsx(_components.strong,{children:`CoinCover Key Vault CLI`}),` and store only the ciphertext with CoinCover. If you ever need it back, you raise a recovery in `,_jsx(_components.strong,{children:`CoinCover Control`}),`, your approvers sign off, and the passphrase is released to you encrypted with your own GPG key. You then use it in Coinbase Prime to verify, or restore access to, your onchain key.`]}),`\n`,_jsx(_components.p,{children:`No integration work is needed on the Coinbase side — CoinCover works alongside Coinbase Prime’s native recovery passphrase.`}),`\n`,_jsx(Heading,{level:`2`,id:`at-a-glance`,children:`At a glance`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Attribute`}),_jsx(_components.th,{children:`Detail`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Wallet`}),_jsx(_components.td,{children:`Coinbase Prime Onchain Wallet (non-custodial)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`What CoinCover holds`}),_jsxs(_components.td,{children:[`An encrypted copy of your onchain wallet `,_jsx(_components.strong,{children:`recovery passphrase`}),` — never your onchain key or key shards`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Backup mechanism`}),_jsx(_components.td,{children:`Encrypted client-side with the CoinCover Key Vault CLI, using a CoinCover HOT or COLD RSA-4096 key; only ciphertext is uploaded`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Backup check`}),_jsx(_components.td,{children:`Recovery Readiness in CoinCover Control confirms the key can be rebuilt and the stored file is unchanged`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Recovery`}),_jsx(_components.td,{children:`Requested and gated through CoinCover Control by your Access Control List; released encrypted to your GPG public key`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Restoring access`}),_jsxs(_components.td,{children:[`Done in Coinbase Prime — `,_jsx(_components.strong,{children:`Settings → Onchain → Key Management`})]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`before-you-start`,children:`Before you start`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Requirement`}),_jsx(_components.th,{children:`Notes`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Coinbase Prime Onchain Wallet`})}),_jsx(_components.td,{children:`Onchain setup complete, and your onchain signer has generated the onchain key and recovery passphrase in the Coinbase Prime Approvals App.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`CoinCover Control organisation`})}),_jsxs(_components.td,{children:[`Your organisation is set up in Control, with team members invited. See `,_jsx(_components.a,{href:`/guides/control/get-started`,children:`Get started with CoinCover Control`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Control ID`})}),_jsx(_components.td,{children:`Provided by CoinCover for your Coinbase Prime backup. It links the backup you upload to your organisation in Control.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`CoinCover Key Vault CLI and API key`})}),_jsxs(_components.td,{children:[`Installed on the machine you’ll back up from, with the API key CoinCover issued at onboarding. See the `,_jsx(_components.a,{href:`/institutional-recovery/cli-integration-guide`,children:`CLI integration guide`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`GPG key pair`})}),_jsxs(_components.td,{children:[`Needed at recovery time, not backup. See `,_jsx(_components.a,{href:`/guides/control/create-gpg-key`,children:`Create a GPG key pair`}),`.`]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`backup`,children:`Backup`}),`\n`,_jsx(_components.p,{children:`Backup is a one-time step, done by your onchain signer once the recovery passphrase exists. It takes a few minutes.`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Generate your onchain key and recovery passphrase in Coinbase Prime`,children:[_jsxs(_components.p,{children:[`In Coinbase Prime, an administrator designates the initial `,_jsx(_components.strong,{children:`onchain signer`}),`, and the designation is approved by your team’s consensus policy. The onchain signer then scans the QR code with the `,_jsx(_components.strong,{children:`Coinbase Prime Approvals App`}),`, signs in with their Prime credentials and mobile security key, and completes key generation.`]}),_jsxs(_components.p,{children:[`The app shows the `,_jsx(_components.strong,{children:`recovery passphrase`}),`. It covers the whole team, and the onchain signer is the only team member who sees it — so this is the moment to back it up. See Coinbase’s `,_jsx(_components.a,{href:`https://help.coinbase.com/en/prime/onchain-wallet/get-started-coinbase-prime-onchain-wallet`,children:`Get started with the Prime Onchain Wallet`}),`.`]})]}),_jsxs(Step,{title:`Save the passphrase to a plain-text file`,children:[_jsxs(_components.p,{children:[`Type the passphrase, exactly as shown, into a plain-text (`,_jsx(_components.code,{children:`.txt`}),`) file — one line, words separated by single spaces. Save it `,_jsx(_components.strong,{children:`locally`}),`, on the machine where you’ll run the CLI.`]}),_jsx(Warning,{children:_jsx(_components.p,{children:`This file is your passphrase in plaintext. Don’t save it to a cloud-synced folder, email it, or paste it into chat. Delete it securely once the backup is confirmed.`})})]}),_jsx(Step,{title:`Start the CLI and choose your environment`,children:_jsxs(_components.p,{children:[`Run `,_jsx(_components.code,{children:`coincover`}),`. Check the environment shown at the top is the one you were onboarded to; if not, choose `,_jsx(_components.strong,{children:`Switch environment / API key`}),` and enter the API key for that environment. Then choose `,_jsx(_components.strong,{children:`Back up key material`}),`.`]})}),_jsx(Step,{title:`Confirm the identity for this backup`,children:_jsxs(_components.p,{children:[`Use your saved `,_jsx(_components.strong,{children:`User ID`}),` and `,_jsx(_components.strong,{children:`Customer name`}),`, or enter new ones. Use a customer name that matches your organisation in Control.`]})}),_jsxs(Step,{title:`Choose HOT or COLD, then RSA only`,children:[_jsx(_components.p,{children:`Choose the CoinCover key pair that protects your backup:`}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Key pair`}),_jsx(_components.th,{children:`When to use it`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`HOT`})}),_jsx(_components.td,{children:`The key is held online in CoinCover’s enclave. Recovery is released as soon as your approvers sign off.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`COLD`})}),_jsxs(_components.td,{children:[`The key is generated and held offline in CoinCover’s geo-redundant vault, for the strictest security. CoinCover’s team retrieves the key before release, within `,_jsx(_components.strong,{children:`24 hours`}),` of your approvers signing off.`]})]})]})]}),_jsxs(_components.p,{children:[`Use the `,_jsx(_components.strong,{children:`Control ID`}),` CoinCover issued for the key pair you choose. The choice is permanent for this backup.`]}),_jsxs(_components.p,{children:[`Then select `,_jsx(_components.strong,{children:`RSA only`}),` as the protection mode. A recovery passphrase is well inside the RSA-only size limit (445 bytes), and RSA only means the released file is the passphrase itself — there’s no second backup passphrase to keep safe.`]})]}),_jsx(Step,{title:`Name the backup and select the file`,children:_jsxs(_components.p,{children:[`Enter a `,_jsx(_components.strong,{children:`Backup name`}),` (for example `,_jsx(_components.code,{children:`Coinbase Prime recovery passphrase`}),`) and a `,_jsx(_components.strong,{children:`Backup ID`}),` (for example `,_jsx(_components.code,{children:`01`}),`). In the file browser, go to the folder where you saved the passphrase and select the `,_jsx(_components.code,{children:`.txt`}),` file.`]})}),_jsxs(Step,{title:`Enter your Control ID and upload`,children:[_jsxs(_components.p,{children:[`Check the backup summary, then enter the `,_jsx(_components.strong,{children:`Control ID`}),` CoinCover gave you. Review the final summary and confirm `,_jsx(_components.strong,{children:`Proceed?`}),`. The CLI allocates a CoinCover HOT or COLD RSA-4096 key, encrypts the file on your machine, uploads the ciphertext, and verifies the checksum.`]}),_jsxs(_components.p,{children:[`On success you’ll see the `,_jsx(_components.code,{children:`backup_id`}),`, `,_jsx(_components.code,{children:`key_id`}),` and the path to a receipt saved under `,_jsx(_components.code,{children:`~/.coincover/receipts/`}),`. Keep the receipt.`]}),_jsx(Note,{children:_jsx(_components.p,{children:`Upload can’t be undone once it completes. If you entered the wrong file or Control ID, contact CoinCover rather than uploading a second copy.`})})]}),_jsxs(Step,{title:`Confirm the backup in CoinCover Control`,children:[_jsxs(_components.p,{children:[`In Control, open your organisation, go to `,_jsx(_components.strong,{children:`Backups`}),`, and open the new backup — it shows CoinCover as the partner and `,_jsx(_components.strong,{children:`Hot`}),` or `,_jsx(_components.strong,{children:`Cold`}),` as the recovery type, matching the key pair you chose. On the `,_jsx(_components.strong,{children:`Assurance`}),` tab, choose `,_jsx(_components.strong,{children:`Run check now`}),`. Both checks should pass:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Key rebuilt`}),` — CoinCover rebuilds the key from its stored parts and confirms it matches.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`File unchanged`}),` — CoinCover decrypts the stored file and confirms it matches what you uploaded.`]}),`\n`]}),_jsx(_components.p,{children:`Once both pass, securely delete the plaintext file from your machine.`})]}),_jsx(Step,{title:`Assign an Access Control List`,children:_jsxs(_components.p,{children:[`On the backup’s `,_jsx(_components.strong,{children:`Overview`}),` tab, choose `,_jsx(_components.strong,{children:`Assign ACL`}),` and attach the ACL whose members will approve a recovery. Until an ACL is assigned, nothing can be recovered. See `,_jsx(_components.a,{href:`/guides/control/approval-control-list`,children:`Set up your Access Control List`}),`.`]})})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`CoinCover only ever holds your passphrase `,_jsx(_components.strong,{children:`encrypted`}),`, under a key generated in a hardware-isolated enclave. Neither CoinCover nor its staff can read it, and it is only released when your ACL approves.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`recovery`,children:`Recovery`}),`\n`,_jsx(_components.p,{children:`Use recovery when you need the passphrase back — most often because every onchain signer has lost access, or to verify or replace your backup in Coinbase Prime.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Start the recovery in CoinCover Control`,children:_jsxs(_components.p,{children:[`Open the backup in Control and choose `,_jsx(_components.strong,{children:`Start recovery`}),`. Provide your `,_jsx(_components.strong,{children:`OpenPGP public key`}),` (armored text, or a `,_jsx(_components.code,{children:`.asc`}),`, `,_jsx(_components.code,{children:`.txt`}),`, `,_jsx(_components.code,{children:`.gpg`}),` or `,_jsx(_components.code,{children:`.pgp`}),` file). CoinCover uses it to encrypt the released passphrase so only you can open it.`]})}),_jsx(Step,{title:`Your approvers sign off`,children:_jsxs(_components.p,{children:[`Each ACL member is notified, re-verifies their identity, and approves or rejects. Approval progress shows on the recovery. Nothing is released until the ACL’s approval threshold is met. See `,_jsx(_components.a,{href:`/guides/control/approve-recovery-request`,children:`Approve or reject a recovery request`}),`.`]})}),_jsx(Step,{title:`Download the recovery package`,children:_jsxs(_components.p,{children:[`For a `,_jsx(_components.strong,{children:`COLD`}),` backup, CoinCover’s team retrieves the key from offline storage first, within `,_jsx(_components.strong,{children:`24 hours`}),` of approval — Control tells you this is happening and notifies you when the download is ready. When the recovery shows `,_jsx(_components.strong,{children:`Recovery ready`}),`, choose `,_jsx(_components.strong,{children:`Recover packages`}),` to download a ZIP. An approved recovery can be downloaded at most `,_jsx(_components.strong,{children:`3 times`}),`, within `,_jsx(_components.strong,{children:`3 days`}),`.`]})}),_jsxs(Step,{title:`Decrypt the passphrase`,children:[_jsxs(_components.p,{children:[`The ZIP contains your passphrase file as a PGP-encrypted message. Decrypt it with your `,_jsx(_components.strong,{children:`GPG private key`}),` — for example `,_jsx(_components.code,{children:`gpg --decrypt \"Coinbase Recovery Phrase.txt\"`}),`, or your GPG tool’s decrypt option. The result is your original recovery passphrase.`]}),_jsx(_components.p,{children:`Because the backup uses RSA only, there’s no CLI recovery step — the file you decrypt is the passphrase.`})]}),_jsxs(Step,{title:`Use the passphrase in Coinbase Prime`,children:[_jsxs(_components.p,{children:[`In Coinbase Prime, go to `,_jsx(_components.strong,{children:`Settings → Onchain → Key Management`}),`:`]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Action`}),_jsx(_components.th,{children:`When to use it`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Verify recovery passphrase`})}),_jsx(_components.td,{children:`Confirm the passphrase is correct and can restore access — a good periodic drill.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Restore Onchain Key Access`})}),_jsx(_components.td,{children:`Every onchain signer has lost access to the onchain key. An existing onchain signer is designated as the key recoverer, your consensus policy approves, and the recoverer enters the passphrase to restore the key.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Replace recovery backup`})}),_jsx(_components.td,{children:`Generate a new recovery passphrase. Needs onchain key access, not the passphrase. Back up the new passphrase with CoinCover afterwards.`})]})]})]}),_jsxs(_components.p,{children:[`Coinbase advises against starting key recovery while any onchain signer still holds a key shard. See Coinbase’s `,_jsx(_components.a,{href:`https://help.coinbase.com/en/prime/onchain-wallet/restoring-access-to-an-onchain-wallet`,children:`Restoring access to an Onchain Wallet`}),` and `,_jsx(_components.a,{href:`https://help.coinbase.com/en/prime/onchain-wallet/verify-your-prime-onchain-wallet-recovery-passphrase`,children:`Verify your recovery passphrase`}),`.`]})]})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`If you `,_jsx(_components.strong,{children:`replace`}),` your recovery backup in Coinbase Prime, the passphrase CoinCover holds no longer restores your wallet. Back up the new passphrase straight away and tell CoinCover, so the old backup can be retired.`]})}),`\n`,_jsx(Card,{title:`Recover key material through CoinCover Control`,icon:`key`,href:`/guides/control/recover-key-material`,children:_jsx(_components.p,{children:`The step-by-step recovery walkthrough in Control — raising the request, gathering approvals, and collecting the released material.`})}),`\n`,_jsx(Heading,{level:`2`,id:`what’s-next`,children:`What’s next`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`CLI integration guide`,icon:`terminal`,href:`/institutional-recovery/cli-integration-guide`,children:_jsx(_components.p,{children:`Install the CoinCover Key Vault CLI and run the full backup flow.`})}),_jsx(Card,{title:`Set up your ACL`,icon:`user-shield`,href:`/guides/control/approval-control-list`,children:_jsx(_components.p,{children:`Decide who approves the recovery of your Coinbase Prime backup.`})}),_jsx(Card,{title:`Create a GPG key`,icon:`lock`,href:`/guides/control/create-gpg-key`,children:_jsx(_components.p,{children:`Generate the key pair you need to receive a recovery.`})}),_jsx(Card,{title:`Partners overview`,icon:`handshake`,href:`/partner-guides/overview`,children:_jsx(_components.p,{children:`All CoinCover partner integrations.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Coinbase Prime","sidebarTitle":"Coinbase Prime","description":"Backup and recovery for the Coinbase Prime Onchain Wallet — an encrypted backup of your recovery passphrase with the CoinCover CLI, and ACL-approved recovery through CoinCover Control.","icon":"building-columns","href":"/partner-guides/coinbase-prime"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"At a glance","slug":"at-a-glance","depth":2,"children":[]},{"title":"Before you start","slug":"before-you-start","depth":2,"children":[]},{"title":"Backup","slug":"backup","depth":2,"children":[]},{"title":"Recovery","slug":"recovery","depth":2,"children":[]},{"title":"What’s next","slug":"what’s-next","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"coincover","siteName":"Coincover Developer Docs","title":"Coinbase Prime - Coincover Developer Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-06T10:13:24.303Z","originalFileLocation":"partner-guides/coinbase-prime.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Backup and recovery for the Coinbase Prime Onchain Wallet — an encrypted backup of your recovery passphrase with the CoinCover CLI, and ACL-approved recovery through CoinCover Control.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Coincover Developer Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/coincover/Wnz4s2jyTI4-WRLe/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/coincover/Wnz4s2jyTI4-WRLe/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/coincover/Wnz4s2jyTI4-WRLe/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/coincover/Wnz4s2jyTI4-WRLe/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/coincover/Wnz4s2jyTI4-WRLe/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/coincover/Wnz4s2jyTI4-WRLe/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/coincover/Wnz4s2jyTI4-WRLe/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/coincover/Wnz4s2jyTI4-WRLe/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/coincover/Wnz4s2jyTI4-WRLe/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Coinbase Prime - Coincover Developer Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Backup and recovery for the Coinbase Prime Onchain Wallet — an encrypted backup of your recovery passphrase with the CoinCover CLI, and ACL-approved recovery through CoinCover Control.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Coincover Developer Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developer.coincover.com/partner-guides/coinbase-prime\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://coincover.mintlify.site/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Coinbase+Prime\u0026amp;description=Backup+and+recovery+for+the+Coinbase+Prime+Onchain+Wallet+%E2%80%94+an+encrypted+backup+of+your+recovery+passphrase+with+the+CoinCover+CLI%2C+and+ACL-approved+recovery+th\u0026amp;theme=e889e042c90bb80030a3389c\u0026amp;signature=f74674e7b1afe863fa4bd81adeb29124a7fc737b5b83aa357c875298435b7d4f\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Coinbase Prime - Coincover Developer Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Backup and recovery for the Coinbase Prime Onchain Wallet — an encrypted backup of your recovery passphrase with the CoinCover CLI, and ACL-approved recovery through CoinCover Control.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://coincover.mintlify.site/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Coinbase+Prime\u0026amp;description=Backup+and+recovery+for+the+Coinbase+Prime+Onchain+Wallet+%E2%80%94+an+encrypted+backup+of+your+recovery+passphrase+with+the+CoinCover+CLI%2C+and+ACL-approved+recovery+th\u0026amp;theme=e889e042c90bb80030a3389c\u0026amp;signature=f74674e7b1afe863fa4bd81adeb29124a7fc737b5b83aa357c875298435b7d4f\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/coincover/Wnz4s2jyTI4-WRLe/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Coincover Developer Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3939EF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developer.coincover.com/partner-guides/coinbase-prime\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/partner-guides/coinbase-prime.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developer.coincover.com/#organization\",\"name\":\"Coincover Developer Docs\",\"url\":\"https://developer.coincover.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/coincover/YulmKC25AtRiJdum/images/CC-Logo-Black.svg?fit=max\u0026auto=format\u0026n=YulmKC25AtRiJdum\u0026q=85\u0026s=d81d260390cff9797e850679aeec6841\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developer.coincover.com#website\",\"name\":\"Coincover Developer Docs\",\"url\":\"https://developer.coincover.com\",\"publisher\":{\"@id\":\"https://developer.coincover.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developer.coincover.com/partner-guides/coinbase-prime#webpage\",\"url\":\"https://developer.coincover.com/partner-guides/coinbase-prime\",\"name\":\"Coinbase Prime\",\"description\":\"Backup and recovery for the Coinbase Prime Onchain Wallet — an encrypted backup of your recovery passphrase with the CoinCover CLI, and ACL-approved recovery through CoinCover Control.\",\"dateModified\":\"2026-11-06T10:13:24.303Z\",\"isPartOf\":{\"@id\":\"https://developer.coincover.com#website\"}},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://developer.coincover.com/partner-guides/coinbase-prime#article\",\"headline\":\"Coinbase Prime\",\"name\":\"Coinbase Prime\",\"description\":\"Backup and recovery for the Coinbase Prime Onchain Wallet — an encrypted backup of your recovery passphrase with the CoinCover CLI, and ACL-approved recovery through CoinCover Control.\",\"url\":\"https://developer.coincover.com/partner-guides/coinbase-prime\",\"mainEntityOfPage\":{\"@id\":\"https://developer.coincover.com/partner-guides/coinbase-prime#webpage\"},\"dateModified\":\"2026-11-06T10:13:24.303Z\",\"publisher\":{\"@id\":\"https://developer.coincover.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developer.coincover.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Coincover Developer Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Coincover Developer Docs","nav":{"global":null,"tabs":[{"tab":"Get Started","pages":[{"title":"Get Started","href":""}]},{"tab":"Products","pages":[{"title":"Products","href":"/wallet-provider-recovery/overview"}]},{"tab":"Partners","pages":[{"title":"Partners","sidebarTitle":"Overview","icon":"handshake","href":"/partner-guides/overview"},{"title":"BitGo","sidebarTitle":"BitGo","icon":"wallet","href":"/partner-guides/bitgo"},{"title":"Fireblocks","sidebarTitle":"Fireblocks","icon":"layer-group","href":"/partner-guides/fireblocks"},{"title":"Utila","sidebarTitle":"Utila","icon":"wallet","href":"/partner-guides/utila"},{"title":"Fordefi","sidebarTitle":"Fordefi","icon":"shield-halved","href":"/partner-guides/fordefi"},{"title":"Copper","sidebarTitle":"Copper","icon":"coins","href":"/partner-guides/copper"},{"title":"Dynamic","sidebarTitle":"Dynamic","description":"Backup and recovery for Dynamic embedded wallets — identity-verified backup of the server share, and recovery to the user's device.","icon":"bolt","href":"/partner-guides/dynamic"},{"title":"Coinbase Prime","sidebarTitle":"Coinbase Prime","icon":"building-columns","href":"/partner-guides/coinbase-prime"}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/guides/validating-key-signatures"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/keys/partner--assign-a-new-key-with-environment-specification"}]}]},"basePath":"","title":"Coinbase Prime - Coincover Developer Docs","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":[],"chunks":[]}