{
  "schemaVersion": "1.0",
  "item": {
    "slug": "ordiscan",
    "name": "Ordiscan",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/t4t5/ordiscan",
    "canonicalUrl": "https://clawhub.ai/t4t5/ordiscan",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/ordiscan",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ordiscan",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "package.json",
      "SKILL.md",
      "scripts/x402-sign.mjs"
    ],
    "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. 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. 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/ordiscan"
    },
    "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/ordiscan",
    "agentPageUrl": "https://openagent3.xyz/skills/ordiscan/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ordiscan/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ordiscan/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. 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. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Ordiscan API",
        "body": "Inscribe content and query Ordinals data via the Ordiscan API. Every request is paid with USDC on Base using the x402 payment protocol -- no API key needed."
      },
      {
        "title": "What this skill can do",
        "body": "Inscribe content on Bitcoin -- text, images, HTML, SVG, and any other file type. The server builds and broadcasts the Bitcoin transactions for you. You only pay USDC on Base.\nQuery Ordinals data -- look up inscriptions, addresses, runes, BRC-20 tokens, rare sats, and more."
      },
      {
        "title": "Setup",
        "body": "Two payment modes are supported. Use the signing script by default. Only use awal if it's already installed and authenticated."
      },
      {
        "title": "Default -- Signing script",
        "body": "Requires node and the X402_PRIVATE_KEY environment variable (an Ethereum private key with USDC on Base).\n\nIf X402_PRIVATE_KEY is not already set, check if ~/.evm-wallet.json exists (created by the evm-wallet skill). If it does, read the private key from it:\n\nX402_PRIVATE_KEY=$(node -e \"console.log(JSON.parse(require('fs').readFileSync(require('os').homedir()+'/.evm-wallet.json','utf8')).privateKey)\")\n\nIf neither the env var nor the wallet file is available, suggest using the awal wallet.\n\n# Install dependencies (only once)\nnpm install --prefix <skill-dir>\n\n# Verify connectivity\nX402_PRIVATE_KEY=$X402_PRIVATE_KEY node <skill-dir>/scripts/x402-sign.mjs balance"
      },
      {
        "title": "Alternative -- Coinbase Agentic Wallet (awal)",
        "body": "If awal is already installed and authenticated, it can be used instead. One command handles the full x402 negotiate-sign-pay flow.\n\n# Check if awal is already available and authenticated\nwhich awal && npx awal status"
      },
      {
        "title": "Making requests with signing script",
        "body": "This is a 3-step flow: request -> sign -> retry. The example below inscribes text, but the same pattern works for any endpoint."
      },
      {
        "title": "Step 1: Send the request (get 402 + payment header)",
        "body": "CONTENT=$(echo -n \"Hello from OpenClaw!\" | base64)\nBODY=\"{\\\"contentType\\\":\\\"text/plain\\\",\\\"base64_content\\\":\\\"$CONTENT\\\",\\\"recipientAddress\\\":\\\"bc1p...\\\"}\"\n\nHEADER=$(curl -s -o /tmp/x402_body.json -w '%header{Payment-Required}' \\\n  -X POST -H \"Content-Type: application/json\" \\\n  -d \"$BODY\" \\\n  \"https://api.ordiscan.com/v1/inscribe\")\n\nCheck the price before paying:\n\ncat /tmp/x402_body.json\n\nFor GET requests (e.g. querying data), omit -X POST and -d."
      },
      {
        "title": "Step 2: Sign the payment",
        "body": "PAYMENT=$(X402_PRIVATE_KEY=$X402_PRIVATE_KEY node <skill-dir>/scripts/x402-sign.mjs sign \"$HEADER\")\n\nThe script reads the base64-encoded Payment-Required header, signs an ERC-3009 TransferWithAuthorization, and outputs the base64-encoded Payment-Signature header to stdout. Diagnostics go to stderr."
      },
      {
        "title": "Step 3: Retry with payment",
        "body": "curl -s -X POST \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Payment-Signature: $PAYMENT\" \\\n  -d \"$BODY\" \\\n  \"https://api.ordiscan.com/v1/inscribe\""
      },
      {
        "title": "Making requests with awal",
        "body": "If awal is already available, it handles the full x402 flow in one command:"
      },
      {
        "title": "Querying data",
        "body": "npx awal x402 pay \"https://api.ordiscan.com/v1/inscription/0\""
      },
      {
        "title": "Inscribing content",
        "body": "npx awal x402 pay \"https://api.ordiscan.com/v1/inscribe\" \\\n  --method POST \\\n  --data '{\"contentType\":\"text/plain\",\"base64_content\":\"SGVsbG8gd29ybGQ=\",\"recipientAddress\":\"bc1p...\"}' \\\n  --max-amount 5000000\n\nThe --max-amount flag caps the payment in USDC base units (6 decimals). 5000000 = $5.00 USDC."
      },
      {
        "title": "Preparing content for inscription",
        "body": "When the user asks to inscribe something, follow these steps:"
      },
      {
        "title": "1. Determine the content and MIME type",
        "body": "User provides text (e.g. \"inscribe 'Hello world'\"): use text/plain\nUser provides a file path: detect the MIME type from the extension:\nExtensionContent type.txttext/plain.html, .htmtext/html.svgimage/svg+xml.jsonapplication/json.pngimage/png.jpg, .jpegimage/jpeg.gifimage/gif.webpimage/webp.mp3audio/mpeg.mp4video/mp4.pdfapplication/pdf"
      },
      {
        "title": "2. Base64-encode the content",
        "body": "For text:\n\nCONTENT=$(echo -n 'Hello world' | base64)\n\nFor a file:\n\nCONTENT=$(base64 -w0 path/to/file)\n\n-w0 disables line wrapping (important -- the API expects a single unbroken base64 string). On macOS, base64 doesn't wrap by default, so -w0 can be omitted."
      },
      {
        "title": "3. Get the recipient Bitcoin address",
        "body": "Ask the user for their Bitcoin address if not already provided. This is the address that will own the inscription."
      },
      {
        "title": "4. Call the inscribe endpoint",
        "body": "See the worked examples below."
      },
      {
        "title": "Inscribe endpoint (deep dive)",
        "body": "POST /v1/inscribe creates a Bitcoin inscription. The server builds and broadcasts the commit + reveal transactions."
      },
      {
        "title": "Request body",
        "body": "FieldTypeRequiredDescriptioncontentTypestringyesMIME type (e.g. text/plain, image/png, text/html)base64_contentstringyesBase64-encoded content (max 400KB decoded)recipientAddressstringyesBitcoin address to receive the inscriptionfeeRatenumbernoCustom fee rate in sat/vB (defaults to medium)"
      },
      {
        "title": "402 response (no payment)",
        "body": "When called without payment, the server returns 402 with dynamic pricing:\n\n{\n  \"error\": { \"message\": \"Payment required...\" },\n  \"priceUsdc\": 1.23,\n  \"totalSats\": 4567,\n  \"feeRate\": 12,\n  \"btcPriceUsd\": 100000\n}\n\nThe Payment-Required header contains the base64-encoded x402 v2 payment details.\n\nUse the 3-step signing script flow above to handle this. If using awal, it handles the 402 flow automatically."
      },
      {
        "title": "Success response (200)",
        "body": "{\n  \"data\": {\n    \"commitTxid\": \"abc123...\",\n    \"revealTxid\": \"def456...\",\n    \"inscriptionId\": \"def456...i0\"\n  }\n}\n\nAfter a successful inscription, always show the user a link to their inscription: https://ordiscan.com/inscription/{inscriptionId}"
      },
      {
        "title": "Worked example with signing script",
        "body": "CONTENT=$(echo -n \"Hello Bitcoin!\" | base64)\nBODY=\"{\\\"contentType\\\":\\\"text/plain\\\",\\\"base64_content\\\":\\\"$CONTENT\\\",\\\"recipientAddress\\\":\\\"bc1p...\\\"}\"\n\n# Step 1: Get price and payment header\nHEADER=$(curl -s -o /tmp/x402_body.json -w '%header{Payment-Required}' \\\n  -X POST -H \"Content-Type: application/json\" \\\n  -d \"$BODY\" \\\n  \"https://api.ordiscan.com/v1/inscribe\")\n\n# Check the price\ncat /tmp/x402_body.json\n\n# Step 2: Sign\nPAYMENT=$(X402_PRIVATE_KEY=$X402_PRIVATE_KEY node <skill-dir>/scripts/x402-sign.mjs sign \"$HEADER\")\n\n# Step 3: Send with payment\ncurl -s -X POST \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Payment-Signature: $PAYMENT\" \\\n  -d \"$BODY\" \\\n  \"https://api.ordiscan.com/v1/inscribe\""
      },
      {
        "title": "Worked example with awal",
        "body": "CONTENT=$(echo -n \"Hello Bitcoin!\" | base64)\n\nnpx awal x402 pay \"https://api.ordiscan.com/v1/inscribe\" \\\n  --method POST \\\n  --data \"{\\\"contentType\\\":\\\"text/plain\\\",\\\"base64_content\\\":\\\"$CONTENT\\\",\\\"recipientAddress\\\":\\\"bc1p...\\\"}\" \\\n  --max-amount 5000000"
      },
      {
        "title": "Inscribing images",
        "body": "CONTENT=$(base64 -w0 image.png)\n\nnpx awal x402 pay \"https://api.ordiscan.com/v1/inscribe\" \\\n  --method POST \\\n  --data \"{\\\"contentType\\\":\\\"image/png\\\",\\\"base64_content\\\":\\\"$CONTENT\\\",\\\"recipientAddress\\\":\\\"bc1p...\\\"}\" \\\n  --max-amount 10000000"
      },
      {
        "title": "Inscribing HTML",
        "body": "CONTENT=$(echo -n '<html><body><h1>On-chain page</h1></body></html>' | base64)\n\nnpx awal x402 pay \"https://api.ordiscan.com/v1/inscribe\" \\\n  --method POST \\\n  --data \"{\\\"contentType\\\":\\\"text/html\\\",\\\"base64_content\\\":\\\"$CONTENT\\\",\\\"recipientAddress\\\":\\\"bc1p...\\\"}\" \\\n  --max-amount 5000000"
      },
      {
        "title": "API endpoint reference",
        "body": "See the Ordiscan API documentation"
      },
      {
        "title": "Response format",
        "body": "Success:\n\n{ \"data\": { ... } }\n\nError:\n\n{ \"error\": { \"message\": \"...\" } }"
      },
      {
        "title": "Error handling",
        "body": "StatusMeaningAction400Bad request (invalid params)Fix the request body or parameters402Payment requiredSign and send payment via x402429Rate limitedWait and retry (max 10 requests/min for inscribe)503Service unavailableServer issue, retry later"
      },
      {
        "title": "Tips",
        "body": "Payment mode: Use the signing script with X402_PRIVATE_KEY by default. Only use awal if it's already installed and authenticated (which awal succeeds).\nGET requests cost ~$0.01 USDC each. Inscription requests vary based on content size and Bitcoin fee rates.\nFor inscriptions, always check the 402 response to see the price before paying. The priceUsdc field tells you the exact cost.\nContent limit is 400KB (decoded). For images, keep them reasonable in size.\nThe inscribe endpoint returns commitTxid and revealTxid. Track them on https://mempool.space/tx/{txid} or https://ordiscan.com/inscription/{inscriptionId}."
      },
      {
        "title": "External endpoints",
        "body": "EndpointMethodData senthttps://api.ordiscan.com/v1/*GETQuery parameters onlyhttps://api.ordiscan.com/v1/inscribePOSTContent type, base64-encoded content, recipient Bitcoin address\n\nAll requests are paid via x402 (USDC on Base). Payment is handled by awal or the signing script."
      },
      {
        "title": "Security & Privacy",
        "body": "All data is sent to api.ordiscan.com over HTTPS.\nGET requests send only query parameters (inscription IDs, addresses, etc.).\nInscription requests send the content you want to inscribe (base64-encoded) and a recipient Bitcoin address. This content is published on the Bitcoin blockchain and is permanently public.\nMode A (awal): No credentials are read beyond what awal manages for x402 payments. No data is stored locally.\nMode B (signing script): Reads X402_PRIVATE_KEY from the environment to sign USDC payments on Base. The private key is never sent over the network -- only the resulting EIP-3009 signature is transmitted. No data is stored locally.\n\nBy using this skill, your requests and inscription content are sent to Ordiscan. Only install if you trust Ordiscan."
      }
    ],
    "body": "Ordiscan API\n\nInscribe content and query Ordinals data via the Ordiscan API. Every request is paid with USDC on Base using the x402 payment protocol -- no API key needed.\n\nWhat this skill can do\nInscribe content on Bitcoin -- text, images, HTML, SVG, and any other file type. The server builds and broadcasts the Bitcoin transactions for you. You only pay USDC on Base.\nQuery Ordinals data -- look up inscriptions, addresses, runes, BRC-20 tokens, rare sats, and more.\nSetup\n\nTwo payment modes are supported. Use the signing script by default. Only use awal if it's already installed and authenticated.\n\nDefault -- Signing script\n\nRequires node and the X402_PRIVATE_KEY environment variable (an Ethereum private key with USDC on Base).\n\nIf X402_PRIVATE_KEY is not already set, check if ~/.evm-wallet.json exists (created by the evm-wallet skill). If it does, read the private key from it:\n\nX402_PRIVATE_KEY=$(node -e \"console.log(JSON.parse(require('fs').readFileSync(require('os').homedir()+'/.evm-wallet.json','utf8')).privateKey)\")\n\n\nIf neither the env var nor the wallet file is available, suggest using the awal wallet.\n\n# Install dependencies (only once)\nnpm install --prefix <skill-dir>\n\n# Verify connectivity\nX402_PRIVATE_KEY=$X402_PRIVATE_KEY node <skill-dir>/scripts/x402-sign.mjs balance\n\nAlternative -- Coinbase Agentic Wallet (awal)\n\nIf awal is already installed and authenticated, it can be used instead. One command handles the full x402 negotiate-sign-pay flow.\n\n# Check if awal is already available and authenticated\nwhich awal && npx awal status\n\nMaking requests with signing script\n\nThis is a 3-step flow: request -> sign -> retry. The example below inscribes text, but the same pattern works for any endpoint.\n\nStep 1: Send the request (get 402 + payment header)\nCONTENT=$(echo -n \"Hello from OpenClaw!\" | base64)\nBODY=\"{\\\"contentType\\\":\\\"text/plain\\\",\\\"base64_content\\\":\\\"$CONTENT\\\",\\\"recipientAddress\\\":\\\"bc1p...\\\"}\"\n\nHEADER=$(curl -s -o /tmp/x402_body.json -w '%header{Payment-Required}' \\\n  -X POST -H \"Content-Type: application/json\" \\\n  -d \"$BODY\" \\\n  \"https://api.ordiscan.com/v1/inscribe\")\n\n\nCheck the price before paying:\n\ncat /tmp/x402_body.json\n\n\nFor GET requests (e.g. querying data), omit -X POST and -d.\n\nStep 2: Sign the payment\nPAYMENT=$(X402_PRIVATE_KEY=$X402_PRIVATE_KEY node <skill-dir>/scripts/x402-sign.mjs sign \"$HEADER\")\n\n\nThe script reads the base64-encoded Payment-Required header, signs an ERC-3009 TransferWithAuthorization, and outputs the base64-encoded Payment-Signature header to stdout. Diagnostics go to stderr.\n\nStep 3: Retry with payment\ncurl -s -X POST \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Payment-Signature: $PAYMENT\" \\\n  -d \"$BODY\" \\\n  \"https://api.ordiscan.com/v1/inscribe\"\n\nMaking requests with awal\n\nIf awal is already available, it handles the full x402 flow in one command:\n\nQuerying data\nnpx awal x402 pay \"https://api.ordiscan.com/v1/inscription/0\"\n\nInscribing content\nnpx awal x402 pay \"https://api.ordiscan.com/v1/inscribe\" \\\n  --method POST \\\n  --data '{\"contentType\":\"text/plain\",\"base64_content\":\"SGVsbG8gd29ybGQ=\",\"recipientAddress\":\"bc1p...\"}' \\\n  --max-amount 5000000\n\n\nThe --max-amount flag caps the payment in USDC base units (6 decimals). 5000000 = $5.00 USDC.\n\nPreparing content for inscription\n\nWhen the user asks to inscribe something, follow these steps:\n\n1. Determine the content and MIME type\nUser provides text (e.g. \"inscribe 'Hello world'\"): use text/plain\nUser provides a file path: detect the MIME type from the extension:\nExtension\tContent type\n.txt\ttext/plain\n.html, .htm\ttext/html\n.svg\timage/svg+xml\n.json\tapplication/json\n.png\timage/png\n.jpg, .jpeg\timage/jpeg\n.gif\timage/gif\n.webp\timage/webp\n.mp3\taudio/mpeg\n.mp4\tvideo/mp4\n.pdf\tapplication/pdf\n2. Base64-encode the content\n\nFor text:\n\nCONTENT=$(echo -n 'Hello world' | base64)\n\n\nFor a file:\n\nCONTENT=$(base64 -w0 path/to/file)\n\n\n-w0 disables line wrapping (important -- the API expects a single unbroken base64 string). On macOS, base64 doesn't wrap by default, so -w0 can be omitted.\n\n3. Get the recipient Bitcoin address\n\nAsk the user for their Bitcoin address if not already provided. This is the address that will own the inscription.\n\n4. Call the inscribe endpoint\n\nSee the worked examples below.\n\nInscribe endpoint (deep dive)\n\nPOST /v1/inscribe creates a Bitcoin inscription. The server builds and broadcasts the commit + reveal transactions.\n\nRequest body\nField\tType\tRequired\tDescription\ncontentType\tstring\tyes\tMIME type (e.g. text/plain, image/png, text/html)\nbase64_content\tstring\tyes\tBase64-encoded content (max 400KB decoded)\nrecipientAddress\tstring\tyes\tBitcoin address to receive the inscription\nfeeRate\tnumber\tno\tCustom fee rate in sat/vB (defaults to medium)\n402 response (no payment)\n\nWhen called without payment, the server returns 402 with dynamic pricing:\n\n{\n  \"error\": { \"message\": \"Payment required...\" },\n  \"priceUsdc\": 1.23,\n  \"totalSats\": 4567,\n  \"feeRate\": 12,\n  \"btcPriceUsd\": 100000\n}\n\n\nThe Payment-Required header contains the base64-encoded x402 v2 payment details.\n\nUse the 3-step signing script flow above to handle this. If using awal, it handles the 402 flow automatically.\n\nSuccess response (200)\n{\n  \"data\": {\n    \"commitTxid\": \"abc123...\",\n    \"revealTxid\": \"def456...\",\n    \"inscriptionId\": \"def456...i0\"\n  }\n}\n\n\nAfter a successful inscription, always show the user a link to their inscription: https://ordiscan.com/inscription/{inscriptionId}\n\nWorked example with signing script\nCONTENT=$(echo -n \"Hello Bitcoin!\" | base64)\nBODY=\"{\\\"contentType\\\":\\\"text/plain\\\",\\\"base64_content\\\":\\\"$CONTENT\\\",\\\"recipientAddress\\\":\\\"bc1p...\\\"}\"\n\n# Step 1: Get price and payment header\nHEADER=$(curl -s -o /tmp/x402_body.json -w '%header{Payment-Required}' \\\n  -X POST -H \"Content-Type: application/json\" \\\n  -d \"$BODY\" \\\n  \"https://api.ordiscan.com/v1/inscribe\")\n\n# Check the price\ncat /tmp/x402_body.json\n\n# Step 2: Sign\nPAYMENT=$(X402_PRIVATE_KEY=$X402_PRIVATE_KEY node <skill-dir>/scripts/x402-sign.mjs sign \"$HEADER\")\n\n# Step 3: Send with payment\ncurl -s -X POST \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Payment-Signature: $PAYMENT\" \\\n  -d \"$BODY\" \\\n  \"https://api.ordiscan.com/v1/inscribe\"\n\nWorked example with awal\nCONTENT=$(echo -n \"Hello Bitcoin!\" | base64)\n\nnpx awal x402 pay \"https://api.ordiscan.com/v1/inscribe\" \\\n  --method POST \\\n  --data \"{\\\"contentType\\\":\\\"text/plain\\\",\\\"base64_content\\\":\\\"$CONTENT\\\",\\\"recipientAddress\\\":\\\"bc1p...\\\"}\" \\\n  --max-amount 5000000\n\nInscribing images\nCONTENT=$(base64 -w0 image.png)\n\nnpx awal x402 pay \"https://api.ordiscan.com/v1/inscribe\" \\\n  --method POST \\\n  --data \"{\\\"contentType\\\":\\\"image/png\\\",\\\"base64_content\\\":\\\"$CONTENT\\\",\\\"recipientAddress\\\":\\\"bc1p...\\\"}\" \\\n  --max-amount 10000000\n\nInscribing HTML\nCONTENT=$(echo -n '<html><body><h1>On-chain page</h1></body></html>' | base64)\n\nnpx awal x402 pay \"https://api.ordiscan.com/v1/inscribe\" \\\n  --method POST \\\n  --data \"{\\\"contentType\\\":\\\"text/html\\\",\\\"base64_content\\\":\\\"$CONTENT\\\",\\\"recipientAddress\\\":\\\"bc1p...\\\"}\" \\\n  --max-amount 5000000\n\nAPI endpoint reference\n\nSee the Ordiscan API documentation\n\nResponse format\n\nSuccess:\n\n{ \"data\": { ... } }\n\n\nError:\n\n{ \"error\": { \"message\": \"...\" } }\n\nError handling\nStatus\tMeaning\tAction\n400\tBad request (invalid params)\tFix the request body or parameters\n402\tPayment required\tSign and send payment via x402\n429\tRate limited\tWait and retry (max 10 requests/min for inscribe)\n503\tService unavailable\tServer issue, retry later\nTips\nPayment mode: Use the signing script with X402_PRIVATE_KEY by default. Only use awal if it's already installed and authenticated (which awal succeeds).\nGET requests cost ~$0.01 USDC each. Inscription requests vary based on content size and Bitcoin fee rates.\nFor inscriptions, always check the 402 response to see the price before paying. The priceUsdc field tells you the exact cost.\nContent limit is 400KB (decoded). For images, keep them reasonable in size.\nThe inscribe endpoint returns commitTxid and revealTxid. Track them on https://mempool.space/tx/{txid} or https://ordiscan.com/inscription/{inscriptionId}.\nExternal endpoints\nEndpoint\tMethod\tData sent\nhttps://api.ordiscan.com/v1/*\tGET\tQuery parameters only\nhttps://api.ordiscan.com/v1/inscribe\tPOST\tContent type, base64-encoded content, recipient Bitcoin address\n\nAll requests are paid via x402 (USDC on Base). Payment is handled by awal or the signing script.\n\nSecurity & Privacy\nAll data is sent to api.ordiscan.com over HTTPS.\nGET requests send only query parameters (inscription IDs, addresses, etc.).\nInscription requests send the content you want to inscribe (base64-encoded) and a recipient Bitcoin address. This content is published on the Bitcoin blockchain and is permanently public.\nMode A (awal): No credentials are read beyond what awal manages for x402 payments. No data is stored locally.\nMode B (signing script): Reads X402_PRIVATE_KEY from the environment to sign USDC payments on Base. The private key is never sent over the network -- only the resulting EIP-3009 signature is transmitted. No data is stored locally.\n\nBy using this skill, your requests and inscription content are sent to Ordiscan. Only install if you trust Ordiscan."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/t4t5/ordiscan",
    "publisherUrl": "https://clawhub.ai/t4t5/ordiscan",
    "owner": "t4t5",
    "version": "0.0.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/ordiscan",
    "downloadUrl": "https://openagent3.xyz/downloads/ordiscan",
    "agentUrl": "https://openagent3.xyz/skills/ordiscan/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ordiscan/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ordiscan/agent.md"
  }
}