Global Rank · of 601 Skills
manage-bap-backup AI Agent Skill
View Source: b-open-io/bsv-skills
CriticalInstallation
npx skills add b-open-io/bsv-skills --skill manage-bap-backup 20
Installs
Manage BAP Backup
Export and import BAP identity backups using the bsv-bap library.
Installation
bun add bsv-bap @bsv/sdkBackup Format
Contains everything needed to reconstruct all identities:
{
"rootPk": "L4vB5...", // Master key WIF (Type42) or xprv (BIP32)
"ids": "<encrypted string>", // All identity metadata, encrypted with master
"label": "optional",
"createdAt": "2026-03-13T..."
}The encrypted ids blob contains: name, description, identityKey (BAP ID), identityAttributes, and paths.
Export Master Backup
import { BAP } from "bsv-bap";
const bap = new BAP({ rootPk: storedWif });
bap.importIds(encryptedIds);
const backup = bap.exportForBackup("My Identity");
// { rootPk: "L1SJ...", ids: "QklFMQ...", createdAt: "..." }
import { writeFileSync } from "node:fs";
writeFileSync("backup.json", JSON.stringify(backup, null, 2));Import Master Backup
import { BAP } from "bsv-bap";
import { readFileSync } from "node:fs";
const backup = JSON.parse(readFileSync("backup.json", "utf-8"));
const bap = new BAP({ rootPk: backup.rootPk });
if (backup.ids) {
bap.importIds(backup.ids);
}
const idKeys = bap.listIds();
const identity = bap.getId(idKeys[0]);
console.log(identity.idName, identity.getIdentityKey());List Accounts
const idKeys = bap.listIds();
for (const key of idKeys) {
const identity = bap.getId(key);
console.log(`${identity.idName}: ${key}`);
console.log(` Root: ${identity.rootAddress}`);
console.log(` Current: ${identity.getCurrentAddress()}`);
}Encrypted Backups (.bep)
For encrypted backup files using AES-256-GCM, use the bitcoin-backup CLI:
bun add -g bitcoin-backup
# Encrypt a backup
bbackup enc backup.json -p "password" -o identity.bep
# Decrypt a backup
bbackup dec identity.bep -p "password" -o decrypted.jsonSee encrypt-decrypt-backup skill for full bitcoin-backup reference.
CLI Option
For quick operations, use the bap CLI:
bun add -g bsv-bap
bap export # Export identity JSON to stdout
bap export > backup.json
bap import backup.json # Import from file
bap info # View current identitySecure Enclave Protection (macOS arm64)
On macOS arm64, the BAP CLI can protect the master key with the Secure Enclave via @1sat/vault. When Touch ID protection is enabled (bap touchid enable), the rootPk is encrypted with a hardware-bound P-256 key and removed from disk. All backup/export operations that need the master key will trigger Touch ID. Use bap touchid status to check protection state. Set BAP_NO_TOUCHID=1 for headless/CI environments.
Master vs Member Backups
BAP supports two backup levels with different capabilities:
| Backup Type | Contains | Can Derive New IDs? | Use Case |
|---|---|---|---|
| Master | rootPk (Type42) or xprv (legacy) + ids | Yes | Full identity management, key rotation |
| Member | Single derived WIF + encrypted identity data | No | Delegated access, agent auth, app-scoped signing |
Member Backup Export
exportMemberBackup() produces a MemberIdentity with:
derivedPrivateKey— the stable member key WIF (from rootPath, never changes)address— the current signing address (changes on rotation)counter— rotation counter for the signing key derivationidentityKey— the BAP identity key
Stable Member Key
The member key is the stable identity anchor for authentication:
import { getStableMemberWif, getStableMemberPubkey } from "./bap/utils";
// These stay fixed even after key rotation
const wif = getStableMemberWif(identity); // For auth token signing
const pubkey = getStableMemberPubkey(identity); // For identity resolutionAuth tokens (bitcoin-auth) are signed with the stable member WIF, not the rotating signing key. This ensures identity continuity across rotations.
Related Skills
create-bap-identity- Create new BAP identitiesencrypt-decrypt-backup- bitcoin-backup CLI for .bep fileskey-derivation- Type42 and BRC-43 key derivation
Related
BAP identities can be used for OAuth authentication with Sigma Identity. See @sigma-auth/better-auth-plugin for integration patterns.
Installs
Security Audit
View Source
b-open-io/bsv-skills
More from this source
Power your AI Agents with
the best open-source models.
Drop-in OpenAI-compatible API. No data leaves Europe.
Explore Inference APIGLM
GLM 5
$1.00 / $3.20
per M tokens
Kimi
Kimi K2.5
$0.60 / $2.80
per M tokens
MiniMax
MiniMax M2.5
$0.30 / $1.20
per M tokens
Qwen
Qwen3.5 122B
$0.40 / $3.00
per M tokens
How to use this skill
Install manage-bap-backup by running npx skills add b-open-io/bsv-skills --skill manage-bap-backup in your project directory. Run the install command above in your project directory. The skill file will be downloaded from GitHub and placed in your project.
No configuration needed. Your AI agent (Claude Code, Cursor, Windsurf, etc.) automatically detects installed skills and uses them as context when generating code.
The skill enhances your agent's understanding of manage-bap-backup, helping it follow established patterns, avoid common mistakes, and produce production-ready output.
What you get
Skills are plain-text instruction files — not executable code. They encode expert knowledge about frameworks, languages, or tools that your AI agent reads to improve its output. This means zero runtime overhead, no dependency conflicts, and full transparency: you can read and review every instruction before installing.
Compatibility
This skill works with any AI coding agent that supports the skills.sh format, including Claude Code (Anthropic), Cursor, Windsurf, Cline, Aider, and other tools that read project-level context files. Skills are framework-agnostic at the transport level — the content inside determines which language or framework it applies to.
Chat with 100+ AI Models in one App.
Use Claude, ChatGPT, Gemini alongside with EU-Hosted Models like Deepseek, GLM-5, Kimi K2.5 and many more.