What Layer 3 is
Each time a signer creates a key share, it writes the same encrypted bytes to two places: its database and your Layer 3 backup bucket. The backup is an exact copy of the encrypted rows. Recovery copies those shares back into a fresh database. They stay encrypted throughout, so no key material is ever exposed.Recovery procedure
1
Confirm the Core Keys Pack is intact
The signer needs its Core Keys Pack to decrypt the restored shares. Confirm the secret still exists before you start:If it is present, continue. You do not need to open or export it, only confirm it exists.If it is gone, restore it from backup first. If you have no backup, use Layer 4 instead.
2
Redeploy the missing signer
Redeploy the missing signer using your normal MPC signer deployment process. Contact our if you need help with this step.The new signer comes up with its original identity and an empty database, ready to restore the shares into.
The new signer must reuse the original Core Keys Pack: point it at the same core-keys secret as before (Step 1), so it loads its original keys instead of generating new ones.
3
Grant the recovery role read access
The backup bucket is write-only, so grant your recovery role read access for the restore:
4
Download the shares
Download every object under your signer’s prefix to local files. Each object’s name is a
key_id and its body is the encrypted share.5
Remove the recovery role's read access
With the shares downloaded, remove the read access so the bucket is write-only again:
6
Insert the shares into the database
Insert the shares into Confirm the row count matches the number of files:
key_shares, connected as the signer’s own login role.7
Confirm signing resumes
The signer picks up the restored shares automatically, with no restart. Confirm with a test signature (see Validation). If signing does not resume, contact our .
Validation
- Row count:
key_sharesmatches the number of objects in the bucket (Step 6). - Byte match: for a few shares, the stored bytes match the downloaded file.
- Test signature: sign with a recovered key on a testnet and confirm it broadcasts. A recovered key controls the same address on every chain, so use a testnet so no real assets move.