Skip to content

Bitcoin Address

Type Registry

Bitcoin Address

identity.payment.bitcoin_address

Bitcoin wallet address. P2PKH format starts with 1, P2SH with 3, P2WPKH with bc1. 26-35 characters. Base58Check encoding.

Domain identitypayment
Casts to VARCHAR
Scope Universal

Try it

CLI
$ finetype infer -i "1A1z7agoat2GPFH7pPPPP..."
→ identity.payment.bitcoin_address

DuckDB

Detect
SELECT finetype('1A1z7agoat2GPFH7pPPPP...');
-- → 'identity.payment.bitcoin_address'
Cast expression
CAST({col} AS VARCHAR)
Safe cast pipeline
-- Normalise and cast in one step
SELECT TRY_CAST(finetype_cast(my_column) AS VARCHAR) AS clean_value
FROM my_table
WHERE finetype(my_column) = 'identity.payment.bitcoin_address';

Struct Expansion

address_type: CASE WHEN {col} LIKE '1%' THEN 'P2PKH' WHEN {col} LIKE '3%' THEN 'P2SH' WHEN {col} LIKE 'bc1%' THEN 'P2WPKH' ELSE 'Unknown' END

JSON Schema

finetype schema identity.payment.bitcoin_address
{
  "$id": "https://noon.sh/schemas/identity.payment.bitcoin_address",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "Bitcoin wallet address. P2PKH format starts with 1, P2SH with 3, P2WPKH with bc1. 26-35 characters. Base58Check encoding.",
  "examples": [
    "1A1z7agoat2GPFH7pPPPP...",
    "3J98t1WpEZ73CNmYviecrnyiWrnqRhWNLy",
    "bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4"
  ],
  "pattern": "^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$|^bc1[a-z0-9]{39,59}$",
  "title": "Bitcoin Address",
  "type": "string"
}

Examples

1A1z7agoat2GPFH7pPPPP...3J98t1WpEZ73CNmYviecrnyiWrnqRhWNLybc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4

Types in identity