{
  "slug": "bitcoin-address",
  "name": "gizza-ai/bitcoin-address",
  "version": "0.1.0",
  "title": "Bitcoin Address Tool — derive P2PKH, SegWit, and WIF — gizza.ai",
  "description": "Derive Bitcoin P2PKH, P2SH-P2WPKH, P2WPKH addresses and WIF from a secp256k1 private key. Supports hex or WIF input, mainnet and testnet.",
  "tags": [
    "bitcoin address",
    "bitcoin wif",
    "p2pkh",
    "p2wpkh",
    "segwit address",
    "base58check",
    "bech32",
    "secp256k1"
  ],
  "category": "security",
  "urls": {
    "page": "https://gizza.ai/tools/bitcoin-address/",
    "markdown": "https://gizza.ai/tools/bitcoin-address/index.md",
    "descriptor": "https://gizza.ai/tools/bitcoin-address/tool.json",
    "deep_link_example": "https://gizza.ai/tools/bitcoin-address/?key=0000000000000000000000000000000000000000000000000000000000000001&network=mainnet&compressed=true"
  },
  "cli": "gizza tool bitcoin-address \"0000000000000000000000000000000000000000000000000000000000000001\"",
  "tool": {
    "description": "Derive Bitcoin addresses and WIF from an existing secp256k1 private key. Accepts a 32-byte private key as hex or WIF, derives the compressed or uncompressed public key, and returns the private key hex, WIF, public key hex, HASH160, legacy P2PKH, wrapped SegWit P2SH-P2WPKH, and native SegWit P2WPKH addresses. Supports mainnet and testnet for hex input; WIF input auto-detects its own network and compression flag. Runs locally with pure Rust SHA-256, RIPEMD-160, Base58Check, and Bech32 logic.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "compressed": {
          "default": true,
          "description": "Use the compressed 33-byte public key for P2PKH and WIF when key is hex. SegWit P2SH-P2WPKH and P2WPKH are only emitted for compressed keys. Ignored when key is WIF.",
          "type": "boolean"
        },
        "key": {
          "description": "Bitcoin secp256k1 private key as 64 hex characters (0x prefix, spaces, and underscores allowed) or WIF. WIF input carries its own network and compression flag.",
          "type": "string"
        },
        "network": {
          "default": "mainnet",
          "description": "Bitcoin network for hex private-key input: mainnet uses 1/3/bc1 address prefixes and 0x80 WIF; testnet uses m/n/2/tb1 and 0xef WIF. Ignored when key is WIF.",
          "enum": [
            "mainnet",
            "testnet"
          ],
          "type": "string"
        }
      },
      "required": [
        "key"
      ],
      "type": "object"
    }
  }
}