Trust wallet rotation
Use this when you rotate TRUST_ATTESTER_PRIVATE_KEY, change chain RPC settings, or redeploy Scout after an env change.
Before you start
- Fund the new wallet on Base Sepolia before registration.
- Keep the old wallet available until on-chain identity migration is complete or you accept a new agent identity.
- Run
pnpm doctorinconsole.labyrinthscout.comand confirm database and Redis are healthy.
Rotation steps
-
Generate or import a new attester wallet
- Store the private key only in the Scout VPS
.envasTRUST_ATTESTER_PRIVATE_KEY. - Never commit the key to git or paste it into chat logs.
- Store the private key only in the Scout VPS
-
Update Scout environment
# On the Scout VPS
nano .env
# Set TRUST_ATTESTER_PRIVATE_KEY=0x...
# Confirm TRUST_CHAIN_ID, TRUST_CHAIN_RPC, TRUST_ERC8004_REGISTRY -
Restart Scout
docker compose restart scout
# or your process manager equivalent -
Re-register ERC-8004 identity
cd console.labyrinthscout.com
pnpm trust:registerConfirm a new
agent_idappears in the public trust API (/api/public/trust). -
Re-submit ERC-8126 verification
pnpm trust:verifyConfirm
verification.on_chain.response_tx_hashis populated. -
Verify public labels
- Open
https://carinaai.uk/trust/orGET /api/public/trust. chain.wallet_configuredmust betrue.- ERC-8004 and ERC-8126 should show
liveonly after on-chain rows exist.
- Open
-
Record the rotation
- Date, operator, old wallet last tx, new wallet address, register tx, verify tx.
- Keep this in your operator logbook (not in the repo).
Rollback
If registration fails:
- Restore the previous
TRUST_ATTESTER_PRIVATE_KEYin.env. - Restart Scout.
- Re-run
pnpm trust:registerandpnpm trust:verifywith the restored wallet.
Carina side
Carina does not hold the attester key. After Scout trust rotation, no Carina env change is required unless LABYRINTH_API_KEY or LABYRINTH_URL also changed.
Run carina doctor and carina security audit on Carina hosts after Scout rotation to confirm connectivity.