This skill covers two capabilities. Read the router table below, then load the relevant reference before proceeding.
SituationReference to loadCreate, list, link, verify, or sign with a decentralized identity (DID)reference/identity/SKILL.mdHandle a 402 Payment Required HTTP responsereference/x402/SKILL.md
Always read the appropriate reference SKILL.md before running any script. If a task spans both (e.g. you need an identity before you can sign a 402 payment), read both.
402 Payment Required, build a signed PAYMENT-SIGNATURE header so you can retry the request and gain access.All identity data is stored in $HOME/.openclaw/billions. Scripts live in scripts/.
bash
cd scripts && npm install && cd ..
These rules apply to ALL references. Always follow them.
linkHumanToAgent.js, signChallenge.js, or buildX402Payment.js, ALWAYS check if an identity exists: node scripts/getIdentities.jscreateNewEthereumIdentity.js after that run linkHumanToAgent.js to link it to a human owner.openssl, ssh-keygen, or other system utilities to generate cryptographic material.$HOME/.openclaw/billions.The directory $HOME/.openclaw/billions contains sensitive identity data:
kms.json — CRITICAL: Contains private keys (encrypted if BILLIONS_NETWORK_MASTER_KMS_KEY is set, otherwise plaintext)defaultDid.json — DID identifiers and public keyschallenges.json — Authentication challenges historycredentials.json — Verifiable credentialsidentities.json — Identity metadataprofiles.json — Profile dataAfter the first run, restrict access to this directory: chmod 700 ~/.openclaw/billions
There are several ways of storing private keys, to enable master key encryption as described in the KMS Encryption section below.
More about security: ./SECURITY.md