{
  "schemaVersion": "1.0",
  "item": {
    "slug": "para-wallet",
    "name": "Para Wallet",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/adeets-22/para-wallet",
    "canonicalUrl": "https://clawhub.ai/adeets-22/para-wallet",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/para-wallet",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=para-wallet",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/para-wallet"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/para-wallet",
    "agentPageUrl": "https://openagent3.xyz/skills/para-wallet/agent",
    "manifestUrl": "https://openagent3.xyz/skills/para-wallet/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/para-wallet/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Overview",
        "body": "Para provides MPC (Multi-Party Computation) wallets where the private key is split into shares and never assembled in a single place. This makes Para ideal for AI agents that need to create wallets and sign transactions without ever holding a full private key.\n\nAll operations use Para's REST API with a single API key for authentication.\n\nBase URL (Beta): https://api.beta.getpara.com\nBase URL (Production): https://api.getpara.com\nAuth: Pass your API key in the X-API-Key header on every request\nContent-Type: application/json\nRequest tracing: Optionally pass X-Request-Id (UUID) for tracing; Para generates one if omitted"
      },
      {
        "title": "Setup",
        "body": "Get an API key from developer.getpara.com\nSet the environment variable:\nexport PARA_API_KEY=\"your-secret-api-key\"\n\n\nUse the Beta base URL (https://api.beta.getpara.com) during development. Switch to Production for mainnet."
      },
      {
        "title": "Create a Wallet",
        "body": "POST /v1/wallets\n\nCreates a new MPC wallet for a user. Each combination of type + scheme + userIdentifier produces exactly one wallet. Attempting to create a duplicate returns a 409 with the existing walletId."
      },
      {
        "title": "Request Body",
        "body": "FieldTypeRequiredDescriptiontypestringYesEVM, SOLANA, or COSMOSuserIdentifierstringYesUser identifier (email, phone, or custom ID)userIdentifierTypestringYesEMAIL, PHONE, CUSTOM_ID, GUEST_ID, TELEGRAM, DISCORD, or TWITTERschemestringNoSignature scheme: DKLS, CGGMP, or ED25519 (defaults based on wallet type)"
      },
      {
        "title": "EVM Example",
        "body": "curl -X POST https://api.beta.getpara.com/v1/wallets \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $PARA_API_KEY\" \\\n  -d '{\n    \"type\": \"EVM\",\n    \"userIdentifier\": \"alice@example.com\",\n    \"userIdentifierType\": \"EMAIL\"\n  }'"
      },
      {
        "title": "Solana Example",
        "body": "curl -X POST https://api.beta.getpara.com/v1/wallets \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $PARA_API_KEY\" \\\n  -d '{\n    \"type\": \"SOLANA\",\n    \"userIdentifier\": \"alice@example.com\",\n    \"userIdentifierType\": \"EMAIL\"\n  }'"
      },
      {
        "title": "Response (201 Created)",
        "body": "The wallet starts in creating status. You must poll until it reaches ready.\n\n{\n  \"id\": \"0a1b2c3d-4e5f-6789-abcd-ef0123456789\",\n  \"type\": \"EVM\",\n  \"scheme\": \"DKLS\",\n  \"status\": \"creating\",\n  \"createdAt\": \"2024-01-15T09:30:00Z\"\n}\n\nThe response includes a Location header with the wallet's URL:\n\nLocation: /v1/wallets/0a1b2c3d-4e5f-6789-abcd-ef0123456789"
      },
      {
        "title": "Polling for Ready Status",
        "body": "After creating a wallet, poll GET /v1/wallets/{walletId} until status becomes ready:\n\n# Poll every 1 second until the wallet is ready\nWALLET_ID=\"0a1b2c3d-4e5f-6789-abcd-ef0123456789\"\nwhile true; do\n  RESPONSE=$(curl -s https://api.beta.getpara.com/v1/wallets/$WALLET_ID \\\n    -H \"X-API-Key: $PARA_API_KEY\")\n  STATUS=$(echo \"$RESPONSE\" | grep -o '\"status\":\"[^\"]*\"' | cut -d'\"' -f4)\n  if [ \"$STATUS\" = \"ready\" ]; then\n    echo \"$RESPONSE\"\n    break\n  fi\n  sleep 1\ndone"
      },
      {
        "title": "Get Wallet Status",
        "body": "GET /v1/wallets/{walletId}\n\nRetrieves the current status and details of a wallet."
      },
      {
        "title": "Request",
        "body": "curl https://api.beta.getpara.com/v1/wallets/0a1b2c3d-4e5f-6789-abcd-ef0123456789 \\\n  -H \"X-API-Key: $PARA_API_KEY\""
      },
      {
        "title": "Response (200 OK)",
        "body": "When the wallet is ready, the response includes the address and public key:\n\n{\n  \"id\": \"0a1b2c3d-4e5f-6789-abcd-ef0123456789\",\n  \"type\": \"EVM\",\n  \"scheme\": \"DKLS\",\n  \"status\": \"ready\",\n  \"address\": \"0x742d35Cc6634C0532925a3b844Bc9e7595f...\",\n  \"publicKey\": \"04a1b2c3d4e5f6...\",\n  \"createdAt\": \"2024-01-15T09:30:00Z\"\n}"
      },
      {
        "title": "Response Fields",
        "body": "FieldTypeDescriptionidstringUnique wallet identifier (UUID)typestringBlockchain network: EVM, SOLANA, or COSMOSschemestringSignature scheme: DKLS, CGGMP, or ED25519statusstringcreating or readyaddressstringWallet address (present when status is ready)publicKeystringPublic key (present when status is ready)createdAtstringISO 8601 creation timestamp"
      },
      {
        "title": "Sign Data",
        "body": "POST /v1/wallets/{walletId}/sign-raw\n\nSigns arbitrary data using the wallet's MPC key shares. The private key is never assembled — each share signs independently and the results are combined.\n\nImportant: The wallet must be in ready status before signing."
      },
      {
        "title": "Request Body",
        "body": "FieldTypeRequiredDescriptiondatastringYesData to sign as a 0x-prefixed hex string"
      },
      {
        "title": "EVM Example",
        "body": "Sign a message hash (e.g., a keccak256 hash of a transaction):\n\ncurl -X POST https://api.beta.getpara.com/v1/wallets/0a1b2c3d-4e5f-6789-abcd-ef0123456789/sign-raw \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $PARA_API_KEY\" \\\n  -d '{\n    \"data\": \"0x48656c6c6f20576f726c64\"\n  }'"
      },
      {
        "title": "Solana Example",
        "body": "Sign a serialized Solana transaction:\n\ncurl -X POST https://api.beta.getpara.com/v1/wallets/aabbccdd-1122-3344-5566-778899aabbcc/sign-raw \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $PARA_API_KEY\" \\\n  -d '{\n    \"data\": \"0x01000103b5d...\"\n  }'"
      },
      {
        "title": "Response (200 OK)",
        "body": "{\n  \"signature\": \"a1b2c3d4e5f6...\"\n}\n\nThe signature is a hex string without the 0x prefix."
      },
      {
        "title": "Wallet Uniqueness",
        "body": "Each combination of type + scheme + userIdentifier maps to exactly one wallet. If you try to create a duplicate, the API returns 409 Conflict with the existing wallet's ID in the response body. Use this to safely retry or look up existing wallets."
      },
      {
        "title": "Async Wallet Creation",
        "body": "Wallet creation is asynchronous. The POST /v1/wallets call returns immediately with status: \"creating\". You must poll GET /v1/wallets/{walletId} until status becomes \"ready\" before you can use the wallet to sign."
      },
      {
        "title": "MPC Security Model",
        "body": "Para uses Multi-Party Computation so the full private key never exists on any single machine. Key shares are distributed across independent parties. When you call sign-raw, each party signs with their share and the results are combined into a valid signature. This means:\n\nNo single point of compromise can leak the private key\nAgents can sign transactions without ever having access to a full key\nSigning is functionally equivalent to a normal signature from the blockchain's perspective"
      },
      {
        "title": "Error Reference",
        "body": "All error responses include a message field describing the issue.\n\nStatusMessageCauseAction400\"type must be one of EVM, SOLANA, COSMOS\"Invalid or missing request body fieldsCheck required fields and enum values401\"secret api key not provided\"Missing X-API-Key headerAdd the X-API-Key header with your API key403\"invalid secret api key\"API key is wrong or revokedVerify your API key at developer.getpara.com404\"wallet not found\"Wallet ID doesn't exist or doesn't belong to your accountCheck the wallet ID409\"a wallet for this identifier and type already exists\"Duplicate wallet creation attemptedUse the returned walletId to access the existing wallet500\"Internal Server Error\"Server-side issueRetry with exponential backoff"
      },
      {
        "title": "409 Conflict Response",
        "body": "The 409 response includes the existing wallet's ID so you can retrieve it:\n\n{\n  \"message\": \"a wallet for this identifier and type already exists\",\n  \"walletId\": \"0a1b2c3d-4e5f-6789-abcd-ef0123456789\"\n}"
      },
      {
        "title": "Complete Example: Create Wallet and Sign",
        "body": "# 1. Create an EVM wallet\nRESPONSE=$(curl -s -X POST https://api.beta.getpara.com/v1/wallets \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $PARA_API_KEY\" \\\n  -d '{\n    \"type\": \"EVM\",\n    \"userIdentifier\": \"agent-1@myapp.com\",\n    \"userIdentifierType\": \"EMAIL\"\n  }')\n\nWALLET_ID=$(echo \"$RESPONSE\" | grep -o '\"id\":\"[^\"]*\"' | cut -d'\"' -f4)\necho \"Created wallet: $WALLET_ID\"\n\n# 2. Poll until ready\nwhile true; do\n  WALLET=$(curl -s https://api.beta.getpara.com/v1/wallets/$WALLET_ID \\\n    -H \"X-API-Key: $PARA_API_KEY\")\n  STATUS=$(echo \"$WALLET\" | grep -o '\"status\":\"[^\"]*\"' | cut -d'\"' -f4)\n  if [ \"$STATUS\" = \"ready\" ]; then\n    echo \"Wallet is ready\"\n    echo \"$WALLET\"\n    break\n  fi\n  echo \"Status: $STATUS — waiting...\"\n  sleep 1\ndone\n\n# 3. Sign data\nSIGNATURE=$(curl -s -X POST https://api.beta.getpara.com/v1/wallets/$WALLET_ID/sign-raw \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $PARA_API_KEY\" \\\n  -d '{\"data\": \"0x48656c6c6f\"}')\n\necho \"Signature: $SIGNATURE\""
      }
    ],
    "body": "Overview\n\nPara provides MPC (Multi-Party Computation) wallets where the private key is split into shares and never assembled in a single place. This makes Para ideal for AI agents that need to create wallets and sign transactions without ever holding a full private key.\n\nAll operations use Para's REST API with a single API key for authentication.\n\nBase URL (Beta): https://api.beta.getpara.com\nBase URL (Production): https://api.getpara.com\nAuth: Pass your API key in the X-API-Key header on every request\nContent-Type: application/json\nRequest tracing: Optionally pass X-Request-Id (UUID) for tracing; Para generates one if omitted\nSetup\nGet an API key from developer.getpara.com\nSet the environment variable:\nexport PARA_API_KEY=\"your-secret-api-key\"\n\nUse the Beta base URL (https://api.beta.getpara.com) during development. Switch to Production for mainnet.\nCreate a Wallet\n\nPOST /v1/wallets\n\nCreates a new MPC wallet for a user. Each combination of type + scheme + userIdentifier produces exactly one wallet. Attempting to create a duplicate returns a 409 with the existing walletId.\n\nRequest Body\nField\tType\tRequired\tDescription\ntype\tstring\tYes\tEVM, SOLANA, or COSMOS\nuserIdentifier\tstring\tYes\tUser identifier (email, phone, or custom ID)\nuserIdentifierType\tstring\tYes\tEMAIL, PHONE, CUSTOM_ID, GUEST_ID, TELEGRAM, DISCORD, or TWITTER\nscheme\tstring\tNo\tSignature scheme: DKLS, CGGMP, or ED25519 (defaults based on wallet type)\nEVM Example\ncurl -X POST https://api.beta.getpara.com/v1/wallets \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $PARA_API_KEY\" \\\n  -d '{\n    \"type\": \"EVM\",\n    \"userIdentifier\": \"alice@example.com\",\n    \"userIdentifierType\": \"EMAIL\"\n  }'\n\nSolana Example\ncurl -X POST https://api.beta.getpara.com/v1/wallets \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $PARA_API_KEY\" \\\n  -d '{\n    \"type\": \"SOLANA\",\n    \"userIdentifier\": \"alice@example.com\",\n    \"userIdentifierType\": \"EMAIL\"\n  }'\n\nResponse (201 Created)\n\nThe wallet starts in creating status. You must poll until it reaches ready.\n\n{\n  \"id\": \"0a1b2c3d-4e5f-6789-abcd-ef0123456789\",\n  \"type\": \"EVM\",\n  \"scheme\": \"DKLS\",\n  \"status\": \"creating\",\n  \"createdAt\": \"2024-01-15T09:30:00Z\"\n}\n\n\nThe response includes a Location header with the wallet's URL:\n\nLocation: /v1/wallets/0a1b2c3d-4e5f-6789-abcd-ef0123456789\n\nPolling for Ready Status\n\nAfter creating a wallet, poll GET /v1/wallets/{walletId} until status becomes ready:\n\n# Poll every 1 second until the wallet is ready\nWALLET_ID=\"0a1b2c3d-4e5f-6789-abcd-ef0123456789\"\nwhile true; do\n  RESPONSE=$(curl -s https://api.beta.getpara.com/v1/wallets/$WALLET_ID \\\n    -H \"X-API-Key: $PARA_API_KEY\")\n  STATUS=$(echo \"$RESPONSE\" | grep -o '\"status\":\"[^\"]*\"' | cut -d'\"' -f4)\n  if [ \"$STATUS\" = \"ready\" ]; then\n    echo \"$RESPONSE\"\n    break\n  fi\n  sleep 1\ndone\n\nGet Wallet Status\n\nGET /v1/wallets/{walletId}\n\nRetrieves the current status and details of a wallet.\n\nRequest\ncurl https://api.beta.getpara.com/v1/wallets/0a1b2c3d-4e5f-6789-abcd-ef0123456789 \\\n  -H \"X-API-Key: $PARA_API_KEY\"\n\nResponse (200 OK)\n\nWhen the wallet is ready, the response includes the address and public key:\n\n{\n  \"id\": \"0a1b2c3d-4e5f-6789-abcd-ef0123456789\",\n  \"type\": \"EVM\",\n  \"scheme\": \"DKLS\",\n  \"status\": \"ready\",\n  \"address\": \"0x742d35Cc6634C0532925a3b844Bc9e7595f...\",\n  \"publicKey\": \"04a1b2c3d4e5f6...\",\n  \"createdAt\": \"2024-01-15T09:30:00Z\"\n}\n\nResponse Fields\nField\tType\tDescription\nid\tstring\tUnique wallet identifier (UUID)\ntype\tstring\tBlockchain network: EVM, SOLANA, or COSMOS\nscheme\tstring\tSignature scheme: DKLS, CGGMP, or ED25519\nstatus\tstring\tcreating or ready\naddress\tstring\tWallet address (present when status is ready)\npublicKey\tstring\tPublic key (present when status is ready)\ncreatedAt\tstring\tISO 8601 creation timestamp\nSign Data\n\nPOST /v1/wallets/{walletId}/sign-raw\n\nSigns arbitrary data using the wallet's MPC key shares. The private key is never assembled — each share signs independently and the results are combined.\n\nImportant: The wallet must be in ready status before signing.\n\nRequest Body\nField\tType\tRequired\tDescription\ndata\tstring\tYes\tData to sign as a 0x-prefixed hex string\nEVM Example\n\nSign a message hash (e.g., a keccak256 hash of a transaction):\n\ncurl -X POST https://api.beta.getpara.com/v1/wallets/0a1b2c3d-4e5f-6789-abcd-ef0123456789/sign-raw \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $PARA_API_KEY\" \\\n  -d '{\n    \"data\": \"0x48656c6c6f20576f726c64\"\n  }'\n\nSolana Example\n\nSign a serialized Solana transaction:\n\ncurl -X POST https://api.beta.getpara.com/v1/wallets/aabbccdd-1122-3344-5566-778899aabbcc/sign-raw \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $PARA_API_KEY\" \\\n  -d '{\n    \"data\": \"0x01000103b5d...\"\n  }'\n\nResponse (200 OK)\n{\n  \"signature\": \"a1b2c3d4e5f6...\"\n}\n\n\nThe signature is a hex string without the 0x prefix.\n\nKey Concepts\nWallet Uniqueness\n\nEach combination of type + scheme + userIdentifier maps to exactly one wallet. If you try to create a duplicate, the API returns 409 Conflict with the existing wallet's ID in the response body. Use this to safely retry or look up existing wallets.\n\nAsync Wallet Creation\n\nWallet creation is asynchronous. The POST /v1/wallets call returns immediately with status: \"creating\". You must poll GET /v1/wallets/{walletId} until status becomes \"ready\" before you can use the wallet to sign.\n\nMPC Security Model\n\nPara uses Multi-Party Computation so the full private key never exists on any single machine. Key shares are distributed across independent parties. When you call sign-raw, each party signs with their share and the results are combined into a valid signature. This means:\n\nNo single point of compromise can leak the private key\nAgents can sign transactions without ever having access to a full key\nSigning is functionally equivalent to a normal signature from the blockchain's perspective\nError Reference\n\nAll error responses include a message field describing the issue.\n\nStatus\tMessage\tCause\tAction\n400\t\"type must be one of EVM, SOLANA, COSMOS\"\tInvalid or missing request body fields\tCheck required fields and enum values\n401\t\"secret api key not provided\"\tMissing X-API-Key header\tAdd the X-API-Key header with your API key\n403\t\"invalid secret api key\"\tAPI key is wrong or revoked\tVerify your API key at developer.getpara.com\n404\t\"wallet not found\"\tWallet ID doesn't exist or doesn't belong to your account\tCheck the wallet ID\n409\t\"a wallet for this identifier and type already exists\"\tDuplicate wallet creation attempted\tUse the returned walletId to access the existing wallet\n500\t\"Internal Server Error\"\tServer-side issue\tRetry with exponential backoff\n409 Conflict Response\n\nThe 409 response includes the existing wallet's ID so you can retrieve it:\n\n{\n  \"message\": \"a wallet for this identifier and type already exists\",\n  \"walletId\": \"0a1b2c3d-4e5f-6789-abcd-ef0123456789\"\n}\n\nComplete Example: Create Wallet and Sign\n# 1. Create an EVM wallet\nRESPONSE=$(curl -s -X POST https://api.beta.getpara.com/v1/wallets \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $PARA_API_KEY\" \\\n  -d '{\n    \"type\": \"EVM\",\n    \"userIdentifier\": \"agent-1@myapp.com\",\n    \"userIdentifierType\": \"EMAIL\"\n  }')\n\nWALLET_ID=$(echo \"$RESPONSE\" | grep -o '\"id\":\"[^\"]*\"' | cut -d'\"' -f4)\necho \"Created wallet: $WALLET_ID\"\n\n# 2. Poll until ready\nwhile true; do\n  WALLET=$(curl -s https://api.beta.getpara.com/v1/wallets/$WALLET_ID \\\n    -H \"X-API-Key: $PARA_API_KEY\")\n  STATUS=$(echo \"$WALLET\" | grep -o '\"status\":\"[^\"]*\"' | cut -d'\"' -f4)\n  if [ \"$STATUS\" = \"ready\" ]; then\n    echo \"Wallet is ready\"\n    echo \"$WALLET\"\n    break\n  fi\n  echo \"Status: $STATUS — waiting...\"\n  sleep 1\ndone\n\n# 3. Sign data\nSIGNATURE=$(curl -s -X POST https://api.beta.getpara.com/v1/wallets/$WALLET_ID/sign-raw \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $PARA_API_KEY\" \\\n  -d '{\"data\": \"0x48656c6c6f\"}')\n\necho \"Signature: $SIGNATURE\""
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/adeets-22/para-wallet",
    "publisherUrl": "https://clawhub.ai/adeets-22/para-wallet",
    "owner": "adeets-22",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/para-wallet",
    "downloadUrl": "https://openagent3.xyz/downloads/para-wallet",
    "agentUrl": "https://openagent3.xyz/skills/para-wallet/agent",
    "manifestUrl": "https://openagent3.xyz/skills/para-wallet/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/para-wallet/agent.md"
  }
}