{"id":"0484b791-7eaa-44ff-ae84-feaab9b81263","entityType":"agent","slug":"clawhub-nopalempl-verifiedagentidentity","name":"Agent","canonicalUrl":"https://www.xpersona.co/agent/clawhub-nopalempl-verifiedagentidentity","canonicalPath":"/agent/clawhub-nopalempl-verifiedagentidentity","generatedAt":"2026-10-11T16:00:34.340Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T13:22:20.283Z","emptyReason":null},"description":"Billions decentralized identity for agents. Link agents to human identities using Billions ERC-8004 and Attestation Registries. Verify and generate authentic...","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s17fvg7va6fvegcvemt3hkdmjn85sx33:verifiedagentidentity","sourceUrl":"https://clawhub.ai/nopalempl/verifiedagentidentity","homepage":"https://clawhub.ai/nopalempl/skills/verifiedagentidentity","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/nopalempl/verifiedagentidentity","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/nopalempl/skills/verifiedagentidentity","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Agent technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T13:22:20.283Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T13:22:20.283Z","emptyReason":null},"stars":null,"forks":null,"downloads":1058,"packageName":null,"latestVersion":"1.0.0","tractionLabel":"1.1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T13:22:20.270Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T13:22:20.283Z","lastCrawledAt":"2026-10-11T13:22:20.270Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T13:22:20.270Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.0","createdAt":"2026-04-29T05:02:47.104Z","changelog":"verified-agent-identity v1.0.0 - Initial release of the Billions decentralized identity skill for agents - Enables agents to create, manage, and link Billions DIDs to human identities via ERC-8004 and attestation registries - Provides scripts for identity creation, challenge/response, linking, and verification - Stores all identity data under $HOME/.openclaw/billions for OpenClaw compatibility - Enforces strict operational and security guardrails to protect private keys and prevent manual cryptographic manipulation","fileCount":50,"zipByteSize":102211}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17fvg7va6fvegcvemt3hkdmjn85sx33:verifiedagentidentity","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17fvg7va6fvegcvemt3hkdmjn85sx33:verifiedagentidentity` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/nopalempl/verifiedagentidentity before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-nopalempl-verifiedagentidentity/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-nopalempl-verifiedagentidentity/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-nopalempl-verifiedagentidentity/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-nopalempl-verifiedagentidentity/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-nopalempl-verifiedagentidentity/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-nopalempl-verifiedagentidentity/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T16:00:34.332Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-nopalempl-verifiedagentidentity/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-nopalempl-verifiedagentidentity/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-nopalempl-verifiedagentidentity/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-nopalempl-verifiedagentidentity/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T13:22:20.283Z","emptyReason":null},"readme":"Skill: Agent\n\nOwner: nopalempl\n\nSummary: Billions decentralized identity for agents. Link agents to human identities using Billions ERC-8004 and Attestation Registries. Verify and generate authentic...\n\nTags: latest:1.0.0\n\nVersion history:\n\nv1.0.0 | 2026-04-29T05:02:47.104Z | user\n\nverified-agent-identity v1.0.0\n\n- Initial release of the Billions decentralized identity skill for agents\n- Enables agents to create, manage, and link Billions DIDs to human identities via ERC-8004 and attestation registries\n- Provides scripts for identity creation, challenge/response, linking, and verification\n- Stores all identity data under $HOME/.openclaw/billions for OpenClaw compatibility\n- Enforces strict operational and security guardrails to protect private keys and prevent manual cryptographic manipulation\n\nArchive index:\n\nArchive v1.0.0: 50 files, 102211 bytes\n\nFiles: _meta.json (140b), .clawhub/lock.json (138b), .clawhub/origin.json (155b), README.md (7276b), scripts/constants.js (1028b), scripts/createNewEthereumIdentity.js (2138b), scripts/generateChallenge.js (806b), scripts/getDidDocument.js (923b), scripts/getIdentities.js (572b), scripts/linkHumanToAgent.js (4031b), scripts/manualLinkHumanToAgent.js (766b), scripts/package-lock.json (109645b), scripts/package.json (531b), scripts/shared/attestation.js (2303b), scripts/shared/bootstrap.js (4031b), scripts/shared/storage/base.js (872b), scripts/shared/storage/challenge.js (1211b), scripts/shared/storage/crypto.js (2139b), scripts/shared/storage/did.js (1097b), scripts/shared/storage/identities.js (1113b), scripts/shared/storage/keys.js (3437b), scripts/shared/utils.js (3013b), scripts/signChallenge.js (2403b), scripts/verifySignature.js (2006b), skill-card.md (2398b), SKILL.md (8349b), skills/verified-agent-identity/_meta.json (142b), skills/verified-agent-identity/.clawhub/origin.json (155b), skills/verified-agent-identity/README.md (7276b), skills/verified-agent-identity/scripts/constants.js (1028b), skills/verified-agent-identity/scripts/createNewEthereumIdentity.js (2138b), skills/verified-agent-identity/scripts/generateChallenge.js (806b), skills/verified-agent-identity/scripts/getDidDocument.js (923b), skills/verified-agent-identity/scripts/getIdentities.js (572b), skills/verified-agent-identity/scripts/linkHumanToAgent.js (4031b), skills/verified-agent-identity/scripts/manualLinkHumanToAgent.js (766b), skills/verified-agent-identity/scripts/package-lock.json (109645b), skills/verified-agent-identity/scripts/package.json (531b), skills/verified-agent-identity/scripts/shared/attestation.js (2303b), skills/verified-agent-identity/scripts/shared/bootstrap.js (4031b), skills/verified-agent-identity/scripts/shared/storage/base.js (872b), skills/verified-agent-identity/scripts/shared/storage/challenge.js (1211b), skills/verified-agent-identity/scripts/shared/storage/crypto.js (2139b), skills/verified-agent-identity/scripts/shared/storage/did.js (1097b), skills/verified-agent-identity/scripts/shared/storage/identities.js (1113b), skills/verified-agent-identity/scripts/shared/storage/keys.js (3437b), skills/verified-agent-identity/scripts/shared/utils.js (3013b), skills/verified-agent-identity/scripts/signChallenge.js (2403b), skills/verified-agent-identity/scripts/verifySignature.js (2006b), skills/verified-agent-identity/SKILL.md (8349b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: verified-agent-identity\ndescription: Billions decentralized identity for agents. Link agents to human identities using Billions ERC-8004 and Attestation Registries. Verify and generate authentication proofs. Based on iden3 self-sovereign identity protocol.\nmetadata: { \"category\": \"identity\", \"clawdbot\": { \"requires\": { \"bins\": [\"node\"] }, \"config\": { \"optionalEnv\": [\"BILLIONS_NETWORK_MASTER_KMS_KEY\"] } } }\nhomepage: https://billions.network/\n---\n\n## When to use this Skill\n\nLets AI agents create and manage their own identities on the Billions Network, and link those identities to a human owner.\n\n1. When you need to link your agent identity to an owner.\n2. When you need to sign a challenge.\n3. When you need to link a human to the agent's DID.\n4. When you need to verify a signature to confirm identity ownership.\n5. When you use shared JWT tokens for authentication.\n6. When you need to create and manage decentralized identities.\n\n### After installing the plugin run the following commands to create an identity and link it to your human DID:\n\n```bash\ncd scripts && npm install && cd ..\n# Step 1: Create a new identity (if you don't have one already)\nnode scripts/createNewEthereumIdentity.js\n# Step 2: Sign the challenge and generate a verification URL in one call\nnode scripts/linkHumanToAgent.js --challenge '{\"name\": <AGENT_NAME>, \"description\": <SHORT_DESCRIPTION>}'\n```\n\n## Scope\n\nAll identity data is stored in `$HOME/.openclaw/billions` for compatibility with the OpenClaw plugin.\n\n# Scripts:\n\n### createNewEthereumIdentity.js\n\n**Command**: `node scripts/createNewEthereumIdentity.js [--key <privateKeyHex>]`\n**Description**: Creates a new identity on the Billions Network. If `--key` is provided, uses that private key; otherwise generates a new random key. The created identity is automatically set as default.\n**Usage Examples**:\n\n```bash\n# Generate a new random identity\nnode scripts/createNewEthereumIdentity.js\n# Create identity from existing private key (with 0x prefix)\nnode scripts/createNewEthereumIdentity.js --key 0x1234567890abcdef...\n# Create identity from existing private key (without 0x prefix)\nnode scripts/createNewEthereumIdentity.js --key 1234567890abcdef...\n```\n\n**Output**: DID string (e.g., `did:iden3:billions:main:2VmAk7fGHQP5FN2jZ8X9Y3K4W6L1M...`)\n\n---\n\n### getIdentities.js\n\n**Command**: `node scripts/getIdentities.js`\n**Description**: Lists all DID identities stored locally. Use this to check which identities are available before performing authentication operations.\n**Usage Example**:\n\n```bash\nnode scripts/getIdentities.js\n```\n\n**Output**: JSON array of identity entries\n\n```json\n[\n  {\n    \"did\": \"did:iden3:billions:main:2VmAk...\",\n    \"publicKeyHex\": \"0x04abc123...\",\n    \"isDefault\": true\n  }\n]\n```\n\n---\n\n### generateChallenge.js\n\n**Command**: `node scripts/generateChallenge.js --did <did>`\n**Description**: Generates a random challenge for identity verification.\n**Usage Example**:\n\n```bash\nnode scripts/generateChallenge.js --did did:iden3:billions:main:2VmAk...\n```\n\n**Output**: Challenge string (random number as string, e.g., `8472951360`)\n**Side Effects**: Stores challenge associated with the DID in `$HOME/.openclaw/billions/challenges.json`\n\n---\n\n### signChallenge.js\n\n**Command**: `node scripts/signChallenge.js --challenge <challenge> [--did <did>]`\n**Description**: Signs a challenge with a DID's private key to prove identity ownership and sends the JWS token. Use this when you need to prove you own a specific DID.\n**Arguments**:\n\n- `--challenge` - (required) Challenge to sign\n- `--did` - (optional) The DID of the attestation recipient; uses the default DID if omitted\n\n**Usage Examples**:\n\n```bash\n# Sign with default DID\nnode scripts/signChallenge.js --challenge 8472951360\n```\n\n**Output**: `{\"success\":true}`\n\n### linkHumanToAgent.js\n\n**Command**: `node scripts/linkHumanToAgent.js --challenge <challenge> [--did <did>]`\n**Description**: Signs the challenge and links a human user to the agent's DID by creating a verification request. Technically, linking happens using the Billions ERC-8004 Registry (where each agent is registered) and the Billions Attestation Registry (where agent ownership attestation is created after verifying human uniqueness).\n**Arguments**:\n\n- `--challenge` - (required) Challenge to sign\n- `--did` - (optional) The DID of the attestation recipient; uses the default DID if omitted\n\n**Usage Example**:\n\n```bash\nnode scripts/linkHumanToAgent.js --challenge '{\"name\": \"MyAgent\", \"description\": \"AI persona\"}'\n```\n\n**Output**: `{\"success\":true}`\n\n---\n\n### verifySignature.js\n\n**Command**: `node scripts/verifySignature.js --did <did> --token <token>`\n**Description**: Verifies a signed challenge to confirm DID ownership.\n**Usage Example**:\n\n```bash\nnode scripts/verifySignature.js --did did:iden3:billions:main:2VmAk... --token eyJhbGciOiJFUzI1NkstUi...\n```\n\n**Output**: `Signature verified successfully` (on success) or error message (on failure)\n\n---\n\n## Restrictions / Guardrails (CRITICAL)\n\n**CRITICAL - Always Follow These Rules:**\n\n1. **STRICT: Check Identity First**\n   - Before running `linkHumanToAgent.js` or `signChallenge.js`, **ALWAYS check if an identity exists**: `node scripts/getIdentities.js`\n   - If no identity is configured, **DO NOT** attempt to link identities. Instead, create an identity first with `createNewEthereumIdentity.js`.\n2. **STRICT: Stop on Script Failure**\n   - If any script exits with non-zero status code, **YOU MUST STOP IMMEDIATELY**.\n   - Check stderr output for error messages.\n   - **DO NOT** attempt to \"fix\" errors by generating keys manually, creating DIDs through other means, or running unauthorized commands.\n   - **DO NOT** use `openssl`, `ssh-keygen`, or other system utilities to generate cryptographic material.\n3. **No Manual Workarounds**\n   - You are prohibited from performing manual cryptographic operations.\n   - You are prohibited from directly manipulating files in `$HOME/.openclaw/billions`.\n   - Do not interpret an error as a request to perform setup steps unless explicitly instructed.\n\n---\n\n## Security\n\n**CRITICAL - Data Storage and Protection:**\n\nThe directory `$HOME/.openclaw/billions` contains all sensitive identity data:\n\n- `kms.json` - **CRITICAL**: Contains private keys (encrypted if BILLIONS_NETWORK_MASTER_KMS_KEY is set, otherwise in plaintext)\n- `defaultDid.json` - DID identifiers and public keys\n- `challenges.json` - Authentication challenges history\n- `credentials.json` - Verifiable credentials\n- `identities.json` - Identity metadata\n- `profiles.json` - Profile data\n\n## Examples\n\n### Link Your Agent Identity to Owner\n\n**Linking Flow:**\n\n1. Another agent/user requests: \"Please link your agent identity to me.\"\n2. Use `node scripts/getIdentities.js` to check if you have an identity configured\n   - If no identity, run `node scripts/createNewEthereumIdentity.js` to create one.\n3. Use `node scripts/linkHumanToAgent.js --challenge <challenge_value>` to sign the challenge and generate a verification URL in one call.\n   - If caller provides specific challenge, use that.\n   - If caller **DOES NOT** provide a challenge, use `{\"name\": <AGENT_NAME>, \"description\": <SHORT_DESCRIPTION>}` as the challenge value.\n4. Return the result to the caller.\n\n**Example Conversation:**\n\n```text\nUser: \"Link your agent identity to me\"\nAgent: exec node scripts/linkHumanToAgent.js --challenge <challenge_value>\n```\n\n### Verifying Someone Else’s Identity\n\n**Verification Flow:**\n\n1. Ask the user/agent: \"Please provide your DID to start verification.\"\n2. User responds with their <user_did>.\n3. Use `node scripts/generateChallenge.js --did <user_did>` to create a <challenge_value>.\n4. Ask the user: \"Please sign this challenge: <challenge_value>\"\n5. User signs and returns <user_token>.\n6. Use `node scripts/verifySignature.js --did <user_did> --token <user_token>` to verify the signature\n7. If verification succeeds, identity is confirmed\n\n**Example Conversation:**\n\n```text\nAgent: \"Please provide your DID to start verification.\"\nUser: \"My DID is <user_did>\"\nAgent: exec node scripts/generateChallenge.js --did <user_did>\nAgent: \"Please sign this challenge: 789012\"\nUser: <user_token>\nAgent: exec node scripts/verifySignature.js --token <user_token> --did <user_did>\nAgent: \"Identity verified successfully. You are confirmed as owner of DID <user_did>.\"\n```\n\nFile v1.0.0:skills/verified-agent-identity/SKILL.md\n\n---\nname: verified-agent-identity\ndescription: Billions decentralized identity for agents. Link agents to human identities using Billions ERC-8004 and Attestation Registries. Verify and generate authentication proofs. Based on iden3 self-sovereign identity protocol.\nmetadata: { \"category\": \"identity\", \"clawdbot\": { \"requires\": { \"bins\": [\"node\"] }, \"config\": { \"optionalEnv\": [\"BILLIONS_NETWORK_MASTER_KMS_KEY\"] } } }\nhomepage: https://billions.network/\n---\n\n## When to use this Skill\n\nLets AI agents create and manage their own identities on the Billions Network, and link those identities to a human owner.\n\n1. When you need to link your agent identity to an owner.\n2. When you need to sign a challenge.\n3. When you need to link a human to the agent's DID.\n4. When you need to verify a signature to confirm identity ownership.\n5. When you use shared JWT tokens for authentication.\n6. When you need to create and manage decentralized identities.\n\n### After installing the plugin run the following commands to create an identity and link it to your human DID:\n\n```bash\ncd scripts && npm install && cd ..\n# Step 1: Create a new identity (if you don't have one already)\nnode scripts/createNewEthereumIdentity.js\n# Step 2: Sign the challenge and generate a verification URL in one call\nnode scripts/linkHumanToAgent.js --challenge '{\"name\": <AGENT_NAME>, \"description\": <SHORT_DESCRIPTION>}'\n```\n\n## Scope\n\nAll identity data is stored in `$HOME/.openclaw/billions` for compatibility with the OpenClaw plugin.\n\n# Scripts:\n\n### createNewEthereumIdentity.js\n\n**Command**: `node scripts/createNewEthereumIdentity.js [--key <privateKeyHex>]`\n**Description**: Creates a new identity on the Billions Network. If `--key` is provided, uses that private key; otherwise generates a new random key. The created identity is automatically set as default.\n**Usage Examples**:\n\n```bash\n# Generate a new random identity\nnode scripts/createNewEthereumIdentity.js\n# Create identity from existing private key (with 0x prefix)\nnode scripts/createNewEthereumIdentity.js --key 0x1234567890abcdef...\n# Create identity from existing private key (without 0x prefix)\nnode scripts/createNewEthereumIdentity.js --key 1234567890abcdef...\n```\n\n**Output**: DID string (e.g., `did:iden3:billions:main:2VmAk7fGHQP5FN2jZ8X9Y3K4W6L1M...`)\n\n---\n\n### getIdentities.js\n\n**Command**: `node scripts/getIdentities.js`\n**Description**: Lists all DID identities stored locally. Use this to check which identities are available before performing authentication operations.\n**Usage Example**:\n\n```bash\nnode scripts/getIdentities.js\n```\n\n**Output**: JSON array of identity entries\n\n```json\n[\n  {\n    \"did\": \"did:iden3:billions:main:2VmAk...\",\n    \"publicKeyHex\": \"0x04abc123...\",\n    \"isDefault\": true\n  }\n]\n```\n\n---\n\n### generateChallenge.js\n\n**Command**: `node scripts/generateChallenge.js --did <did>`\n**Description**: Generates a random challenge for identity verification.\n**Usage Example**:\n\n```bash\nnode scripts/generateChallenge.js --did did:iden3:billions:main:2VmAk...\n```\n\n**Output**: Challenge string (random number as string, e.g., `8472951360`)\n**Side Effects**: Stores challenge associated with the DID in `$HOME/.openclaw/billions/challenges.json`\n\n---\n\n### signChallenge.js\n\n**Command**: `node scripts/signChallenge.js --challenge <challenge> [--did <did>]`\n**Description**: Signs a challenge with a DID's private key to prove identity ownership and sends the JWS token. Use this when you need to prove you own a specific DID.\n**Arguments**:\n\n- `--challenge` - (required) Challenge to sign\n- `--did` - (optional) The DID of the attestation recipient; uses the default DID if omitted\n\n**Usage Examples**:\n\n```bash\n# Sign with default DID\nnode scripts/signChallenge.js --challenge 8472951360\n```\n\n**Output**: `{\"success\":true}`\n\n### linkHumanToAgent.js\n\n**Command**: `node scripts/linkHumanToAgent.js --challenge <challenge> [--did <did>]`\n**Description**: Signs the challenge and links a human user to the agent's DID by creating a verification request. Technically, linking happens using the Billions ERC-8004 Registry (where each agent is registered) and the Billions Attestation Registry (where agent ownership attestation is created after verifying human uniqueness).\n**Arguments**:\n\n- `--challenge` - (required) Challenge to sign\n- `--did` - (optional) The DID of the attestation recipient; uses the default DID if omitted\n\n**Usage Example**:\n\n```bash\nnode scripts/linkHumanToAgent.js --challenge '{\"name\": \"MyAgent\", \"description\": \"AI persona\"}'\n```\n\n**Output**: `{\"success\":true}`\n\n---\n\n### verifySignature.js\n\n**Command**: `node scripts/verifySignature.js --did <did> --token <token>`\n**Description**: Verifies a signed challenge to confirm DID ownership.\n**Usage Example**:\n\n```bash\nnode scripts/verifySignature.js --did did:iden3:billions:main:2VmAk... --token eyJhbGciOiJFUzI1NkstUi...\n```\n\n**Output**: `Signature verified successfully` (on success) or error message (on failure)\n\n---\n\n## Restrictions / Guardrails (CRITICAL)\n\n**CRITICAL - Always Follow These Rules:**\n\n1. **STRICT: Check Identity First**\n   - Before running `linkHumanToAgent.js` or `signChallenge.js`, **ALWAYS check if an identity exists**: `node scripts/getIdentities.js`\n   - If no identity is configured, **DO NOT** attempt to link identities. Instead, create an identity first with `createNewEthereumIdentity.js`.\n2. **STRICT: Stop on Script Failure**\n   - If any script exits with non-zero status code, **YOU MUST STOP IMMEDIATELY**.\n   - Check stderr output for error messages.\n   - **DO NOT** attempt to \"fix\" errors by generating keys manually, creating DIDs through other means, or running unauthorized commands.\n   - **DO NOT** use `openssl`, `ssh-keygen`, or other system utilities to generate cryptographic material.\n3. **No Manual Workarounds**\n   - You are prohibited from performing manual cryptographic operations.\n   - You are prohibited from directly manipulating files in `$HOME/.openclaw/billions`.\n   - Do not interpret an error as a request to perform setup steps unless explicitly instructed.\n\n---\n\n## Security\n\n**CRITICAL - Data Storage and Protection:**\n\nThe directory `$HOME/.openclaw/billions` contains all sensitive identity data:\n\n- `kms.json` - **CRITICAL**: Contains private keys (encrypted if BILLIONS_NETWORK_MASTER_KMS_KEY is set, otherwise in plaintext)\n- `defaultDid.json` - DID identifiers and public keys\n- `challenges.json` - Authentication challenges history\n- `credentials.json` - Verifiable credentials\n- `identities.json` - Identity metadata\n- `profiles.json` - Profile data\n\n## Examples\n\n### Link Your Agent Identity to Owner\n\n**Linking Flow:**\n\n1. Another agent/user requests: \"Please link your agent identity to me.\"\n2. Use `node scripts/getIdentities.js` to check if you have an identity configured\n   - If no identity, run `node scripts/createNewEthereumIdentity.js` to create one.\n3. Use `node scripts/linkHumanToAgent.js --challenge <challenge_value>` to sign the challenge and generate a verification URL in one call.\n   - If caller provides specific challenge, use that.\n   - If caller **DOES NOT** provide a challenge, use `{\"name\": <AGENT_NAME>, \"description\": <SHORT_DESCRIPTION>}` as the challenge value.\n4. Return the result to the caller.\n\n**Example Conversation:**\n\n```text\nUser: \"Link your agent identity to me\"\nAgent: exec node scripts/linkHumanToAgent.js --challenge <challenge_value>\n```\n\n### Verifying Someone Else’s Identity\n\n**Verification Flow:**\n\n1. Ask the user/agent: \"Please provide your DID to start verification.\"\n2. User responds with their <user_did>.\n3. Use `node scripts/generateChallenge.js --did <user_did>` to create a <challenge_value>.\n4. Ask the user: \"Please sign this challenge: <challenge_value>\"\n5. User signs and returns <user_token>.\n6. Use `node scripts/verifySignature.js --did <user_did> --token <user_token>` to verify the signature\n7. If verification succeeds, identity is confirmed\n\n**Example Conversation:**\n\n```text\nAgent: \"Please provide your DID to start verification.\"\nUser: \"My DID is <user_did>\"\nAgent: exec node scripts/generateChallenge.js --did <user_did>\nAgent: \"Please sign this challenge: 789012\"\nUser: <user_token>\nAgent: exec node scripts/verifySignature.js --token <user_token> --did <user_did>\nAgent: \"Identity verified successfully. You are confirmed as owner of DID <user_did>.\"\n```\n\nFile v1.0.0:README.md\n\n# Verified Agent Identity\n\nA decentralized identity management toolkit for AI agents using iden3 protocol on Billions Network.\n\n## Overview\n\nThis skill enables AI agents to create, manage, link, prove and verify ownership of decentralized identities (DIDs) using cryptographic signatures.\n\n## Installation\n\n### Agent CTA:\n\n1. Ask bot to install the skill:\n\n   ```plaintext\n   Install the skill `npx clawhub@latest install verified-agent-identity`\n   ```\n\n   Or\n\n   ```plaintext\n   Install the `verified-agent-identity` skill from the OpenClaw clawhub.ai.\n   ```\n\n2. (Optional) If the verification process did not start automatically after installation, ask your bot to initialize the process by sending a message like:\n\n   ```plaintext\n   Please link your agent identity to me.\n   ```\n\n### Human CTA:\n\n1. Install the skill:\n   ```bash\n   npx clawhub@latest install verified-agent-identity\n   ```\n2. Create a new identity:\n\n   ```bash\n   # Generate a new key and create a new identity\n   node scripts/createNewEthereumIdentity.js\n   ```\n\n   Or\n\n   ```bash\n   # Use an existing private key to create an identity\n   node scripts/createNewEthereumIdentity.js --key <your-ethereum-private-key>\n   ```\n\n3. Generate a verification link to connect your human identity to the agent:\n\n   ```bash\n   node scripts/manualLinkHumanToAgent.js --challenge '{\"name\": \"Agent Name\", \"description\": \"Short description of the agent\"}'\n   ```\n\n   This prints the verification URL to the console. Open it in your browser to complete the identity linking process.\n\n## Features\n\n- **Identity Creation**: Generate new DIDs with random or existing Ethereum private keys\n- **Identity Management**: List and manage multiple identities with default identity support\n- **Human-Agent Linking**: Link a human identity to an agent's DID through signed challenges\n- **Proof Generation**: Generate cryptographic proofs to authenticate as a specific identity\n- **Proof Verification**: Verify proofs to confirm identity ownership\n\n## Architecture\n\n### Runtime Requirements\n\n- **Node.js `>= v20`** and **npm** are required to run the scripts.\n\n### Dependency Surface\n\nnpm dependencies are intentionally minimal and scoped to well-established, audited packages:\n\n| Package                | Purpose                                                      |\n| ---------------------- | ------------------------------------------------------------ |\n| `@0xpolygonid/js-sdk`  | iden3/Privado ID cryptographic primitives and key management |\n| `@iden3/js-iden3-core` | DID and identity core types                                  |\n| `@iden3/js-iden3-auth` | JWS/JWA authorization response construction and verification |\n| `ethers`               | Ethereum key utilities                                       |\n| `uuid`                 | UUID generation for protocol message IDs                     |\n\nCore libraries governing identity management use pinned, well-tested versions to ensure stability and security.\n\n### Key Storage and Isolation\n\nAll cryptographic material is persisted to `$HOME/.openclaw/billions/` — a directory that lives **outside the agent's workspace**:\n\n| File               | Contents                                                                           |\n| ------------------ | ---------------------------------------------------------------------------------- |\n| `kms.json`         | Private keys — per-entry versioned format; keys are plain or AES-256-GCM encrypted |\n| `identities.json`  | Identity metadata                                                                  |\n| `defaultDid.json`  | Active DID and associated public key                                               |\n| `challenges.json`  | Per-DID challenge history                                                          |\n| `credentials.json` | Verifiable credentials                                                             |\n\nThere are several ways of storing private keys, to enable master key encryption as described in the **KMS Encryption** section below.\n\n### KMS Encryption\n\nSet the environment variable `BILLIONS_NETWORK_MASTER_KMS_KEY` to enable AES-256-GCM at-rest encryption for the private keys inside `kms.json`. When set, every key value is individually encrypted on write; when absent, keys are stored as plain hex strings.\n\n**`kms.json` entry format**\n\nEach entry in the array is versioned. The `alias` is always stored in plaintext — only the `key` value is encrypted:\n\n```json\n[\n  {\n    \"version\": 1,\n    \"provider\": \"plain\",\n    \"data\": {\n      \"alias\": \"secp256k1:abc123\",\n      \"key\": \"deadbeef...\",\n      \"createdAt\": \"2026-03-12T13:46:04.094Z\"\n    }\n  },\n  {\n    \"version\": 1,\n    \"provider\": \"encrypted\",\n    \"data\": {\n      \"alias\": \"secp256k1:xyz456\",\n      \"key\": \"<iv_hex>:<authTag_hex>:<ciphertext_hex>\",\n      \"createdAt\": \"2026-02-11T13:00:02.032Z\"\n    }\n  }\n]\n```\n\n**Behavior summary**\n\n| `BILLIONS_NETWORK_MASTER_KMS_KEY` | `provider` on disk | `key` value on disk     |\n| --------------------------------- | ------------------ | ----------------------- |\n| Not set                           | `\"plain\"`          | Raw hex string          |\n| Set                               | `\"encrypted\"`      | `iv:authTag:ciphertext` |\n\n> **Backward compatibility** — the legacy format `[ { \"alias\": \"...\", \"privateKeyHex\": \"...\" } ]` is still read correctly. On the first write the file is automatically migrated to the new per-entry format. No manual step is required.\n\n**How to set the variable**\n\n_Option 1 — openclaw skill config (recommended for agent deployments):_\n\nAdd an `env` block for the skill inside your openclaw config:\n\n```json\n\"skills\": {\n  \"entries\": {\n    \"verified-agent-identity\": {\n      \"env\": {\n        \"BILLIONS_NETWORK_MASTER_KMS_KEY\": \"<your-strong-secret>\"\n      }\n    }\n  }\n}\n```\n\n_Option 2 — shell or process environment:_\n\n```bash\nexport BILLIONS_NETWORK_MASTER_KMS_KEY=\"<your-strong-secret>\"\nnode scripts/createNewEthereumIdentity.js\nnode scripts/manualLinkHumanToAgent.js --challenge '{\"name\": \"Agent Name\", \"description\": \"Short description of the agent\"}'\n```\n\nFor all other ways to pass environment variables to a skill see the [OpenClaw environment documentation](https://docs.openclaw.ai/help/environment).\n\n**CRITICAL**: Save master keys securely and do not share them. If the master key is lost, all encrypted keys will be lost.\n\n### Network and External Binary Policy\n\n- All external https calls will be made to trusted resources. Signed JWS attestation (proof of agent ownership) is encoded securely by utilizing robust security practices. It requires an explicit user consent to pass it to any other source.\n- All network calls are directed to legitimate DID resolvers (resolver.privado.id) or the project's own infrastructure (billions.network). These network calls cannot exfiltrate signed attestations or identity data to other third-party services by skill design. Wallet interaction is possible only through explicit action from the user side with consent. Also attestation contains only publicly verifiable information.\n- Whitelisted domains:\n  - `resolver.privado.id` (DID resolution)\n  - `billions.network` (Billions Network interactions)\n\n## Documentation\n\nSee [SKILL.md](SKILL.md) for detailed usage instructions and examples.\n\nFile v1.0.0:skills/verified-agent-identity/README.md\n\n# Verified Agent Identity\n\nA decentralized identity management toolkit for AI agents using iden3 protocol on Billions Network.\n\n## Overview\n\nThis skill enables AI agents to create, manage, link, prove and verify ownership of decentralized identities (DIDs) using cryptographic signatures.\n\n## Installation\n\n### Agent CTA:\n\n1. Ask bot to install the skill:\n\n   ```plaintext\n   Install the skill `npx clawhub@latest install verified-agent-identity`\n   ```\n\n   Or\n\n   ```plaintext\n   Install the `verified-agent-identity` skill from the OpenClaw clawhub.ai.\n   ```\n\n2. (Optional) If the verification process did not start automatically after installation, ask your bot to initialize the process by sending a message like:\n\n   ```plaintext\n   Please link your agent identity to me.\n   ```\n\n### Human CTA:\n\n1. Install the skill:\n   ```bash\n   npx clawhub@latest install verified-agent-identity\n   ```\n2. Create a new identity:\n\n   ```bash\n   # Generate a new key and create a new identity\n   node scripts/createNewEthereumIdentity.js\n   ```\n\n   Or\n\n   ```bash\n   # Use an existing private key to create an identity\n   node scripts/createNewEthereumIdentity.js --key <your-ethereum-private-key>\n   ```\n\n3. Generate a verification link to connect your human identity to the agent:\n\n   ```bash\n   node scripts/manualLinkHumanToAgent.js --challenge '{\"name\": \"Agent Name\", \"description\": \"Short description of the agent\"}'\n   ```\n\n   This prints the verification URL to the console. Open it in your browser to complete the identity linking process.\n\n## Features\n\n- **Identity Creation**: Generate new DIDs with random or existing Ethereum private keys\n- **Identity Management**: List and manage multiple identities with default identity support\n- **Human-Agent Linking**: Link a human identity to an agent's DID through signed challenges\n- **Proof Generation**: Generate cryptographic proofs to authenticate as a specific identity\n- **Proof Verification**: Verify proofs to confirm identity ownership\n\n## Architecture\n\n### Runtime Requirements\n\n- **Node.js `>= v20`** and **npm** are required to run the scripts.\n\n### Dependency Surface\n\nnpm dependencies are intentionally minimal and scoped to well-established, audited packages:\n\n| Package                | Purpose                                                      |\n| ---------------------- | ------------------------------------------------------------ |\n| `@0xpolygonid/js-sdk`  | iden3/Privado ID cryptographic primitives and key management |\n| `@iden3/js-iden3-core` | DID and identity core types                                  |\n| `@iden3/js-iden3-auth` | JWS/JWA authorization response construction and verification |\n| `ethers`               | Ethereum key utilities                                       |\n| `uuid`                 | UUID generation for protocol message IDs                     |\n\nCore libraries governing identity management use pinned, well-tested versions to ensure stability and security.\n\n### Key Storage and Isolation\n\nAll cryptographic material is persisted to `$HOME/.openclaw/billions/` — a directory that lives **outside the agent's workspace**:\n\n| File               | Contents                                                                           |\n| ------------------ | ---------------------------------------------------------------------------------- |\n| `kms.json`         | Private keys — per-entry versioned format; keys are plain or AES-256-GCM encrypted |\n| `identities.json`  | Identity metadata                                                                  |\n| `defaultDid.json`  | Active DID and associated public key                                               |\n| `challenges.json`  | Per-DID challenge history                                                          |\n| `credentials.json` | Verifiable credentials                                                             |\n\nThere are several ways of storing private keys, to enable master key encryption as described in the **KMS Encryption** section below.\n\n### KMS Encryption\n\nSet the environment variable `BILLIONS_NETWORK_MASTER_KMS_KEY` to enable AES-256-GCM at-rest encryption for the private keys inside `kms.json`. When set, every key value is individually encrypted on write; when absent, keys are stored as plain hex strings.\n\n**`kms.json` entry format**\n\nEach entry in the array is versioned. The `alias` is always stored in plaintext — only the `key` value is encrypted:\n\n```json\n[\n  {\n    \"version\": 1,\n    \"provider\": \"plain\",\n    \"data\": {\n      \"alias\": \"secp256k1:abc123\",\n      \"key\": \"deadbeef...\",\n      \"createdAt\": \"2026-03-12T13:46:04.094Z\"\n    }\n  },\n  {\n    \"version\": 1,\n    \"provider\": \"encrypted\",\n    \"data\": {\n      \"alias\": \"secp256k1:xyz456\",\n      \"key\": \"<iv_hex>:<authTag_hex>:<ciphertext_hex>\",\n      \"createdAt\": \"2026-02-11T13:00:02.032Z\"\n    }\n  }\n]\n```\n\n**Behavior summary**\n\n| `BILLIONS_NETWORK_MASTER_KMS_KEY` | `provider` on disk | `key` value on disk     |\n| --------------------------------- | ------------------ | ----------------------- |\n| Not set                           | `\"plain\"`          | Raw hex string          |\n| Set                               | `\"encrypted\"`      | `iv:authTag:ciphertext` |\n\n> **Backward compatibility** — the legacy format `[ { \"alias\": \"...\", \"privateKeyHex\": \"...\" } ]` is still read correctly. On the first write the file is automatically migrated to the new per-entry format. No manual step is required.\n\n**How to set the variable**\n\n_Option 1 — openclaw skill config (recommended for agent deployments):_\n\nAdd an `env` block for the skill inside your openclaw config:\n\n```json\n\"skills\": {\n  \"entries\": {\n    \"verified-agent-identity\": {\n      \"env\": {\n        \"BILLIONS_NETWORK_MASTER_KMS_KEY\": \"<your-strong-secret>\"\n      }\n    }\n  }\n}\n```\n\n_Option 2 — shell or process environment:_\n\n```bash\nexport BILLIONS_NETWORK_MASTER_KMS_KEY=\"<your-strong-secret>\"\nnode scripts/createNewEthereumIdentity.js\nnode scripts/manualLinkHumanToAgent.js --challenge '{\"name\": \"Agent Name\", \"description\": \"Short description of the agent\"}'\n```\n\nFor all other ways to pass environment variables to a skill see the [OpenClaw environment documentation](https://docs.openclaw.ai/help/environment).\n\n**CRITICAL**: Save master keys securely and do not share them. If the master key is lost, all encrypted keys will be lost.\n\n### Network and External Binary Policy\n\n- All external https calls will be made to trusted resources. Signed JWS attestation (proof of agent ownership) is encoded securely by utilizing robust security practices. It requires an explicit user consent to pass it to any other source.\n- All network calls are directed to legitimate DID resolvers (resolver.privado.id) or the project's own infrastructure (billions.network). These network calls cannot exfiltrate signed attestations or identity data to other third-party services by skill design. Wallet interaction is possible only through explicit action from the user side with consent. Also attestation contains only publicly verifiable information.\n- Whitelisted domains:\n  - `resolver.privado.id` (DID resolution)\n  - `billions.network` (Billions Network interactions)\n\n## Documentation\n\nSee [SKILL.md](SKILL.md) for detailed usage instructions and examples.\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn75zd0xs7ecy5z0pr1fjpdp6n85r9sy\",\n  \"slug\": \"verifiedagentidentity\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1777438967104\n}\n\nFile v1.0.0:skills/verified-agent-identity/_meta.json\n\n{\n  \"ownerId\": \"kn7b32r236rckzwn88kc1jqhcn81hzrv\",\n  \"slug\": \"verified-agent-identity\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1773968276667\n}\n\nFile v1.0.0:scripts/package-lock.json\n\n{\n  \"name\": \"verified-agent-identity\",\n  \"version\": \"0.0.2\",\n  \"lockfileVersion\": 3,\n  \"requires\": true,\n  \"packages\": {\n    \"\": {\n      \"name\": \"verified-agent-identity\",\n      \"version\": \"0.0.2\",\n      \"license\": \"UNLICENSED\",\n      \"dependencies\": {\n        \"@0xpolygonid/js-sdk\": \"1.42.1\",\n        \"@iden3/js-iden3-auth\": \"1.14.0\",\n        \"@iden3/js-iden3-core\": \"1.8.0\",\n        \"@noble/curves\": \"^1.9.2\",\n        \"ethers\": \"^6.13.4\",\n        \"uuid\": \"^11.0.3\"\n      }\n    },\n    \"node_modules/@0xpolygonid/js-sdk\": {\n      \"version\": \"1.42.1\",\n      \"resolved\": \"https://registry.npmjs.org/@0xpolygonid/js-sdk/-/js-sdk-1.42.1.tgz\",\n      \"integrity\": \"sha512-2X0zFGfygtu4D7X2DSiI3GxQ7vp3+iNQ05WeTi4u9aPj+9/sxYsVDJnRsHDZzmCCVO9kzmb2DQ1uxs5JtTrhPA==\",\n      \"license\": \"MIT or Apache-2.0\",\n      \"dependencies\": {\n        \"@iden3/onchain-non-merklized-issuer-base-abi\": \"0.0.3\",\n        \"@iden3/universal-verifier-v2-abi\": \"2.0.2\",\n        \"@noble/curves\": \"1.9.2\",\n        \"@solana/web3.js\": \"1.98.4\",\n        \"ajv\": \"8.17.1\",\n        \"ajv-formats\": \"3.0.1\",\n        \"borsh\": \"0.7.0\",\n        \"canonicalize\": \"^2.1.0\",\n        \"did-jwt\": \"8.0.18\",\n        \"did-resolver\": \"4.1.0\",\n        \"ethers\": \"6.15.0\",\n        \"idb-keyval\": \"6.2.2\",\n        \"jose\": \"^6.1.0\",\n        \"jsonld\": \"8.3.3\",\n        \"pubsub-js\": \"1.9.5\",\n        \"quick-lru\": \"7.0.1\",\n        \"uuid\": \"13.0.0\"\n      },\n      \"engines\": {\n        \"node\": \">=20.11.0\"\n      },\n      \"peerDependencies\": {\n        \"@iden3/js-crypto\": \"1.3.2\",\n        \"@iden3/js-iden3-core\": \"1.8.0\",\n        \"@iden3/js-jsonld-merklization\": \"1.7.2\",\n        \"@iden3/js-jwz\": \"1.12.2\",\n        \"@iden3/js-merkletree\": \"1.5.1\",\n        \"ffjavascript\": \"0.3.1\",\n        \"rfc4648\": \"1.5.4\",\n        \"snarkjs\": \"0.7.5\"\n      }\n    },\n    \"node_modules/@0xpolygonid/js-sdk/node_modules/@noble/curves\": {\n      \"version\": \"1.9.2\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/curves/-/curves-1.9.2.tgz\",\n      \"integrity\": \"sha512-HxngEd2XUcg9xi20JkwlLCtYwfoFw4JGkuZpT+WlsPD4gB/cxkvTD8fSsoAnphGZhFdZYKeQIPCuFlWPm1uE0g==\",\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@noble/hashes\": \"1.8.0\"\n      },\n      \"engines\": {\n        \"node\": \"^14.21.3 || >=16\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@0xpolygonid/js-sdk/node_modules/@noble/hashes\": {\n      \"version\": \"1.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz\",\n      \"integrity\": \"sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==\",\n      \"license\": \"MIT\",\n      \"engines\": {\n        \"node\": \"^14.21.3 || >=16\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@0xpolygonid/js-sdk/node_modules/ethers\": {\n      \"version\": \"6.15.0\",\n      \"resolved\": \"https://registry.npmjs.org/ethers/-/ethers-6.15.0.tgz\",\n      \"integrity\": \"sha512-Kf/3ZW54L4UT0pZtsY/rf+EkBU7Qi5nnhonjUb8yTXcxH3cdcWrV2cRyk0Xk/4jK6OoHhxxZHriyhje20If2hQ==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://github.com/sponsors/ethers-io/\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@adraffy/ens-normalize\": \"1.10.1\",\n        \"@noble/curves\": \"1.2.0\",\n        \"@noble/hashes\": \"1.3.2\",\n        \"@types/node\": \"22.7.5\",\n        \"aes-js\": \"4.0.0-beta.5\",\n        \"tslib\": \"2.7.0\",\n        \"ws\": \"8.17.1\"\n      },\n      \"engines\": {\n        \"node\": \">=14.0.0\"\n      }\n    },\n    \"node_modules/@0xpolygonid/js-sdk/node_modules/ethers/node_modules/@noble/curves\": {\n      \"version\": \"1.2.0\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz\",\n      \"integrity\": \"sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==\",\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@noble/hashes\": \"1.3.2\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@0xpolygonid/js-sdk/node_modules/ethers/node_modules/@noble/hashes\": {\n      \"version\": \"1.3.2\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz\",\n      \"integrity\": \"sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==\",\n      \"license\": \"MIT\",\n      \"engines\": {\n        \"node\": \">= 16\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@0xpolygonid/js-sdk/node_modules/tslib\": {\n      \"version\": \"2.7.0\",\n      \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz\",\n      \"integrity\": \"sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==\",\n      \"license\": \"0BSD\"\n    },\n    \"node_modules/@0xpolygonid/js-sdk/node_modules/uuid\": {\n      \"version\": \"13.0.0\",\n      \"resolved\": \"https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz\",\n      \"integrity\": \"sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==\",\n      \"funding\": [\n        \"https://github.com/sponsors/broofa\",\n        \"https://github.com/sponsors/ctavan\"\n      ],\n      \"license\": \"MIT\",\n      \"bin\": {\n        \"uuid\": \"dist-node/bin/uuid\"\n      }\n    },\n    \"node_modules/@adraffy/ens-normalize\": {\n      \"version\": \"1.10.1\",\n      \"resolved\": \"https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz\",\n      \"integrity\": \"sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==\",\n      \"license\": \"MIT\"\n    },\n    \"node_modules/@babel/runtime\": {\n      \"version\": \"7.28.6\",\n      \"resolved\": \"https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz\",\n      \"integrity\": \"sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==\",\n      \"license\": \"MIT\",\n      \"engines\": {\n        \"node\": \">=6.9.0\"\n      }\n    },\n    \"node_modules/@digitalbazaar/http-client\": {\n      \"version\": \"3.4.1\",\n      \"resolved\": \"https://registry.npmjs.org/@digitalbazaar/http-client/-/http-client-3.4.1.tgz\",\n      \"integrity\": \"sha512-Ahk1N+s7urkgj7WvvUND5f8GiWEPfUw0D41hdElaqLgu8wZScI8gdI0q+qWw5N1d35x7GCRH2uk9mi+Uzo9M3g==\",\n      \"license\": \"BSD-3-Clause\",\n      \"dependencies\": {\n        \"ky\": \"^0.33.3\",\n        \"ky-universal\": \"^0.11.0\",\n        \"undici\": \"^5.21.2\"\n      },\n      \"engines\": {\n        \"node\": \">=14.0\"\n      }\n    },\n    \"node_modules/@ethersproject/abi\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/abi/-/abi-5.8.0.tgz\",\n      \"integrity\": \"sha512-b9YS/43ObplgyV6SlyQsG53/vkSal0MNA1fskSC4mbnCMi8R+NkcH8K9FPYNESf6jUefBUniE4SOKms0E/KK1Q==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/address\": \"^5.8.0\",\n        \"@ethersproject/bignumber\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/constants\": \"^5.8.0\",\n        \"@ethersproject/hash\": \"^5.8.0\",\n        \"@ethersproject/keccak256\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\",\n        \"@ethersproject/strings\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/abstract-provider\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.8.0.tgz\",\n      \"integrity\": \"sha512-wC9SFcmh4UK0oKuLJQItoQdzS/qZ51EJegK6EmAWlh+OptpQ/npECOR3QqECd8iGHC0RJb4WKbVdSfif4ammrg==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bignumber\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/networks\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\",\n        \"@ethersproject/transactions\": \"^5.8.0\",\n        \"@ethersproject/web\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/abstract-signer\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.8.0.tgz\",\n      \"integrity\": \"sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/abstract-provider\": \"^5.8.0\",\n        \"@ethersproject/bignumber\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/address\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/address/-/address-5.8.0.tgz\",\n      \"integrity\": \"sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bignumber\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/keccak256\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/rlp\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/base64\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/base64/-/base64-5.8.0.tgz\",\n      \"integrity\": \"sha512-lN0oIwfkYj9LbPx4xEkie6rAMJtySbpOAFXSDVQaBnAzYfB4X2Qr+FXJGxMoc3Bxp2Sm8OwvzMrywxyw0gLjIQ==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bytes\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/basex\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/basex/-/basex-5.8.0.tgz\",\n      \"integrity\": \"sha512-PIgTszMlDRmNwW9nhS6iqtVfdTAKosA7llYXNmGPw4YAI1PUyMv28988wAb41/gHF/WqGdoLv0erHaRcHRKW2Q==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/bignumber\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.8.0.tgz\",\n      \"integrity\": \"sha512-ZyaT24bHaSeJon2tGPKIiHszWjD/54Sz8t57Toch475lCLljC6MgPmxk7Gtzz+ddNN5LuHea9qhAe0x3D+uYPA==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"bn.js\": \"^5.2.1\"\n      }\n    },\n    \"node_modules/@ethersproject/bytes\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.8.0.tgz\",\n      \"integrity\": \"sha512-vTkeohgJVCPVHu5c25XWaWQOZ4v+DkGoC42/TS2ond+PARCxTJvgTFUNDZovyQ/uAQ4EcpqqowKydcdmRKjg7A==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/logger\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/constants\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/constants/-/constants-5.8.0.tgz\",\n      \"integrity\": \"sha512-wigX4lrf5Vu+axVTIvNsuL6YrV4O5AXl5ubcURKMEME5TnWBouUh0CDTWxZ2GpnRn1kcCgE7l8O5+VbV9QTTcg==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bignumber\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/contracts\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.8.0.tgz\",\n      \"integrity\": \"sha512-0eFjGz9GtuAi6MZwhb4uvUM216F38xiuR0yYCjKJpNfSEy4HUM8hvqqBj9Jmm0IUz8l0xKEhWwLIhPgxNY0yvQ==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/abi\": \"^5.8.0\",\n        \"@ethersproject/abstract-provider\": \"^5.8.0\",\n        \"@ethersproject/abstract-signer\": \"^5.8.0\",\n        \"@ethersproject/address\": \"^5.8.0\",\n        \"@ethersproject/bignumber\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/constants\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\",\n        \"@ethersproject/transactions\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/hash\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/hash/-/hash-5.8.0.tgz\",\n      \"integrity\": \"sha512-ac/lBcTbEWW/VGJij0CNSw/wPcw9bSRgCB0AIBz8CvED/jfvDoV9hsIIiWfvWmFEi8RcXtlNwp2jv6ozWOsooA==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/abstract-signer\": \"^5.8.0\",\n        \"@ethersproject/address\": \"^5.8.0\",\n        \"@ethersproject/base64\": \"^5.8.0\",\n        \"@ethersproject/bignumber\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/keccak256\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\",\n        \"@ethersproject/strings\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/hdnode\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.8.0.tgz\",\n      \"integrity\": \"sha512-4bK1VF6E83/3/Im0ERnnUeWOY3P1BZml4ZD3wcH8Ys0/d1h1xaFt6Zc+Dh9zXf9TapGro0T4wvO71UTCp3/uoA==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/abstract-signer\": \"^5.8.0\",\n        \"@ethersproject/basex\": \"^5.8.0\",\n        \"@ethersproject/bignumber\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/pbkdf2\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\",\n        \"@ethersproject/sha2\": \"^5.8.0\",\n        \"@ethersproject/signing-key\": \"^5.8.0\",\n        \"@ethersproject/strings\": \"^5.8.0\",\n        \"@ethersproject/transactions\": \"^5.8.0\",\n        \"@ethersproject/wordlists\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/json-wallets\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.8.0.tgz\",\n      \"integrity\": \"sha512-HxblNck8FVUtNxS3VTEYJAcwiKYsBIF77W15HufqlBF9gGfhmYOJtYZp8fSDZtn9y5EaXTE87zDwzxRoTFk11w==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/abstract-signer\": \"^5.8.0\",\n        \"@ethersproject/address\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/hdnode\": \"^5.8.0\",\n        \"@ethersproject/keccak256\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/pbkdf2\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\",\n        \"@ethersproject/random\": \"^5.8.0\",\n        \"@ethersproject/strings\": \"^5.8.0\",\n        \"@ethersproject/transactions\": \"^5.8.0\",\n        \"aes-js\": \"3.0.0\",\n        \"scrypt-js\": \"3.0.1\"\n      }\n    },\n    \"node_modules/@ethersproject/json-wallets/node_modules/aes-js\": {\n      \"version\": \"3.0.0\",\n      \"resolved\": \"https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz\",\n      \"integrity\": \"sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==\",\n      \"license\": \"MIT\"\n    },\n    \"node_modules/@ethersproject/keccak256\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.8.0.tgz\",\n      \"integrity\": \"sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"js-sha3\": \"0.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/logger\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/logger/-/logger-5.8.0.tgz\",\n      \"integrity\": \"sha512-Qe6knGmY+zPPWTC+wQrpitodgBfH7XoceCGL5bJVejmH+yCS3R8jJm8iiWuvWbG76RUmyEG53oqv6GMVWqunjA==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\"\n    },\n    \"node_modules/@ethersproject/networks\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/networks/-/networks-5.8.0.tgz\",\n      \"integrity\": \"sha512-egPJh3aPVAzbHwq8DD7Po53J4OUSsA1MjQp8Vf/OZPav5rlmWUaFLiq8cvQiGK0Z5K6LYzm29+VA/p4RL1FzNg==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/logger\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/pbkdf2\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.8.0.tgz\",\n      \"integrity\": \"sha512-wuHiv97BrzCmfEaPbUFpMjlVg/IDkZThp9Ri88BpjRleg4iePJaj2SW8AIyE8cXn5V1tuAaMj6lzvsGJkGWskg==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/sha2\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/properties\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/properties/-/properties-5.8.0.tgz\",\n      \"integrity\": \"sha512-PYuiEoQ+FMaZZNGrStmN7+lWjlsoufGIHdww7454FIaGdbe/p5rnaCXTr5MtBYl3NkeoVhHZuyzChPeGeKIpQw==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/logger\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/providers\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/providers/-/providers-5.8.0.tgz\",\n      \"integrity\": \"sha512-3Il3oTzEx3o6kzcg9ZzbE+oCZYyY+3Zh83sKkn4s1DZfTUjIegHnN2Cm0kbn9YFy45FDVcuCLLONhU7ny0SsCw==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/abstract-provider\": \"^5.8.0\",\n        \"@ethersproject/abstract-signer\": \"^5.8.0\",\n        \"@ethersproject/address\": \"^5.8.0\",\n        \"@ethersproject/base64\": \"^5.8.0\",\n        \"@ethersproject/basex\": \"^5.8.0\",\n        \"@ethersproject/bignumber\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/constants\": \"^5.8.0\",\n        \"@ethersproject/hash\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/networks\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\",\n        \"@ethersproject/random\": \"^5.8.0\",\n        \"@ethersproject/rlp\": \"^5.8.0\",\n        \"@ethersproject/sha2\": \"^5.8.0\",\n        \"@ethersproject/strings\": \"^5.8.0\",\n        \"@ethersproject/transactions\": \"^5.8.0\",\n        \"@ethersproject/web\": \"^5.8.0\",\n        \"bech32\": \"1.1.4\",\n        \"ws\": \"8.18.0\"\n      }\n    },\n    \"node_modules/@ethersproject/providers/node_modules/ws\": {\n      \"version\": \"8.18.0\",\n      \"resolved\": \"https://registry.npmjs.org/ws/-/ws-8.18.0.tgz\",\n      \"integrity\": \"sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==\",\n      \"license\": \"MIT\",\n      \"engines\": {\n        \"node\": \">=10.0.0\"\n      },\n      \"peerDependencies\": {\n        \"bufferutil\": \"^4.0.1\",\n        \"utf-8-validate\": \">=5.0.2\"\n      },\n      \"peerDependenciesMeta\": {\n        \"bufferutil\": {\n          \"optional\": true\n        },\n        \"utf-8-validate\": {\n          \"optional\": true\n        }\n      }\n    },\n    \"node_modules/@ethersproject/random\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/random/-/random-5.8.0.tgz\",\n      \"integrity\": \"sha512-E4I5TDl7SVqyg4/kkA/qTfuLWAQGXmSOgYyO01So8hLfwgKvYK5snIlzxJMk72IFdG/7oh8yuSqY2KX7MMwg+A==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/rlp\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.8.0.tgz\",\n      \"integrity\": \"sha512-LqZgAznqDbiEunaUvykH2JAoXTT9NV0Atqk8rQN9nx9SEgThA/WMx5DnW8a9FOufo//6FZOCHZ+XiClzgbqV9Q==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/sha2\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.8.0.tgz\",\n      \"integrity\": \"sha512-dDOUrXr9wF/YFltgTBYS0tKslPEKr6AekjqDW2dbn1L1xmjGR+9GiKu4ajxovnrDbwxAKdHjW8jNcwfz8PAz4A==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"hash.js\": \"1.1.7\"\n      }\n    },\n    \"node_modules/@ethersproject/signing-key\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.8.0.tgz\",\n      \"integrity\": \"sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\",\n        \"bn.js\": \"^5.2.1\",\n        \"elliptic\": \"6.6.1\",\n        \"hash.js\": \"1.1.7\"\n      }\n    },\n    \"node_modules/@ethersproject/solidity\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.8.0.tgz\",\n      \"integrity\": \"sha512-4CxFeCgmIWamOHwYN9d+QWGxye9qQLilpgTU0XhYs1OahkclF+ewO+3V1U0mvpiuQxm5EHHmv8f7ClVII8EHsA==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bignumber\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/keccak256\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/sha2\": \"^5.8.0\",\n        \"@ethersproject/strings\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/strings\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/strings/-/strings-5.8.0.tgz\",\n      \"integrity\": \"sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/constants\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/transactions\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.8.0.tgz\",\n      \"integrity\": \"sha512-UglxSDjByHG0TuU17bDfCemZ3AnKO2vYrL5/2n2oXvKzvb7Cz+W9gOWXKARjp2URVwcWlQlPOEQyAviKwT4AHg==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/address\": \"^5.8.0\",\n        \"@ethersproject/bignumber\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/constants\": \"^5.8.0\",\n        \"@ethersproject/keccak256\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\",\n        \"@ethersproject/rlp\": \"^5.8.0\",\n        \"@ethersproject/signing-key\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/units\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/units/-/units-5.8.0.tgz\",\n      \"integrity\": \"sha512-lxq0CAnc5kMGIiWW4Mr041VT8IhNM+Pn5T3haO74XZWFulk7wH1Gv64HqE96hT4a7iiNMdOCFEBgaxWuk8ETKQ==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bignumber\": \"^5.8.0\",\n        \"@ethersproject/constants\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/wallet\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.8.0.tgz\",\n      \"integrity\": \"sha512-G+jnzmgg6UxurVKRKvw27h0kvG75YKXZKdlLYmAHeF32TGUzHkOFd7Zn6QHOTYRFWnfjtSSFjBowKo7vfrXzPA==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/abstract-provider\": \"^5.8.0\",\n        \"@ethersproject/abstract-signer\": \"^5.8.0\",\n        \"@ethersproject/address\": \"^5.8.0\",\n        \"@ethersproject/bignumber\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/hash\": \"^5.8.0\",\n        \"@ethersproject/hdnode\": \"^5.8.0\",\n        \"@ethersproject/json-wallets\": \"^5.8.0\",\n        \"@ethersproject/keccak256\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\",\n        \"@ethersproject/random\": \"^5.8.0\",\n        \"@ethersproject/signing-key\": \"^5.8.0\",\n        \"@ethersproject/transactions\": \"^5.8.0\",\n        \"@ethersproject/wordlists\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/web\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/web/-/web-5.8.0.tgz\",\n      \"integrity\": \"sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/base64\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\",\n        \"@ethersproject/strings\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/wordlists\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.8.0.tgz\",\n      \"integrity\": \"sha512-2df9bbXicZws2Sb5S6ET493uJ0Z84Fjr3pC4tu/qlnZERibZCeUVuqdtt+7Tv9xxhUxHoIekIA7avrKUWHrezg==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/hash\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\",\n        \"@ethersproject/strings\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@fastify/busboy\": {\n      \"version\": \"2.1.1\",\n      \"resolved\": \"https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz\",\n      \"integrity\": \"sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==\",\n      \"license\": \"MIT\",\n      \"engines\": {\n        \"node\": \">=14\"\n      }\n    },\n    \"node_modules/@iden3/bigarray\": {\n      \"version\": \"0.0.2\",\n      \"resolved\": \"https://registry.npmjs.org/@iden3/bigarray/-/bigarray-0.0.2.tgz\",\n      \"integrity\": \"sha512-Xzdyxqm1bOFF6pdIsiHLLl3HkSLjbhqJHVyqaTxXt3RqXBEnmsUmEW47H7VOi/ak7TdkRpNkxjyK5Zbkm+y52g==\",\n      \"license\": \"GPL-3.0\",\n      \"peer\": true\n    },\n    \"node_modules/@iden3/binfileutils\": {\n      \"version\": \"0.0.12\",\n      \"resolved\": \"https://registry.npmjs.org/@iden3/binfileutils/-/binfileutils-0.0.12.tgz\",\n      \"integrity\": \"sha512-naAmzuDufRIcoNfQ1d99d7hGHufLA3wZSibtr4dMe6ZeiOPV1KwOZWTJ1YVz4HbaWlpDuzVU72dS4ATQS4PXBQ==\",\n      \"license\": \"GPL-3.0\",\n      \"peer\": true,\n      \"dependencies\": {\n        \"fastfile\": \"0.0.20\",\n        \"ffjavascript\": \"^0.3.0\"\n      }\n    },\n    \"node_modules/@iden3/js-crypto\": {\n      \"version\": \"1.3.2\",\n      \"resolved\": \"https://registry.npmjs.org/@iden3/js-crypto/-/js-crypto-1.3.2.tgz\",\n      \"integrity\": \"sha512-B1Fk8NLIhvEahFf02VKkmmXrw6Q+n+b3pbiFUYA9eesgoTZTSPtYtb+8A2jIKZrfdYKS5PlKJC8nNWmHUGk+6w==\",\n      \"license\": \"AGPL-3.0\",\n      \"dependencies\": {\n        \"@noble/hashes\": \"^2.0.1\"\n      }\n    },\n    \"node_modules/@iden3/js-iden3-auth\": {\n      \"version\": \"1.14.0\",\n      \"resolved\": \"https://registry.npmjs.org/@iden3/js-iden3-auth/-/js-iden3-auth-1.14.0.tgz\",\n      \"integrity\": \"sha512-72xd5HXQqUXIy5JfQ2Yf1tNUf0l7qj1hZPE4navuRMAgO+Pycy2x/T8vB7N8UwWCuoijV+AR+xy2PvfCAPL22Q==\",\n      \"license\": \"MIT or Apache-2.0\",\n      \"dependencies\": {\n        \"@0xpolygonid/js-sdk\": \"1.39.4\",\n        \"@iden3/js-crypto\": \"1.3.2\",\n        \"@iden3/js-iden3-core\": \"1.8.0\",\n        \"@iden3/js-jsonld-merklization\": \"1.7.2\",\n        \"@iden3/js-jwz\": \"1.12.2\",\n        \"@iden3/js-merkletree\": \"1.5.1\",\n        \"did-resolver\": \"^4.1.0\",\n        \"ethers\": \"^5.7.2\",\n        \"tslib\": \"^2.6.2\",\n        \"uuid\": \"^9.0.1\"\n      }\n    },\n    \"node_modules/@iden3/js-iden3-auth/node_modules/@0xpolygonid/js-sdk\": {\n      \"version\": \"1.39.4\",\n      \"resolved\": \"https://registry.npmjs.org/@0xpolygonid/js-sdk/-/js-sdk-1.39.4.tgz\",\n      \"integrity\": \"sha512-HO51/FMifdIIaRKUU0U7Y1KaEr5aio/J4oAXREFcxZEAqPpl0AZXTEVAJreEXShogeNGQDNixeg50ILzB4cvEA==\",\n      \"license\": \"MIT or Apache-2.0\",\n      \"dependencies\": {\n        \"@iden3/onchain-non-merklized-issuer-base-abi\": \"0.0.3\",\n        \"@iden3/universal-verifier-v2-abi\": \"2.0.2\",\n        \"@noble/curves\": \"1.9.2\",\n        \"@solana/web3.js\": \"1.98.4\",\n        \"ajv\": \"8.17.1\",\n        \"ajv-formats\": \"3.0.1\",\n        \"borsh\": \"0.7.0\",\n        \"canonicalize\": \"^2.1.0\",\n        \"did-jwt\": \"8.0.18\",\n        \"did-resolver\": \"4.1.0\",\n        \"ethers\": \"6.15.0\",\n        \"idb-keyval\": \"6.2.2\",\n        \"jose\": \"^6.1.0\",\n        \"jsonld\": \"8.3.3\",\n        \"pubsub-js\": \"1.9.5\",\n        \"quick-lru\": \"7.0.1\",\n        \"uuid\": \"13.0.0\"\n      },\n      \"engines\": {\n        \"node\": \">=20.11.0\"\n      },\n      \"peerDependencies\": {\n        \"@iden3/js-crypto\": \"1.3.2\",\n        \"@iden3/js-iden3-core\": \"1.8.0\",\n        \"@iden3/js-jsonld-merklization\": \"1.7.2\",\n        \"@iden3/js-jwz\": \"1.12.2\",\n        \"@iden3/js-merkletree\": \"1.5.1\",\n        \"ffjavascript\": \"0.3.1\",\n        \"rfc4648\": \"1.5.4\",\n        \"snarkjs\": \"0.7.5\"\n      }\n    },\n    \"node_modules/@iden3/js-iden3-auth/node_modules/@0xpolygonid/js-sdk/node_modules/@noble/hashes\": {\n      \"version\": \"1.3.2\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz\",\n      \"integrity\": \"sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==\",\n      \"license\": \"MIT\",\n      \"engines\": {\n        \"node\": \">= 16\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@iden3/js-iden3-auth/node_modules/@0xpolygonid/js-sdk/node_modules/ethers\": {\n      \"version\": \"6.15.0\",\n      \"resolved\": \"https://registry.npmjs.org/ethers/-/ethers-6.15.0.tgz\",\n      \"integrity\": \"sha512-Kf/3ZW54L4UT0pZtsY/rf+EkBU7Qi5nnhonjUb8yTXcxH3cdcWrV2cRyk0Xk/4jK6OoHhxxZHriyhje20If2hQ==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://github.com/sponsors/ethers-io/\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@adraffy/ens-normalize\": \"1.10.1\",\n        \"@noble/curves\": \"1.2.0\",\n        \"@noble/hashes\": \"1.3.2\",\n        \"@types/node\": \"22.7.5\",\n        \"aes-js\": \"4.0.0-beta.5\",\n        \"tslib\": \"2.7.0\",\n        \"ws\": \"8.17.1\"\n      },\n      \"engines\": {\n        \"node\": \">=14.0.0\"\n      }\n    },\n    \"node_modules/@iden3/js-iden3-auth/node_modules/@0xpolygonid/js-sdk/node_modules/ethers/node_modules/@noble/curves\": {\n      \"version\": \"1.2.0\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz\",\n      \"integrity\": \"sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==\",\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@noble/hashes\": \"1.3.2\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@iden3/js-iden3-auth/node_modules/@0xpolygonid/js-sdk/node_modules/uuid\": {\n      \"version\": \"13.0.0\",\n      \"resolved\": \"https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz\",\n      \"integrity\": \"sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==\",\n      \"funding\": [\n        \"https://github.com/sponsors/broofa\",\n        \"https://github.com/sponsors/ctavan\"\n      ],\n      \"license\": \"MIT\",\n      \"bin\": {\n        \"uuid\": \"dist-node/bin/uuid\"\n      }\n    },\n    \"node_modules/@iden3/js-iden3-auth/node_modules/@noble/curves\": {\n      \"version\": \"1.9.2\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/curves/-/curves-1.9.2.tgz\",\n      \"integrity\": \"sha512-HxngEd2XUcg9xi20JkwlLCtYwfoFw4JGkuZpT+WlsPD4gB/cxkvTD8fSsoAnphGZhFdZYKeQIPCuFlWPm1uE0g==\",\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@noble/hashes\": \"1.8.0\"\n      },\n      \"engines\": {\n        \"node\": \"^14.21.3 || >=16\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@iden3/js-iden3-auth/node_modules/@noble/hashes\": {\n      \"version\": \"1.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz\",\n      \"integrity\": \"sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==\",\n      \"license\": \"MIT\",\n      \"engines\": {\n        \"node\": \"^14.21.3 || >=16\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@iden3/js-iden3-auth/node_modules/ethers\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/ethers/-/ethers-5.8.0.tgz\",\n      \"integrity\": \"sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/abi\": \"5.8.0\",\n        \"@ethersproject/abstract-provider\": \"5.8.0\",\n        \"@ethersproject/abstract-signer\": \"5.8.0\",\n        \"@ethersproject/address\": \"5.8.0\",\n        \"@ethersproject/base64\": \"5.8.0\",\n        \"@ethersproject/basex\": \"5.8.0\",\n        \"@ethersproject/bignumber\": \"5.8.0\",\n        \"@ethersproject/bytes\": \"5.8.0\",\n        \"@ethersproject/constants\": \"5.8.0\",\n        \"@ethersproject/contracts\": \"5.8.0\",\n        \"@ethersproject/hash\": \"5.8.0\",\n        \"@ethersproject/hdnode\": \"5.8.0\",\n        \"@ethersproject/json-wallets\": \"5.8.0\",\n        \"@ethersproject/keccak256\": \"5.8.0\",\n        \"@ethersproject/logger\": \"5.8.0\",\n        \"@ethersproject/networks\": \"5.8.0\",\n        \"@ethersproject/pbkdf2\": \"5.8.0\",\n        \"@ethersproject/properties\": \"5.8.0\",\n        \"@ethersproject/providers\": \"5.8.0\",\n        \"@ethersproject/random\": \"5.8.0\",\n        \"@ethersproject/rlp\": \"5.8.0\",\n        \"@ethersproject/sha2\": \"5.8.0\",\n        \"@ethersproject/signing-key\": \"5.8.0\",\n        \"@ethersproject/solidity\": \"5.8.0\",\n        \"@ethersproject/strings\": \"5.8.0\",\n        \"@ethersproject/transactions\": \"5.8.0\",\n        \"@ethersproject/units\": \"5.8.0\",\n        \"@ethersproject/wallet\": \"5.8.0\",\n        \"@ethersproject/web\": \"5.8.0\",\n        \"@ethersproject/wordlists\": \"5.8.0\"\n      }\n    },\n    \"node_modules/@iden3/js-iden3-auth/node_modules/tslib\": {\n      \"version\": \"2.7.0\",\n      \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz\",\n      \"integrity\": \"sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==\",\n      \"license\": \"0BSD\"\n    },\n    \"node_modules/@iden3/js-iden3-auth/node_modules/uuid\": {\n      \"version\": \"9.0.1\",\n      \"resolved\": \"https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz\",\n      \"integrity\": \"sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==\",\n      \"funding\": [\n        \"https://github.com/sponsors/broofa\",\n        \"https://github.com/sponsors/ctavan\"\n      ],\n      \"license\": \"MIT\",\n      \"bin\": {\n        \"uuid\": \"dist/bin/uuid\"\n      }\n    },\n    \"node_modules/@iden3/js-iden3-core\": {\n      \"version\": \"1.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@iden3/js-iden3-core/-/js-iden3-core-1.8.0.tgz\",\n      \"integrity\": \"sha512-HoKRgVsCsq78r4EwFe98rdZKOgwEFXqV2SMwZ8bl2jIvUbabJQBTL1IYc7SGh0KvEpVisPq5NuwHJaSyvghqPQ==\",\n      \"license\": \"MIT or Apache-2.0\",\n      \"peerDependencies\": {\n        \"@iden3/js-crypto\": \"1.3.2\"\n      }\n    },\n    \"node_modules/@iden3/js-jsonld-merklization\": {\n      \"version\": \"1.7.2\",\n      \"resolved\": \"https://registry.npmjs.org/@iden3/js-jsonld-merklization/-/js-jsonld-merklization-1.7.2.tgz\",\n      \"integrity\": \"sha512-pXC2YO0yyD6YXgqZCivxmCxBFGs14sLS/AoQzjos8pNDrb3bYm3s+eMfz+4GwCKNpzzTFWSMHJNxzp/HUTEQZA==\",\n      \"license\": \"MIT or Apache-2.0\",\n      \"dependencies\": {\n        \"@js-temporal/polyfill\": \"0.5.1\",\n        \"jsonld\": \"8.3.3\",\n        \"n3\": \"1.26.0\"\n      },\n      \"peerDependencies\": {\n        \"@iden3/js-crypto\": \"1.3.2\",\n        \"@iden3/js-merkletree\": \"1.5.1\"\n      }\n    },\n    \"node_modules/@iden3/js-jwz\": {\n      \"version\": \"1.12.2\",\n      \"resolved\": \"https://registry.npmjs.org/@iden3/js-jwz/-/js-jwz-1.12.2.tgz\",\n      \"integrity\": \"sha512-IfAJz84u1zLPJqEWGLahGFiKYCyeNY+3JpPft/3pVtgm10tYZIBobV4F+g/o2FdruoEgpFtFNUQ1o/7zsmwFEQ==\",\n      \"license\": \"AGPL-3.0\",\n      \"peerDependencies\": {\n        \"@iden3/js-crypto\": \"1.3.2\",\n        \"@iden3/js-iden3-core\": \"1.8.0\",\n        \"@iden3/js-merkletree\": \"1.5.1\",\n        \"@noble/curves\": \"^1.9.2\",\n        \"ffjavascript\": \"0.3.1\",\n        \"rfc4648\": \"1.5.4\",\n        \"snarkjs\": \"0.7.5\"\n      }\n    },\n    \"node_modules/@iden3/js-merkletree\": {\n      \"version\": \"1.5.1\",\n      \"resolved\": \"https://registry.npmjs.org/@iden3/js-merkletree/-/js-merkletree-1.5.1.tgz\",\n      \"integrity\": \"sha512-EABFNqnxXDvS7uZL5wAgHP4VzAnOo3STxADj2Ian/BYKNfWZjOe+WjsVizCU/7jJuafJDEZOeCLbZeIhHRzwLg==\",\n      \"license\": \"MIT or Apache-2.0\",\n      \"peerDependencies\": {\n        \"@iden3/js-crypto\": \"1.3.2\",\n        \"idb-keyval\": \"6.2.2\"\n      }\n    },\n    \"node_modules/@iden3/onchain-non-merklized-issuer-base-abi\": {\n      \"version\": \"0.0.3\",\n      \"resolved\": \"https://registry.npmjs.org/@iden3/onchain-non-merklized-issuer-base-abi/-/onchain-non-merklized-issuer-base-abi-0.0.3.tgz\",\n      \"integrity\": \"sha512-4Mt5iP54KEzh0vbyhwKINx8bdZDyDJ6At92dPi3VKbKvk4dN24MlOQx5BfRakkZYJe7xlvMo/QaOjc/zRAlADg==\",\n      \"license\": \"MIT or Apache-2.0\"\n    },\n    \"node_modules/@iden3/universal-verifier-v2-abi\": {\n      \"version\": \"2.0.2\",\n      \"resolved\": \"https://registry.npmjs.org/@iden3/universal-verifier-v2-abi/-/universal-verifier-v2-abi-2.0.2.tgz\",\n      \"integrity\": \"sha512-GJY1h9aPb4RrfjSjs3mThZfu7Puki5eM5OVIZaxuZKlzvqhSwS4WFm1r61FBSR45FUeshZTXts4KwZaE0JT4ug==\",\n      \"license\": \"MIT or Apache-2.0\"\n    },\n    \"node_modules/@js-temporal/polyfill\": {\n      \"version\": \"0.5.1\",\n      \"resolved\": \"https://registry.npmjs.org/@js-temporal/polyfill/-/polyfill-0.5.1.tgz\",\n      \"integrity\": \"sha512-hloP58zRVCRSpgDxmqCWJNlizAlUgJFqG2ypq79DCvyv9tHjRYMDOcPFjzfl/A1/YxDvRCZz8wvZvmapQnKwFQ==\",\n      \"license\": \"ISC\",\n      \"dependencies\": {\n        \"jsbi\": \"^4.3.0\"\n      },\n      \"engines\": {\n        \"node\": \">=12\"\n      }\n    },\n    \"node_modules/@multiformats/base-x\": {\n      \"version\": \"4.0.1\",\n      \"resolved\": \"https://registry.npmjs.org/@multiformats/base-x/-/base-x-4.0.1.tgz\",\n      \"integrity\": \"sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw==\",\n      \"license\": \"MIT\"\n    },\n    \"node_modules/@noble/ciphers\": {\n      \"version\": \"1.3.0\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.3.0.tgz\",\n      \"integrity\": \"sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==\",\n      \"license\": \"MIT\",\n      \"engines\": {\n        \"node\": \"^14.21.3 || >=16\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@noble/curves\": {\n      \"version\": \"1.9.7\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/curves/-/curves-1.9.7.tgz\",\n      \"integrity\": \"sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==\",\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@noble/hashes\": \"1.8.0\"\n      },\n      \"engines\": {\n        \"node\": \"^14.21.3 || >=16\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@noble/curves/node_modules/@noble/hashes\": {\n      \"version\": \"1.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz\",\n      \"integrity\": \"sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==\",\n      \"license\": \"MIT\",\n      \"engines\": {\n        \"node\": \"^14.21.3 || >=16\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@noble/hashes\": {\n      \"version\": \"2.0.1\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/hashes/-/hashes-2.0.1.tgz\",\n      \"integrity\": \"sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==\",\n      \"license\": \"MIT\",\n      \"engines\": {\n        \"node\": \">= 20.19.0\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@scure/base\": {\n      \"version\": \"2.0.0\",\n      \"resolved\": \"https://registry.npmjs.org/@scure/base/-/base-2.0.0.tgz\",\n      \"integrity\": \"sha512-3E1kpuZginKkek01ovG8krQ0Z44E3DHPjc5S2rjJw9lZn3KSQOs8S7wqikF/AH7iRanHypj85uGyxk0XAyC37w==\",\n      \"license\": \"MIT\",\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@solana/buffer-layout\": {\n      \"version\": \"4.0.1\",\n      \"resolved\": \"https://registry.npmjs.org/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz\",\n      \"integrity\": \"sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==\",\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"buffer\": \"~6.0.3\"\n      },\n      \"engines\": {\n        \"node\": \">=5.10\"\n      }\n    },\n    \"node_modules/@solana/codecs-core\": {\n      \"version\": \"2.3.0\",\n      \"resolved\": \"https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-2.3.0.tgz\",\n      \"integrity\": \"sha512-oG+VZzN6YhBHIoSKgS5ESM9VIGzhWjEHEGNPSibiDTxFhsFWxNaz8LbMDPjBUE69r9wmdGLkrQ+wVPbnJcZPvw==\",\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@solana/errors\": \"2.3.0\"\n      },\n      \"engines\": {\n        \"node\": \">=20.18.0\"\n      },\n      \"peerDependencies\": {\n        \"typescript\": \">=5.3.3\"\n      }\n    },\n    \"node_modules/@solana/codecs-numbers\": {\n      \"version\": \"2.3.0\",\n      \"resolved\": \"https://registry.npmjs.org/@solana/codecs-numbers/-/codecs-numbers-2.3.0.tgz\",\n      \"integrity\": \"sha512-jFvvwKJKffvG7Iz9dmN51OGB7JBcy2CJ6Xf3NqD/VP90xak66m/Lg48T01u5IQ/hc15mChVHiBm+HHuOFDUrQg==\",\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@solana/codecs-core\": \"2.3.0\",\n        \"@solana/errors\": \"2.3.0\"\n      },\n      \"engines\": {\n        \"node\": \">=20.18.0\"\n      },\n      \"peerDependencies\": {\n        \"typescript\": \">=5.3.3\"\n      }\n    },\n    \"node_modules/@solana/errors\": {\n      \"version\": \"2.3.0\",\n      \"resolved\": \"https://registry.npmjs.org/@solana/errors/-/\n\nFile v1.0.0:scripts/package.json\n\n{\n  \"name\": \"verified-agent-identity\",\n  \"version\": \"0.0.2\",\n  \"description\": \"Billions OpenClaw verification skill\",\n  \"scripts\": {\n    \"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n  },\n  \"keywords\": [\n    \"identity\",\n    \"openclaw\",\n    \"zk\"\n  ],\n  \"author\": \"BillionsNetwork\",\n  \"license\": \"UNLICENSED\",\n  \"dependencies\": {\n    \"@0xpolygonid/js-sdk\": \"1.42.1\",\n    \"@iden3/js-iden3-auth\": \"1.14.0\",\n    \"@iden3/js-iden3-core\": \"1.8.0\",\n    \"@noble/curves\": \"^1.9.2\",\n    \"ethers\": \"^6.13.4\",\n    \"uuid\": \"^11.0.3\"\n  }\n}\n\nFile v1.0.0:skills/verified-agent-identity/scripts/package-lock.json\n\n{\n  \"name\": \"verified-agent-identity\",\n  \"version\": \"0.0.2\",\n  \"lockfileVersion\": 3,\n  \"requires\": true,\n  \"packages\": {\n    \"\": {\n      \"name\": \"verified-agent-identity\",\n      \"version\": \"0.0.2\",\n      \"license\": \"UNLICENSED\",\n      \"dependencies\": {\n        \"@0xpolygonid/js-sdk\": \"1.42.1\",\n        \"@iden3/js-iden3-auth\": \"1.14.0\",\n        \"@iden3/js-iden3-core\": \"1.8.0\",\n        \"@noble/curves\": \"^1.9.2\",\n        \"ethers\": \"^6.13.4\",\n        \"uuid\": \"^11.0.3\"\n      }\n    },\n    \"node_modules/@0xpolygonid/js-sdk\": {\n      \"version\": \"1.42.1\",\n      \"resolved\": \"https://registry.npmjs.org/@0xpolygonid/js-sdk/-/js-sdk-1.42.1.tgz\",\n      \"integrity\": \"sha512-2X0zFGfygtu4D7X2DSiI3GxQ7vp3+iNQ05WeTi4u9aPj+9/sxYsVDJnRsHDZzmCCVO9kzmb2DQ1uxs5JtTrhPA==\",\n      \"license\": \"MIT or Apache-2.0\",\n      \"dependencies\": {\n        \"@iden3/onchain-non-merklized-issuer-base-abi\": \"0.0.3\",\n        \"@iden3/universal-verifier-v2-abi\": \"2.0.2\",\n        \"@noble/curves\": \"1.9.2\",\n        \"@solana/web3.js\": \"1.98.4\",\n        \"ajv\": \"8.17.1\",\n        \"ajv-formats\": \"3.0.1\",\n        \"borsh\": \"0.7.0\",\n        \"canonicalize\": \"^2.1.0\",\n        \"did-jwt\": \"8.0.18\",\n        \"did-resolver\": \"4.1.0\",\n        \"ethers\": \"6.15.0\",\n        \"idb-keyval\": \"6.2.2\",\n        \"jose\": \"^6.1.0\",\n        \"jsonld\": \"8.3.3\",\n        \"pubsub-js\": \"1.9.5\",\n        \"quick-lru\": \"7.0.1\",\n        \"uuid\": \"13.0.0\"\n      },\n      \"engines\": {\n        \"node\": \">=20.11.0\"\n      },\n      \"peerDependencies\": {\n        \"@iden3/js-crypto\": \"1.3.2\",\n        \"@iden3/js-iden3-core\": \"1.8.0\",\n        \"@iden3/js-jsonld-merklization\": \"1.7.2\",\n        \"@iden3/js-jwz\": \"1.12.2\",\n        \"@iden3/js-merkletree\": \"1.5.1\",\n        \"ffjavascript\": \"0.3.1\",\n        \"rfc4648\": \"1.5.4\",\n        \"snarkjs\": \"0.7.5\"\n      }\n    },\n    \"node_modules/@0xpolygonid/js-sdk/node_modules/@noble/curves\": {\n      \"version\": \"1.9.2\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/curves/-/curves-1.9.2.tgz\",\n      \"integrity\": \"sha512-HxngEd2XUcg9xi20JkwlLCtYwfoFw4JGkuZpT+WlsPD4gB/cxkvTD8fSsoAnphGZhFdZYKeQIPCuFlWPm1uE0g==\",\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@noble/hashes\": \"1.8.0\"\n      },\n      \"engines\": {\n        \"node\": \"^14.21.3 || >=16\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@0xpolygonid/js-sdk/node_modules/@noble/hashes\": {\n      \"version\": \"1.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz\",\n      \"integrity\": \"sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==\",\n      \"license\": \"MIT\",\n      \"engines\": {\n        \"node\": \"^14.21.3 || >=16\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@0xpolygonid/js-sdk/node_modules/ethers\": {\n      \"version\": \"6.15.0\",\n      \"resolved\": \"https://registry.npmjs.org/ethers/-/ethers-6.15.0.tgz\",\n      \"integrity\": \"sha512-Kf/3ZW54L4UT0pZtsY/rf+EkBU7Qi5nnhonjUb8yTXcxH3cdcWrV2cRyk0Xk/4jK6OoHhxxZHriyhje20If2hQ==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://github.com/sponsors/ethers-io/\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@adraffy/ens-normalize\": \"1.10.1\",\n        \"@noble/curves\": \"1.2.0\",\n        \"@noble/hashes\": \"1.3.2\",\n        \"@types/node\": \"22.7.5\",\n        \"aes-js\": \"4.0.0-beta.5\",\n        \"tslib\": \"2.7.0\",\n        \"ws\": \"8.17.1\"\n      },\n      \"engines\": {\n        \"node\": \">=14.0.0\"\n      }\n    },\n    \"node_modules/@0xpolygonid/js-sdk/node_modules/ethers/node_modules/@noble/curves\": {\n      \"version\": \"1.2.0\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz\",\n      \"integrity\": \"sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==\",\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@noble/hashes\": \"1.3.2\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@0xpolygonid/js-sdk/node_modules/ethers/node_modules/@noble/hashes\": {\n      \"version\": \"1.3.2\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz\",\n      \"integrity\": \"sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==\",\n      \"license\": \"MIT\",\n      \"engines\": {\n        \"node\": \">= 16\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@0xpolygonid/js-sdk/node_modules/tslib\": {\n      \"version\": \"2.7.0\",\n      \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz\",\n      \"integrity\": \"sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==\",\n      \"license\": \"0BSD\"\n    },\n    \"node_modules/@0xpolygonid/js-sdk/node_modules/uuid\": {\n      \"version\": \"13.0.0\",\n      \"resolved\": \"https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz\",\n      \"integrity\": \"sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==\",\n      \"funding\": [\n        \"https://github.com/sponsors/broofa\",\n        \"https://github.com/sponsors/ctavan\"\n      ],\n      \"license\": \"MIT\",\n      \"bin\": {\n        \"uuid\": \"dist-node/bin/uuid\"\n      }\n    },\n    \"node_modules/@adraffy/ens-normalize\": {\n      \"version\": \"1.10.1\",\n      \"resolved\": \"https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz\",\n      \"integrity\": \"sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==\",\n      \"license\": \"MIT\"\n    },\n    \"node_modules/@babel/runtime\": {\n      \"version\": \"7.28.6\",\n      \"resolved\": \"https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz\",\n      \"integrity\": \"sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==\",\n      \"license\": \"MIT\",\n      \"engines\": {\n        \"node\": \">=6.9.0\"\n      }\n    },\n    \"node_modules/@digitalbazaar/http-client\": {\n      \"version\": \"3.4.1\",\n      \"resolved\": \"https://registry.npmjs.org/@digitalbazaar/http-client/-/http-client-3.4.1.tgz\",\n      \"integrity\": \"sha512-Ahk1N+s7urkgj7WvvUND5f8GiWEPfUw0D41hdElaqLgu8wZScI8gdI0q+qWw5N1d35x7GCRH2uk9mi+Uzo9M3g==\",\n      \"license\": \"BSD-3-Clause\",\n      \"dependencies\": {\n        \"ky\": \"^0.33.3\",\n        \"ky-universal\": \"^0.11.0\",\n        \"undici\": \"^5.21.2\"\n      },\n      \"engines\": {\n        \"node\": \">=14.0\"\n      }\n    },\n    \"node_modules/@ethersproject/abi\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/abi/-/abi-5.8.0.tgz\",\n      \"integrity\": \"sha512-b9YS/43ObplgyV6SlyQsG53/vkSal0MNA1fskSC4mbnCMi8R+NkcH8K9FPYNESf6jUefBUniE4SOKms0E/KK1Q==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/address\": \"^5.8.0\",\n        \"@ethersproject/bignumber\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/constants\": \"^5.8.0\",\n        \"@ethersproject/hash\": \"^5.8.0\",\n        \"@ethersproject/keccak256\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\",\n        \"@ethersproject/strings\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/abstract-provider\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.8.0.tgz\",\n      \"integrity\": \"sha512-wC9SFcmh4UK0oKuLJQItoQdzS/qZ51EJegK6EmAWlh+OptpQ/npECOR3QqECd8iGHC0RJb4WKbVdSfif4ammrg==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bignumber\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/networks\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\",\n        \"@ethersproject/transactions\": \"^5.8.0\",\n        \"@ethersproject/web\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/abstract-signer\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.8.0.tgz\",\n      \"integrity\": \"sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/abstract-provider\": \"^5.8.0\",\n        \"@ethersproject/bignumber\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/address\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/address/-/address-5.8.0.tgz\",\n      \"integrity\": \"sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bignumber\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/keccak256\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/rlp\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/base64\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/base64/-/base64-5.8.0.tgz\",\n      \"integrity\": \"sha512-lN0oIwfkYj9LbPx4xEkie6rAMJtySbpOAFXSDVQaBnAzYfB4X2Qr+FXJGxMoc3Bxp2Sm8OwvzMrywxyw0gLjIQ==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bytes\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/basex\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/basex/-/basex-5.8.0.tgz\",\n      \"integrity\": \"sha512-PIgTszMlDRmNwW9nhS6iqtVfdTAKosA7llYXNmGPw4YAI1PUyMv28988wAb41/gHF/WqGdoLv0erHaRcHRKW2Q==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/bignumber\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.8.0.tgz\",\n      \"integrity\": \"sha512-ZyaT24bHaSeJon2tGPKIiHszWjD/54Sz8t57Toch475lCLljC6MgPmxk7Gtzz+ddNN5LuHea9qhAe0x3D+uYPA==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"bn.js\": \"^5.2.1\"\n      }\n    },\n    \"node_modules/@ethersproject/bytes\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.8.0.tgz\",\n      \"integrity\": \"sha512-vTkeohgJVCPVHu5c25XWaWQOZ4v+DkGoC42/TS2ond+PARCxTJvgTFUNDZovyQ/uAQ4EcpqqowKydcdmRKjg7A==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/logger\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/constants\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/constants/-/constants-5.8.0.tgz\",\n      \"integrity\": \"sha512-wigX4lrf5Vu+axVTIvNsuL6YrV4O5AXl5ubcURKMEME5TnWBouUh0CDTWxZ2GpnRn1kcCgE7l8O5+VbV9QTTcg==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bignumber\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/contracts\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.8.0.tgz\",\n      \"integrity\": \"sha512-0eFjGz9GtuAi6MZwhb4uvUM216F38xiuR0yYCjKJpNfSEy4HUM8hvqqBj9Jmm0IUz8l0xKEhWwLIhPgxNY0yvQ==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/abi\": \"^5.8.0\",\n        \"@ethersproject/abstract-provider\": \"^5.8.0\",\n        \"@ethersproject/abstract-signer\": \"^5.8.0\",\n        \"@ethersproject/address\": \"^5.8.0\",\n        \"@ethersproject/bignumber\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/constants\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\",\n        \"@ethersproject/transactions\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/hash\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/hash/-/hash-5.8.0.tgz\",\n      \"integrity\": \"sha512-ac/lBcTbEWW/VGJij0CNSw/wPcw9bSRgCB0AIBz8CvED/jfvDoV9hsIIiWfvWmFEi8RcXtlNwp2jv6ozWOsooA==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/abstract-signer\": \"^5.8.0\",\n        \"@ethersproject/address\": \"^5.8.0\",\n        \"@ethersproject/base64\": \"^5.8.0\",\n        \"@ethersproject/bignumber\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/keccak256\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\",\n        \"@ethersproject/strings\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/hdnode\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.8.0.tgz\",\n      \"integrity\": \"sha512-4bK1VF6E83/3/Im0ERnnUeWOY3P1BZml4ZD3wcH8Ys0/d1h1xaFt6Zc+Dh9zXf9TapGro0T4wvO71UTCp3/uoA==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/abstract-signer\": \"^5.8.0\",\n        \"@ethersproject/basex\": \"^5.8.0\",\n        \"@ethersproject/bignumber\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/pbkdf2\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\",\n        \"@ethersproject/sha2\": \"^5.8.0\",\n        \"@ethersproject/signing-key\": \"^5.8.0\",\n        \"@ethersproject/strings\": \"^5.8.0\",\n        \"@ethersproject/transactions\": \"^5.8.0\",\n        \"@ethersproject/wordlists\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/json-wallets\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.8.0.tgz\",\n      \"integrity\": \"sha512-HxblNck8FVUtNxS3VTEYJAcwiKYsBIF77W15HufqlBF9gGfhmYOJtYZp8fSDZtn9y5EaXTE87zDwzxRoTFk11w==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/abstract-signer\": \"^5.8.0\",\n        \"@ethersproject/address\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/hdnode\": \"^5.8.0\",\n        \"@ethersproject/keccak256\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/pbkdf2\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\",\n        \"@ethersproject/random\": \"^5.8.0\",\n        \"@ethersproject/strings\": \"^5.8.0\",\n        \"@ethersproject/transactions\": \"^5.8.0\",\n        \"aes-js\": \"3.0.0\",\n        \"scrypt-js\": \"3.0.1\"\n      }\n    },\n    \"node_modules/@ethersproject/json-wallets/node_modules/aes-js\": {\n      \"version\": \"3.0.0\",\n      \"resolved\": \"https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz\",\n      \"integrity\": \"sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==\",\n      \"license\": \"MIT\"\n    },\n    \"node_modules/@ethersproject/keccak256\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.8.0.tgz\",\n      \"integrity\": \"sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"js-sha3\": \"0.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/logger\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/logger/-/logger-5.8.0.tgz\",\n      \"integrity\": \"sha512-Qe6knGmY+zPPWTC+wQrpitodgBfH7XoceCGL5bJVejmH+yCS3R8jJm8iiWuvWbG76RUmyEG53oqv6GMVWqunjA==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\"\n    },\n    \"node_modules/@ethersproject/networks\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/networks/-/networks-5.8.0.tgz\",\n      \"integrity\": \"sha512-egPJh3aPVAzbHwq8DD7Po53J4OUSsA1MjQp8Vf/OZPav5rlmWUaFLiq8cvQiGK0Z5K6LYzm29+VA/p4RL1FzNg==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/logger\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/pbkdf2\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.8.0.tgz\",\n      \"integrity\": \"sha512-wuHiv97BrzCmfEaPbUFpMjlVg/IDkZThp9Ri88BpjRleg4iePJaj2SW8AIyE8cXn5V1tuAaMj6lzvsGJkGWskg==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/sha2\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/properties\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/properties/-/properties-5.8.0.tgz\",\n      \"integrity\": \"sha512-PYuiEoQ+FMaZZNGrStmN7+lWjlsoufGIHdww7454FIaGdbe/p5rnaCXTr5MtBYl3NkeoVhHZuyzChPeGeKIpQw==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/logger\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/providers\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/providers/-/providers-5.8.0.tgz\",\n      \"integrity\": \"sha512-3Il3oTzEx3o6kzcg9ZzbE+oCZYyY+3Zh83sKkn4s1DZfTUjIegHnN2Cm0kbn9YFy45FDVcuCLLONhU7ny0SsCw==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/abstract-provider\": \"^5.8.0\",\n        \"@ethersproject/abstract-signer\": \"^5.8.0\",\n        \"@ethersproject/address\": \"^5.8.0\",\n        \"@ethersproject/base64\": \"^5.8.0\",\n        \"@ethersproject/basex\": \"^5.8.0\",\n        \"@ethersproject/bignumber\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/constants\": \"^5.8.0\",\n        \"@ethersproject/hash\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/networks\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\",\n        \"@ethersproject/random\": \"^5.8.0\",\n        \"@ethersproject/rlp\": \"^5.8.0\",\n        \"@ethersproject/sha2\": \"^5.8.0\",\n        \"@ethersproject/strings\": \"^5.8.0\",\n        \"@ethersproject/transactions\": \"^5.8.0\",\n        \"@ethersproject/web\": \"^5.8.0\",\n        \"bech32\": \"1.1.4\",\n        \"ws\": \"8.18.0\"\n      }\n    },\n    \"node_modules/@ethersproject/providers/node_modules/ws\": {\n      \"version\": \"8.18.0\",\n      \"resolved\": \"https://registry.npmjs.org/ws/-/ws-8.18.0.tgz\",\n      \"integrity\": \"sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==\",\n      \"license\": \"MIT\",\n      \"engines\": {\n        \"node\": \">=10.0.0\"\n      },\n      \"peerDependencies\": {\n        \"bufferutil\": \"^4.0.1\",\n        \"utf-8-validate\": \">=5.0.2\"\n      },\n      \"peerDependenciesMeta\": {\n        \"bufferutil\": {\n          \"optional\": true\n        },\n        \"utf-8-validate\": {\n          \"optional\": true\n        }\n      }\n    },\n    \"node_modules/@ethersproject/random\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/random/-/random-5.8.0.tgz\",\n      \"integrity\": \"sha512-E4I5TDl7SVqyg4/kkA/qTfuLWAQGXmSOgYyO01So8hLfwgKvYK5snIlzxJMk72IFdG/7oh8yuSqY2KX7MMwg+A==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/rlp\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.8.0.tgz\",\n      \"integrity\": \"sha512-LqZgAznqDbiEunaUvykH2JAoXTT9NV0Atqk8rQN9nx9SEgThA/WMx5DnW8a9FOufo//6FZOCHZ+XiClzgbqV9Q==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/sha2\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.8.0.tgz\",\n      \"integrity\": \"sha512-dDOUrXr9wF/YFltgTBYS0tKslPEKr6AekjqDW2dbn1L1xmjGR+9GiKu4ajxovnrDbwxAKdHjW8jNcwfz8PAz4A==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"hash.js\": \"1.1.7\"\n      }\n    },\n    \"node_modules/@ethersproject/signing-key\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.8.0.tgz\",\n      \"integrity\": \"sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\",\n        \"bn.js\": \"^5.2.1\",\n        \"elliptic\": \"6.6.1\",\n        \"hash.js\": \"1.1.7\"\n      }\n    },\n    \"node_modules/@ethersproject/solidity\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.8.0.tgz\",\n      \"integrity\": \"sha512-4CxFeCgmIWamOHwYN9d+QWGxye9qQLilpgTU0XhYs1OahkclF+ewO+3V1U0mvpiuQxm5EHHmv8f7ClVII8EHsA==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bignumber\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/keccak256\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/sha2\": \"^5.8.0\",\n        \"@ethersproject/strings\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/strings\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/strings/-/strings-5.8.0.tgz\",\n      \"integrity\": \"sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/constants\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/transactions\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.8.0.tgz\",\n      \"integrity\": \"sha512-UglxSDjByHG0TuU17bDfCemZ3AnKO2vYrL5/2n2oXvKzvb7Cz+W9gOWXKARjp2URVwcWlQlPOEQyAviKwT4AHg==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/address\": \"^5.8.0\",\n        \"@ethersproject/bignumber\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/constants\": \"^5.8.0\",\n        \"@ethersproject/keccak256\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\",\n        \"@ethersproject/rlp\": \"^5.8.0\",\n        \"@ethersproject/signing-key\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/units\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/units/-/units-5.8.0.tgz\",\n      \"integrity\": \"sha512-lxq0CAnc5kMGIiWW4Mr041VT8IhNM+Pn5T3haO74XZWFulk7wH1Gv64HqE96hT4a7iiNMdOCFEBgaxWuk8ETKQ==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bignumber\": \"^5.8.0\",\n        \"@ethersproject/constants\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/wallet\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.8.0.tgz\",\n      \"integrity\": \"sha512-G+jnzmgg6UxurVKRKvw27h0kvG75YKXZKdlLYmAHeF32TGUzHkOFd7Zn6QHOTYRFWnfjtSSFjBowKo7vfrXzPA==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/abstract-provider\": \"^5.8.0\",\n        \"@ethersproject/abstract-signer\": \"^5.8.0\",\n        \"@ethersproject/address\": \"^5.8.0\",\n        \"@ethersproject/bignumber\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/hash\": \"^5.8.0\",\n        \"@ethersproject/hdnode\": \"^5.8.0\",\n        \"@ethersproject/json-wallets\": \"^5.8.0\",\n        \"@ethersproject/keccak256\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\",\n        \"@ethersproject/random\": \"^5.8.0\",\n        \"@ethersproject/signing-key\": \"^5.8.0\",\n        \"@ethersproject/transactions\": \"^5.8.0\",\n        \"@ethersproject/wordlists\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/web\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/web/-/web-5.8.0.tgz\",\n      \"integrity\": \"sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/base64\": \"^5.8.0\",\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\",\n        \"@ethersproject/strings\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@ethersproject/wordlists\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.8.0.tgz\",\n      \"integrity\": \"sha512-2df9bbXicZws2Sb5S6ET493uJ0Z84Fjr3pC4tu/qlnZERibZCeUVuqdtt+7Tv9xxhUxHoIekIA7avrKUWHrezg==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/bytes\": \"^5.8.0\",\n        \"@ethersproject/hash\": \"^5.8.0\",\n        \"@ethersproject/logger\": \"^5.8.0\",\n        \"@ethersproject/properties\": \"^5.8.0\",\n        \"@ethersproject/strings\": \"^5.8.0\"\n      }\n    },\n    \"node_modules/@fastify/busboy\": {\n      \"version\": \"2.1.1\",\n      \"resolved\": \"https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz\",\n      \"integrity\": \"sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==\",\n      \"license\": \"MIT\",\n      \"engines\": {\n        \"node\": \">=14\"\n      }\n    },\n    \"node_modules/@iden3/bigarray\": {\n      \"version\": \"0.0.2\",\n      \"resolved\": \"https://registry.npmjs.org/@iden3/bigarray/-/bigarray-0.0.2.tgz\",\n      \"integrity\": \"sha512-Xzdyxqm1bOFF6pdIsiHLLl3HkSLjbhqJHVyqaTxXt3RqXBEnmsUmEW47H7VOi/ak7TdkRpNkxjyK5Zbkm+y52g==\",\n      \"license\": \"GPL-3.0\",\n      \"peer\": true\n    },\n    \"node_modules/@iden3/binfileutils\": {\n      \"version\": \"0.0.12\",\n      \"resolved\": \"https://registry.npmjs.org/@iden3/binfileutils/-/binfileutils-0.0.12.tgz\",\n      \"integrity\": \"sha512-naAmzuDufRIcoNfQ1d99d7hGHufLA3wZSibtr4dMe6ZeiOPV1KwOZWTJ1YVz4HbaWlpDuzVU72dS4ATQS4PXBQ==\",\n      \"license\": \"GPL-3.0\",\n      \"peer\": true,\n      \"dependencies\": {\n        \"fastfile\": \"0.0.20\",\n        \"ffjavascript\": \"^0.3.0\"\n      }\n    },\n    \"node_modules/@iden3/js-crypto\": {\n      \"version\": \"1.3.2\",\n      \"resolved\": \"https://registry.npmjs.org/@iden3/js-crypto/-/js-crypto-1.3.2.tgz\",\n      \"integrity\": \"sha512-B1Fk8NLIhvEahFf02VKkmmXrw6Q+n+b3pbiFUYA9eesgoTZTSPtYtb+8A2jIKZrfdYKS5PlKJC8nNWmHUGk+6w==\",\n      \"license\": \"AGPL-3.0\",\n      \"dependencies\": {\n        \"@noble/hashes\": \"^2.0.1\"\n      }\n    },\n    \"node_modules/@iden3/js-iden3-auth\": {\n      \"version\": \"1.14.0\",\n      \"resolved\": \"https://registry.npmjs.org/@iden3/js-iden3-auth/-/js-iden3-auth-1.14.0.tgz\",\n      \"integrity\": \"sha512-72xd5HXQqUXIy5JfQ2Yf1tNUf0l7qj1hZPE4navuRMAgO+Pycy2x/T8vB7N8UwWCuoijV+AR+xy2PvfCAPL22Q==\",\n      \"license\": \"MIT or Apache-2.0\",\n      \"dependencies\": {\n        \"@0xpolygonid/js-sdk\": \"1.39.4\",\n        \"@iden3/js-crypto\": \"1.3.2\",\n        \"@iden3/js-iden3-core\": \"1.8.0\",\n        \"@iden3/js-jsonld-merklization\": \"1.7.2\",\n        \"@iden3/js-jwz\": \"1.12.2\",\n        \"@iden3/js-merkletree\": \"1.5.1\",\n        \"did-resolver\": \"^4.1.0\",\n        \"ethers\": \"^5.7.2\",\n        \"tslib\": \"^2.6.2\",\n        \"uuid\": \"^9.0.1\"\n      }\n    },\n    \"node_modules/@iden3/js-iden3-auth/node_modules/@0xpolygonid/js-sdk\": {\n      \"version\": \"1.39.4\",\n      \"resolved\": \"https://registry.npmjs.org/@0xpolygonid/js-sdk/-/js-sdk-1.39.4.tgz\",\n      \"integrity\": \"sha512-HO51/FMifdIIaRKUU0U7Y1KaEr5aio/J4oAXREFcxZEAqPpl0AZXTEVAJreEXShogeNGQDNixeg50ILzB4cvEA==\",\n      \"license\": \"MIT or Apache-2.0\",\n      \"dependencies\": {\n        \"@iden3/onchain-non-merklized-issuer-base-abi\": \"0.0.3\",\n        \"@iden3/universal-verifier-v2-abi\": \"2.0.2\",\n        \"@noble/curves\": \"1.9.2\",\n        \"@solana/web3.js\": \"1.98.4\",\n        \"ajv\": \"8.17.1\",\n        \"ajv-formats\": \"3.0.1\",\n        \"borsh\": \"0.7.0\",\n        \"canonicalize\": \"^2.1.0\",\n        \"did-jwt\": \"8.0.18\",\n        \"did-resolver\": \"4.1.0\",\n        \"ethers\": \"6.15.0\",\n        \"idb-keyval\": \"6.2.2\",\n        \"jose\": \"^6.1.0\",\n        \"jsonld\": \"8.3.3\",\n        \"pubsub-js\": \"1.9.5\",\n        \"quick-lru\": \"7.0.1\",\n        \"uuid\": \"13.0.0\"\n      },\n      \"engines\": {\n        \"node\": \">=20.11.0\"\n      },\n      \"peerDependencies\": {\n        \"@iden3/js-crypto\": \"1.3.2\",\n        \"@iden3/js-iden3-core\": \"1.8.0\",\n        \"@iden3/js-jsonld-merklization\": \"1.7.2\",\n        \"@iden3/js-jwz\": \"1.12.2\",\n        \"@iden3/js-merkletree\": \"1.5.1\",\n        \"ffjavascript\": \"0.3.1\",\n        \"rfc4648\": \"1.5.4\",\n        \"snarkjs\": \"0.7.5\"\n      }\n    },\n    \"node_modules/@iden3/js-iden3-auth/node_modules/@0xpolygonid/js-sdk/node_modules/@noble/hashes\": {\n      \"version\": \"1.3.2\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz\",\n      \"integrity\": \"sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==\",\n      \"license\": \"MIT\",\n      \"engines\": {\n        \"node\": \">= 16\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@iden3/js-iden3-auth/node_modules/@0xpolygonid/js-sdk/node_modules/ethers\": {\n      \"version\": \"6.15.0\",\n      \"resolved\": \"https://registry.npmjs.org/ethers/-/ethers-6.15.0.tgz\",\n      \"integrity\": \"sha512-Kf/3ZW54L4UT0pZtsY/rf+EkBU7Qi5nnhonjUb8yTXcxH3cdcWrV2cRyk0Xk/4jK6OoHhxxZHriyhje20If2hQ==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://github.com/sponsors/ethers-io/\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@adraffy/ens-normalize\": \"1.10.1\",\n        \"@noble/curves\": \"1.2.0\",\n        \"@noble/hashes\": \"1.3.2\",\n        \"@types/node\": \"22.7.5\",\n        \"aes-js\": \"4.0.0-beta.5\",\n        \"tslib\": \"2.7.0\",\n        \"ws\": \"8.17.1\"\n      },\n      \"engines\": {\n        \"node\": \">=14.0.0\"\n      }\n    },\n    \"node_modules/@iden3/js-iden3-auth/node_modules/@0xpolygonid/js-sdk/node_modules/ethers/node_modules/@noble/curves\": {\n      \"version\": \"1.2.0\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz\",\n      \"integrity\": \"sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==\",\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@noble/hashes\": \"1.3.2\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@iden3/js-iden3-auth/node_modules/@0xpolygonid/js-sdk/node_modules/uuid\": {\n      \"version\": \"13.0.0\",\n      \"resolved\": \"https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz\",\n      \"integrity\": \"sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==\",\n      \"funding\": [\n        \"https://github.com/sponsors/broofa\",\n        \"https://github.com/sponsors/ctavan\"\n      ],\n      \"license\": \"MIT\",\n      \"bin\": {\n        \"uuid\": \"dist-node/bin/uuid\"\n      }\n    },\n    \"node_modules/@iden3/js-iden3-auth/node_modules/@noble/curves\": {\n      \"version\": \"1.9.2\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/curves/-/curves-1.9.2.tgz\",\n      \"integrity\": \"sha512-HxngEd2XUcg9xi20JkwlLCtYwfoFw4JGkuZpT+WlsPD4gB/cxkvTD8fSsoAnphGZhFdZYKeQIPCuFlWPm1uE0g==\",\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@noble/hashes\": \"1.8.0\"\n      },\n      \"engines\": {\n        \"node\": \"^14.21.3 || >=16\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@iden3/js-iden3-auth/node_modules/@noble/hashes\": {\n      \"version\": \"1.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz\",\n      \"integrity\": \"sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==\",\n      \"license\": \"MIT\",\n      \"engines\": {\n        \"node\": \"^14.21.3 || >=16\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@iden3/js-iden3-auth/node_modules/ethers\": {\n      \"version\": \"5.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/ethers/-/ethers-5.8.0.tgz\",\n      \"integrity\": \"sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg==\",\n      \"funding\": [\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2\"\n        },\n        {\n          \"type\": \"individual\",\n          \"url\": \"https://www.buymeacoffee.com/ricmoo\"\n        }\n      ],\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@ethersproject/abi\": \"5.8.0\",\n        \"@ethersproject/abstract-provider\": \"5.8.0\",\n        \"@ethersproject/abstract-signer\": \"5.8.0\",\n        \"@ethersproject/address\": \"5.8.0\",\n        \"@ethersproject/base64\": \"5.8.0\",\n        \"@ethersproject/basex\": \"5.8.0\",\n        \"@ethersproject/bignumber\": \"5.8.0\",\n        \"@ethersproject/bytes\": \"5.8.0\",\n        \"@ethersproject/constants\": \"5.8.0\",\n        \"@ethersproject/contracts\": \"5.8.0\",\n        \"@ethersproject/hash\": \"5.8.0\",\n        \"@ethersproject/hdnode\": \"5.8.0\",\n        \"@ethersproject/json-wallets\": \"5.8.0\",\n        \"@ethersproject/keccak256\": \"5.8.0\",\n        \"@ethersproject/logger\": \"5.8.0\",\n        \"@ethersproject/networks\": \"5.8.0\",\n        \"@ethersproject/pbkdf2\": \"5.8.0\",\n        \"@ethersproject/properties\": \"5.8.0\",\n        \"@ethersproject/providers\": \"5.8.0\",\n        \"@ethersproject/random\": \"5.8.0\",\n        \"@ethersproject/rlp\": \"5.8.0\",\n        \"@ethersproject/sha2\": \"5.8.0\",\n        \"@ethersproject/signing-key\": \"5.8.0\",\n        \"@ethersproject/solidity\": \"5.8.0\",\n        \"@ethersproject/strings\": \"5.8.0\",\n        \"@ethersproject/transactions\": \"5.8.0\",\n        \"@ethersproject/units\": \"5.8.0\",\n        \"@ethersproject/wallet\": \"5.8.0\",\n        \"@ethersproject/web\": \"5.8.0\",\n        \"@ethersproject/wordlists\": \"5.8.0\"\n      }\n    },\n    \"node_modules/@iden3/js-iden3-auth/node_modules/tslib\": {\n      \"version\": \"2.7.0\",\n      \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz\",\n      \"integrity\": \"sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==\",\n      \"license\": \"0BSD\"\n    },\n    \"node_modules/@iden3/js-iden3-auth/node_modules/uuid\": {\n      \"version\": \"9.0.1\",\n      \"resolved\": \"https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz\",\n      \"integrity\": \"sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==\",\n      \"funding\": [\n        \"https://github.com/sponsors/broofa\",\n        \"https://github.com/sponsors/ctavan\"\n      ],\n      \"license\": \"MIT\",\n      \"bin\": {\n        \"uuid\": \"dist/bin/uuid\"\n      }\n    },\n    \"node_modules/@iden3/js-iden3-core\": {\n      \"version\": \"1.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@iden3/js-iden3-core/-/js-iden3-core-1.8.0.tgz\",\n      \"integrity\": \"sha512-HoKRgVsCsq78r4EwFe98rdZKOgwEFXqV2SMwZ8bl2jIvUbabJQBTL1IYc7SGh0KvEpVisPq5NuwHJaSyvghqPQ==\",\n      \"license\": \"MIT or Apache-2.0\",\n      \"peerDependencies\": {\n        \"@iden3/js-crypto\": \"1.3.2\"\n      }\n    },\n    \"node_modules/@iden3/js-jsonld-merklization\": {\n      \"version\": \"1.7.2\",\n      \"resolved\": \"https://registry.npmjs.org/@iden3/js-jsonld-merklization/-/js-jsonld-merklization-1.7.2.tgz\",\n      \"integrity\": \"sha512-pXC2YO0yyD6YXgqZCivxmCxBFGs14sLS/AoQzjos8pNDrb3bYm3s+eMfz+4GwCKNpzzTFWSMHJNxzp/HUTEQZA==\",\n      \"license\": \"MIT or Apache-2.0\",\n      \"dependencies\": {\n        \"@js-temporal/polyfill\": \"0.5.1\",\n        \"jsonld\": \"8.3.3\",\n        \"n3\": \"1.26.0\"\n      },\n      \"peerDependencies\": {\n        \"@iden3/js-crypto\": \"1.3.2\",\n        \"@iden3/js-merkletree\": \"1.5.1\"\n      }\n    },\n    \"node_modules/@iden3/js-jwz\": {\n      \"version\": \"1.12.2\",\n      \"resolved\": \"https://registry.npmjs.org/@iden3/js-jwz/-/js-jwz-1.12.2.tgz\",\n      \"integrity\": \"sha512-IfAJz84u1zLPJqEWGLahGFiKYCyeNY+3JpPft/3pVtgm10tYZIBobV4F+g/o2FdruoEgpFtFNUQ1o/7zsmwFEQ==\",\n      \"license\": \"AGPL-3.0\",\n      \"peerDependencies\": {\n        \"@iden3/js-crypto\": \"1.3.2\",\n        \"@iden3/js-iden3-core\": \"1.8.0\",\n        \"@iden3/js-merkletree\": \"1.5.1\",\n        \"@noble/curves\": \"^1.9.2\",\n        \"ffjavascript\": \"0.3.1\",\n        \"rfc4648\": \"1.5.4\",\n        \"snarkjs\": \"0.7.5\"\n      }\n    },\n    \"node_modules/@iden3/js-merkletree\": {\n      \"version\": \"1.5.1\",\n      \"resolved\": \"https://registry.npmjs.org/@iden3/js-merkletree/-/js-merkletree-1.5.1.tgz\",\n      \"integrity\": \"sha512-EABFNqnxXDvS7uZL5wAgHP4VzAnOo3STxADj2Ian/BYKNfWZjOe+WjsVizCU/7jJuafJDEZOeCLbZeIhHRzwLg==\",\n      \"license\": \"MIT or Apache-2.0\",\n      \"peerDependencies\": {\n        \"@iden3/js-crypto\": \"1.3.2\",\n        \"idb-keyval\": \"6.2.2\"\n      }\n    },\n    \"node_modules/@iden3/onchain-non-merklized-issuer-base-abi\": {\n      \"version\": \"0.0.3\",\n      \"resolved\": \"https://registry.npmjs.org/@iden3/onchain-non-merklized-issuer-base-abi/-/onchain-non-merklized-issuer-base-abi-0.0.3.tgz\",\n      \"integrity\": \"sha512-4Mt5iP54KEzh0vbyhwKINx8bdZDyDJ6At92dPi3VKbKvk4dN24MlOQx5BfRakkZYJe7xlvMo/QaOjc/zRAlADg==\",\n      \"license\": \"MIT or Apache-2.0\"\n    },\n    \"node_modules/@iden3/universal-verifier-v2-abi\": {\n      \"version\": \"2.0.2\",\n      \"resolved\": \"https://registry.npmjs.org/@iden3/universal-verifier-v2-abi/-/universal-verifier-v2-abi-2.0.2.tgz\",\n      \"integrity\": \"sha512-GJY1h9aPb4RrfjSjs3mThZfu7Puki5eM5OVIZaxuZKlzvqhSwS4WFm1r61FBSR45FUeshZTXts4KwZaE0JT4ug==\",\n      \"license\": \"MIT or Apache-2.0\"\n    },\n    \"node_modules/@js-temporal/polyfill\": {\n      \"version\": \"0.5.1\",\n      \"resolved\": \"https://registry.npmjs.org/@js-temporal/polyfill/-/polyfill-0.5.1.tgz\",\n      \"integrity\": \"sha512-hloP58zRVCRSpgDxmqCWJNlizAlUgJFqG2ypq79DCvyv9tHjRYMDOcPFjzfl/A1/YxDvRCZz8wvZvmapQnKwFQ==\",\n      \"license\": \"ISC\",\n      \"dependencies\": {\n        \"jsbi\": \"^4.3.0\"\n      },\n      \"engines\": {\n        \"node\": \">=12\"\n      }\n    },\n    \"node_modules/@multiformats/base-x\": {\n      \"version\": \"4.0.1\",\n      \"resolved\": \"https://registry.npmjs.org/@multiformats/base-x/-/base-x-4.0.1.tgz\",\n      \"integrity\": \"sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw==\",\n      \"license\": \"MIT\"\n    },\n    \"node_modules/@noble/ciphers\": {\n      \"version\": \"1.3.0\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.3.0.tgz\",\n      \"integrity\": \"sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==\",\n      \"license\": \"MIT\",\n      \"engines\": {\n        \"node\": \"^14.21.3 || >=16\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@noble/curves\": {\n      \"version\": \"1.9.7\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/curves/-/curves-1.9.7.tgz\",\n      \"integrity\": \"sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==\",\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@noble/hashes\": \"1.8.0\"\n      },\n      \"engines\": {\n        \"node\": \"^14.21.3 || >=16\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@noble/curves/node_modules/@noble/hashes\": {\n      \"version\": \"1.8.0\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz\",\n      \"integrity\": \"sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==\",\n      \"license\": \"MIT\",\n      \"engines\": {\n        \"node\": \"^14.21.3 || >=16\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@noble/hashes\": {\n      \"version\": \"2.0.1\",\n      \"resolved\": \"https://registry.npmjs.org/@noble/hashes/-/hashes-2.0.1.tgz\",\n      \"integrity\": \"sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==\",\n      \"license\": \"MIT\",\n      \"engines\": {\n        \"node\": \">= 20.19.0\"\n      },\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@scure/base\": {\n      \"version\": \"2.0.0\",\n      \"resolved\": \"https://registry.npmjs.org/@scure/base/-/base-2.0.0.tgz\",\n      \"integrity\": \"sha512-3E1kpuZginKkek01ovG8krQ0Z44E3DHPjc5S2rjJw9lZn3KSQOs8S7wqikF/AH7iRanHypj85uGyxk0XAyC37w==\",\n      \"license\": \"MIT\",\n      \"funding\": {\n        \"url\": \"https://paulmillr.com/funding/\"\n      }\n    },\n    \"node_modules/@solana/buffer-layout\": {\n      \"version\": \"4.0.1\",\n      \"resolved\": \"https://registry.npmjs.org/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz\",\n      \"integrity\": \"sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==\",\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"buffer\": \"~6.0.3\"\n      },\n      \"engines\": {\n        \"node\": \">=5.10\"\n      }\n    },\n    \"node_modules/@solana/codecs-core\": {\n      \"version\": \"2.3.0\",\n      \"resolved\": \"https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-2.3.0.tgz\",\n      \"integrity\": \"sha512-oG+VZzN6YhBHIoSKgS5ESM9VIGzhWjEHEGNPSibiDTxFhsFWxNaz8LbMDPjBUE69r9wmdGLkrQ+wVPbnJcZPvw==\",\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@solana/errors\": \"2.3.0\"\n      },\n      \"engines\": {\n        \"node\": \">=20.18.0\"\n      },\n      \"peerDependencies\": {\n        \"typescript\": \">=5.3.3\"\n      }\n    },\n    \"node_modules/@solana/codecs-numbers\": {\n      \"version\": \"2.3.0\",\n      \"resolved\": \"https://registry.npmjs.org/@solana/codecs-numbers/-/codecs-numbers-2.3.0.tgz\",\n      \"integrity\": \"sha512-jFvvwKJKffvG7Iz9dmN51OGB7JBcy2CJ6Xf3NqD/VP90xak66m/Lg48T01u5IQ/hc15mChVHiBm+HHuOFDUrQg==\",\n      \"license\": \"MIT\",\n      \"dependencies\": {\n        \"@solana/codecs-core\": \"2.3.0\",\n        \"@solana/errors\": \"2.3.0\"\n      },\n      \"engines\": {\n        \"node\": \">=20.18.0\"\n      },\n      \"peerDependencies\": {\n        \"typescript\": \">=5.3.3\"\n      }\n    },\n    \"node_modules/@solana/errors\": {\n      \"version\": \"2.3.0\",\n      \"resolved\": \"https://registry.npmjs.org/@solana/errors/-/\n\nFile v1.0.0:skills/verified-agent-identity/scripts/package.json\n\n{\n  \"name\": \"verified-agent-identity\",\n  \"version\": \"0.0.2\",\n  \"description\": \"Billions OpenClaw verification skill\",\n  \"scripts\": {\n    \"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n  },\n  \"keywords\": [\n    \"identity\",\n    \"openclaw\",\n    \"zk\"\n  ],\n  \"author\": \"BillionsNetwork\",\n  \"license\": \"UNLICENSED\",\n  \"dependencies\": {\n    \"@0xpolygonid/js-sdk\": \"1.42.1\",\n    \"@iden3/js-iden3-auth\": \"1.14.0\",\n    \"@iden3/js-iden3-core\": \"1.8.0\",\n    \"@noble/curves\": \"^1.9.2\",\n    \"ethers\": \"^6.13.4\",\n    \"uuid\": \"^11.0.3\"\n  }\n}\n\nFile v1.0.0:skill-card.md\n\n## Description:\n\nBillions decentralized identity for agents. Link agents to human identities using Billions ERC-8004 and Attestation Registries. Verify and generate authentication proofs. Based on iden3 self-sovereign identity protocol.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[nopalempl](https://clawhub.ai/user/nopalempl)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers, operators, and external agent users use this skill to create and manage decentralized agent identities, link an agent DID to a human owner, sign challenges, and verify DID ownership proofs.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Agent private keys may be persisted in plaintext when `BILLIONS_NETWORK_MASTER_KMS_KEY` is not configured.\n\nMitigation: Configure `BILLIONS_NETWORK_MASTER_KMS_KEY` before identity creation or import, and restrict access to `$HOME/.openclaw/billions`.\n\nRisk: Passing private keys directly on the command line can expose them through shell history or process inspection.\n\nMitigation: Avoid command-line private-key arguments and prefer generating or importing identities through a protected runtime environment.\n\nRisk: Signed challenge tokens should be treated as reusable until expiration and consumption controls are confirmed.\n\nMitigation: Limit token sharing, use short-lived challenge workflows, and require review before relying on signed challenges for high-trust authentication.\n\n## Reference(s):\n\n- [Billions Network](https://billions.network/)\n- [OpenClaw environment documentation](https://docs.openclaw.ai/help/environment)\n- [ClawHub skill page](https://clawhub.ai/nopalempl/skills/verifiedagentidentity)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with shell commands and JSON or string command outputs]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Uses local Node.js scripts and may persist identity data under $HOME/.openclaw/billions.]\n\n## Skill Version(s):\n\n1.0.0 (source: server-resolved release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.0:.clawhub/lock.json\n\n{\n  \"version\": 1,\n  \"skills\": {\n    \"verified-agent-identity\": {\n      \"version\": \"1.0.4\",\n      \"installedAt\": 1777438802939\n    }\n  }\n}","readmeExcerpt":"Skill: Agent Owner: nopalempl Summary: Billions decentralized identity for agents. Link agents to human identities using Billions ERC-8004 and Attestation Registries. Verify and generate authentic... Tags: latest:1.0.0 Version history: v1.0.0 | 2026-04-29T05:02:47.104Z | user verified-agent-identity v1.0.0 - Initial release of the Billions decentralized identity skill for agents - Enables agents to create, manage, an","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"cd scripts && npm install && cd ..\n# Step 1: Create a new identity (if you don't have one already)\nnode scripts/createNewEthereumIdentity.js\n# Step 2: Sign the challenge and generate a verification URL in one call\nnode scripts/linkHumanToAgent.js --challenge '{\"name\": <AGENT_NAME>, \"description\": <SHORT_DESCRIPTION>}'"},{"language":"bash","snippet":"# Generate a new random identity\nnode scripts/createNewEthereumIdentity.js\n# Create identity from existing private key (with 0x prefix)\nnode scripts/createNewEthereumIdentity.js --key 0x1234567890abcdef...\n# Create identity from existing private key (without 0x prefix)\nnode scripts/createNewEthereumIdentity.js --key 1234567890abcdef..."},{"language":"bash","snippet":"node scripts/getIdentities.js"},{"language":"json","snippet":"[\n  {\n    \"did\": \"did:iden3:billions:main:2VmAk...\",\n    \"publicKeyHex\": \"0x04abc123...\",\n    \"isDefault\": true\n  }\n]"},{"language":"bash","snippet":"node scripts/generateChallenge.js --did did:iden3:billions:main:2VmAk..."},{"language":"bash","snippet":"# Sign with default DID\nnode scripts/signChallenge.js --challenge 8472951360"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: verified-agent-identity\ndescription: Billions decentralized identity for agents. Link agents to human identities using Billions ERC-8004 and Attestation Registries. Verify and generate authentication proofs. Based on iden3 self-sovereign identity protocol.\nmetadata: { \"category\": \"identity\", \"clawdbot\": { \"requires\": { \"bins\": [\"node\"] }, \"config\": { \"optionalEnv\": [\"BILLIONS_NETWORK_MASTER_KMS_KEY\"] } } }\nhomepage: https://billions.network/\n---\n\n## When to use this Skill\n\nLets AI agents create and manage their own identities on the Billions Network, and link those identities to a human owner.\n\n1. When you need to link your agent identity to an owner.\n2. When you need to sign a challenge.\n3. When you need to link a human to the agent's DID.\n4. When you need to verify a signature to confirm identity ownership.\n5. When you use shared JWT tokens for authentication.\n6. When you need to create and manage decentralized identities.\n\n### After installing the plugin run the following commands to create an identity and link it to your human DID:\n\n```bash\ncd scripts && npm install && cd ..\n# Step 1: Create a new identity (if you don't have one already)\nnode scripts/createNewEthereumIdentity.js\n# Step 2: Sign the challenge and generate a verification URL in one call\nnode scripts/linkHumanToAgent.js --challenge '{\"name\": <AGENT_NAME>, \"description\": <SHORT_DESCRIPTION>}'\n```\n\n## Scope\n\nAll identity data is stored in `$HOME/.openclaw/billions` for compatibility with the OpenClaw plugin.\n\n# Scripts:\n\n### createNewEthereumIdentity.js\n\n**Command**: `node scripts/createNewEthereumIdentity.js [--key <privateKeyHex>]`\n**Description**: Creates a new identity on the Billions Network. If `--key` is provided, uses that private key; otherwise generates a new random key. The created identity is automatically set as default.\n**Usage Examples**:\n\n```bash\n# Generate a new random identity\nnode scripts/createNewEthereumIdentity.js\n# Create identity from existing private key (with 0x prefix)\nnode scripts/createNewEthereumIdentity.js --key 0x1234567890abcdef...\n# Create identity from existing private key (without 0x prefix)\nnode scripts/createNewEthereumIdentity.js --key 1234567890abcdef...\n```\n\n**Output**: DID string (e.g., `did:iden3:billions:main:2VmAk7fGHQP5FN2jZ8X9Y3K4W6L1M...`)\n\n---\n\n### getIdentities.js\n\n**Command**: `node scripts/getIdentities.js`\n**Description**: Lists all DID identities stored locally. Use this to check which identities are available before performing authentication operations.\n**Usage Example**:\n\n```bash\nnode scripts/getIdentities.js\n```\n\n**Output**: JSON array of identity entries\n\n```json\n[\n  {\n    \"did\": \"did:iden3:billions:main:2VmAk...\",\n    \"publicKeyHex\": \"0x04abc123...\",\n    \"isDefault\": true\n  }\n]\n```\n\n---\n\n### generateChallenge.js\n\n**Command**: `node scripts/generateChallenge.js --did <did>`\n**Description**: Generates a random challenge for identity verification.\n**Usage Example**:\n\n```bash\nnode scripts/generateChallenge.js --did di"},{"path":"skills/verified-agent-identity/SKILL.md","content":"---\nname: verified-agent-identity\ndescription: Billions decentralized identity for agents. Link agents to human identities using Billions ERC-8004 and Attestation Registries. Verify and generate authentication proofs. Based on iden3 self-sovereign identity protocol.\nmetadata: { \"category\": \"identity\", \"clawdbot\": { \"requires\": { \"bins\": [\"node\"] }, \"config\": { \"optionalEnv\": [\"BILLIONS_NETWORK_MASTER_KMS_KEY\"] } } }\nhomepage: https://billions.network/\n---\n\n## When to use this Skill\n\nLets AI agents create and manage their own identities on the Billions Network, and link those identities to a human owner.\n\n1. When you need to link your agent identity to an owner.\n2. When you need to sign a challenge.\n3. When you need to link a human to the agent's DID.\n4. When you need to verify a signature to confirm identity ownership.\n5. When you use shared JWT tokens for authentication.\n6. When you need to create and manage decentralized identities.\n\n### After installing the plugin run the following commands to create an identity and link it to your human DID:\n\n```bash\ncd scripts && npm install && cd ..\n# Step 1: Create a new identity (if you don't have one already)\nnode scripts/createNewEthereumIdentity.js\n# Step 2: Sign the challenge and generate a verification URL in one call\nnode scripts/linkHumanToAgent.js --challenge '{\"name\": <AGENT_NAME>, \"description\": <SHORT_DESCRIPTION>}'\n```\n\n## Scope\n\nAll identity data is stored in `$HOME/.openclaw/billions` for compatibility with the OpenClaw plugin.\n\n# Scripts:\n\n### createNewEthereumIdentity.js\n\n**Command**: `node scripts/createNewEthereumIdentity.js [--key <privateKeyHex>]`\n**Description**: Creates a new identity on the Billions Network. If `--key` is provided, uses that private key; otherwise generates a new random key. The created identity is automatically set as default.\n**Usage Examples**:\n\n```bash\n# Generate a new random identity\nnode scripts/createNewEthereumIdentity.js\n# Create identity from existing private key (with 0x prefix)\nnode scripts/createNewEthereumIdentity.js --key 0x1234567890abcdef...\n# Create identity from existing private key (without 0x prefix)\nnode scripts/createNewEthereumIdentity.js --key 1234567890abcdef...\n```\n\n**Output**: DID string (e.g., `did:iden3:billions:main:2VmAk7fGHQP5FN2jZ8X9Y3K4W6L1M...`)\n\n---\n\n### getIdentities.js\n\n**Command**: `node scripts/getIdentities.js`\n**Description**: Lists all DID identities stored locally. Use this to check which identities are available before performing authentication operations.\n**Usage Example**:\n\n```bash\nnode scripts/getIdentities.js\n```\n\n**Output**: JSON array of identity entries\n\n```json\n[\n  {\n    \"did\": \"did:iden3:billions:main:2VmAk...\",\n    \"publicKeyHex\": \"0x04abc123...\",\n    \"isDefault\": true\n  }\n]\n```\n\n---\n\n### generateChallenge.js\n\n**Command**: `node scripts/generateChallenge.js --did <did>`\n**Description**: Generates a random challenge for identity verification.\n**Usage Example**:\n\n```bash\nnode scripts/generateChallenge.js --did di"},{"path":"README.md","content":"# Verified Agent Identity\n\nA decentralized identity management toolkit for AI agents using iden3 protocol on Billions Network.\n\n## Overview\n\nThis skill enables AI agents to create, manage, link, prove and verify ownership of decentralized identities (DIDs) using cryptographic signatures.\n\n## Installation\n\n### Agent CTA:\n\n1. Ask bot to install the skill:\n\n   ```plaintext\n   Install the skill `npx clawhub@latest install verified-agent-identity`\n   ```\n\n   Or\n\n   ```plaintext\n   Install the `verified-agent-identity` skill from the OpenClaw clawhub.ai.\n   ```\n\n2. (Optional) If the verification process did not start automatically after installation, ask your bot to initialize the process by sending a message like:\n\n   ```plaintext\n   Please link your agent identity to me.\n   ```\n\n### Human CTA:\n\n1. Install the skill:\n   ```bash\n   npx clawhub@latest install verified-agent-identity\n   ```\n2. Create a new identity:\n\n   ```bash\n   # Generate a new key and create a new identity\n   node scripts/createNewEthereumIdentity.js\n   ```\n\n   Or\n\n   ```bash\n   # Use an existing private key to create an identity\n   node scripts/createNewEthereumIdentity.js --key <your-ethereum-private-key>\n   ```\n\n3. Generate a verification link to connect your human identity to the agent:\n\n   ```bash\n   node scripts/manualLinkHumanToAgent.js --challenge '{\"name\": \"Agent Name\", \"description\": \"Short description of the agent\"}'\n   ```\n\n   This prints the verification URL to the console. Open it in your browser to complete the identity linking process.\n\n## Features\n\n- **Identity Creation**: Generate new DIDs with random or existing Ethereum private keys\n- **Identity Management**: List and manage multiple identities with default identity support\n- **Human-Agent Linking**: Link a human identity to an agent's DID through signed challenges\n- **Proof Generation**: Generate cryptographic proofs to authenticate as a specific identity\n- **Proof Verification**: Verify proofs to confirm identity ownership\n\n## Architecture\n\n### Runtime Requirements\n\n- **Node.js `>= v20`** and **npm** are required to run the scripts.\n\n### Dependency Surface\n\nnpm dependencies are intentionally minimal and scoped to well-established, audited packages:\n\n| Package                | Purpose                                                      |\n| ---------------------- | ------------------------------------------------------------ |\n| `@0xpolygonid/js-sdk`  | iden3/Privado ID cryptographic primitives and key management |\n| `@iden3/js-iden3-core` | DID and identity core types                                  |\n| `@iden3/js-iden3-auth` | JWS/JWA authorization response construction and verification |\n| `ethers`               | Ethereum key utilities                                       |\n| `uuid`                 | UUID generation for protocol message IDs                     |\n\nCore libraries governing identity management use pinned, well-tested versions to ensure stability and security.\n\n### Key Storage and Isolation\n\nAl"},{"path":"skills/verified-agent-identity/README.md","content":"# Verified Agent Identity\n\nA decentralized identity management toolkit for AI agents using iden3 protocol on Billions Network.\n\n## Overview\n\nThis skill enables AI agents to create, manage, link, prove and verify ownership of decentralized identities (DIDs) using cryptographic signatures.\n\n## Installation\n\n### Agent CTA:\n\n1. Ask bot to install the skill:\n\n   ```plaintext\n   Install the skill `npx clawhub@latest install verified-agent-identity`\n   ```\n\n   Or\n\n   ```plaintext\n   Install the `verified-agent-identity` skill from the OpenClaw clawhub.ai.\n   ```\n\n2. (Optional) If the verification process did not start automatically after installation, ask your bot to initialize the process by sending a message like:\n\n   ```plaintext\n   Please link your agent identity to me.\n   ```\n\n### Human CTA:\n\n1. Install the skill:\n   ```bash\n   npx clawhub@latest install verified-agent-identity\n   ```\n2. Create a new identity:\n\n   ```bash\n   # Generate a new key and create a new identity\n   node scripts/createNewEthereumIdentity.js\n   ```\n\n   Or\n\n   ```bash\n   # Use an existing private key to create an identity\n   node scripts/createNewEthereumIdentity.js --key <your-ethereum-private-key>\n   ```\n\n3. Generate a verification link to connect your human identity to the agent:\n\n   ```bash\n   node scripts/manualLinkHumanToAgent.js --challenge '{\"name\": \"Agent Name\", \"description\": \"Short description of the agent\"}'\n   ```\n\n   This prints the verification URL to the console. Open it in your browser to complete the identity linking process.\n\n## Features\n\n- **Identity Creation**: Generate new DIDs with random or existing Ethereum private keys\n- **Identity Management**: List and manage multiple identities with default identity support\n- **Human-Agent Linking**: Link a human identity to an agent's DID through signed challenges\n- **Proof Generation**: Generate cryptographic proofs to authenticate as a specific identity\n- **Proof Verification**: Verify proofs to confirm identity ownership\n\n## Architecture\n\n### Runtime Requirements\n\n- **Node.js `>= v20`** and **npm** are required to run the scripts.\n\n### Dependency Surface\n\nnpm dependencies are intentionally minimal and scoped to well-established, audited packages:\n\n| Package                | Purpose                                                      |\n| ---------------------- | ------------------------------------------------------------ |\n| `@0xpolygonid/js-sdk`  | iden3/Privado ID cryptographic primitives and key management |\n| `@iden3/js-iden3-core` | DID and identity core types                                  |\n| `@iden3/js-iden3-auth` | JWS/JWA authorization response construction and verification |\n| `ethers`               | Ethereum key utilities                                       |\n| `uuid`                 | UUID generation for protocol message IDs                     |\n\nCore libraries governing identity management use pinned, well-tested versions to ensure stability and security.\n\n### Key Storage and Isolation\n\nAl"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn75zd0xs7ecy5z0pr1fjpdp6n85r9sy\",\n  \"slug\": \"verifiedagentidentity\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1777438967104\n}"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1328,"uniquenessScore":37,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T13:22:20.283Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T13:22:20.283Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T16:00:34.340Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}