At a glance
Backup
A single flow, driven through the API. The customer approves on their device, and the backup only becomes active once they’ve been notified it’s complete.1
Utila pulls the CoinCover public key
Utila retrieves CoinCover’s RSA public key from the CoinCover API. Nothing needs to be handed over manually.
2
The customer confirms the backup
The customer confirms they want to back up with this public key.
3
Both shares are encrypted
Utila encrypts the Utila share with the public key. The customer’s device receives a notification to approve, and on approval the customer’s key share is encrypted with the same CoinCover public key.
4
The customer downloads the backup package from the console
Once approved, the encrypted backup package (the key material) is available in the Utila console. The customer downloads it — from the record’s three-dot menu — and stores it securely, along with the Utila recovery tooling. This is a one-time download, and the backup is only active once it’s done. A common pitfall is approving the backup but walking away before completing this step.
When Utila pulls CoinCover’s RSA public key, verify the
signature returned with it against your CoinCover verification key before encrypting anything — and, if you want the signature to also bind the customer or workspace, request it with sign_with. See binding business context into the signature in the API integration guide.Utila keeps the wallet data separate from the backup package. The backup package holds only the encrypted key material, so it’s a one-time download; the wallet data is exported separately from the Utila console and should be refreshed periodically, since it changes as wallets and addresses are added.
Recovery
Recovery is a key return. CoinCover releases the RSA private key under verified conditions, and the customer runs the Utila offline tool themselves.1
Request recovery through CoinCover Control
Initiate a recovery request in CoinCover Control. Release is gated by identity verification and your approval policy. As part of the request you supply a public GPG key, which CoinCover uses to encrypt the recovery package in transit.
2
CoinCover returns the RSA private key
CoinCover retrieves the RSA private key and returns it to the customer securely, encrypted to the GPG public key they supplied. The customer decrypts it with their GPG private key to obtain the unsharded RSA
.pem key.3
Run the Utila offline recovery tool
In the Utila offline tool, the customer uploads their CoinCover backup file, their wallet data file, and the decrypted RSA private key, then selects Recover. The tool produces a CSV of the recovered wallet keys.
4
Import the recovered keys
The customer imports the recovered private keys into any compatible wallet (for example MetaMask for ETH or Electrum for BTC) to regain access to their assets.
What’s next
Fordefi
The console-based self-custody MPC integration.
Fireblocks
The workspace and device-share MPC integration.
BitGo
Backup and recovery across the BitGo self-custody wallet.
Partners overview
All CoinCover partner integrations.