Liquid Asset Registry V2

The asset registry turns Liquid asset IDs into names people recognize. Issuers register their assets and keep the details current, and wallets and explorers read them. Version 2 keeps the legacy API working and lets issuers update their metadata with signed changes anyone can audit.

On-chain, a wallet only sees a long asset ID and an amount. With the registry, people see Example Dollar (EXUSD), 250.00 EXUSD, issued by example-issuer.com. The asset ID on the Liquid blockchain commits to the metadata, the issuer's domain is verified, and every change is a signed, publicly logged update.

Start here

I want to…Go toSteps
Show asset names and icons in my appQuickstartRead an asset → search → fetch its icon (no key needed)
Register a new assetRegister an assetBuild the contract → compute its hash → issue → publish a domain proof → POST /v2/assets
Prove I control my domainDomain verificationPick HTTP file, DNS TXT or a pubkey-bound proof (one proof for all your assets)
Update tags, venues or custom fields, or rotate my keyUpdating asset metadataGet the latest action hash → build and sign the action → POST …/actions → handle retries
Add or change my asset's iconAdding an iconPrepare a 500×500 PNG → propose it (signed) → wait for review → clients fetch the new URL
Use v2 features on a legacy assetMigrating from legacyGet it migrated → then use the issuer actions above
Add v2 registration to my library or wallet (e.g. LWK)Libraries that register assetsAdd version 2 contracts → hash as before → POST /v2/assets → keep the issuer key signable
Keep a local copy of the registrySync the registryBootstrap from all.json → poll changes with updated_after → read removals from the audit log
Verify an asset's historyVerify the audit trailRead the audit log → check hashes and the chain → rebuild the key history → verify signatures
Operate the registry (admins)Admin EndpointsPermissions → moderation → icon review → migration

At a glance

Base URLshttps://assets.blockstream.info (Liquid) · https://assets-testnet.blockstream.info (Liquid Testnet). Legacy endpoints at the root, v2 under /v2
OpenAPI/openapi.json on each host; Swagger UI at /docs
ReadsPublic, no authentication, CORS *
WritesSigned with secp256k1 keys (no API keys). Send them from a server or CLI, because browsers can't send the signature headers. Signing requests
RequestsSend Content-Type only with a body. Unknown query parameters are rejected (400). Formats and errors: Conventions
ToolingTypeScript SDK: typed clients, canonical JSON and signing helpers
FormatJSON, except icons (PNG) and two legacy endpoints (plain text)
👍

Examples use the Liquid mainnet base URL. For testnet, swap in https://assets-testnet.blockstream.info. Testnet data is separate, so test writes there first.

Quickstart

  1. Read an asset

    No key needed.

    curl https://assets.blockstream.info/v2/assets/aa909f1b77451e409fe95fe1d3638ad017ab3325c6d4f00301af6d582d0f2034
  2. Search

    curl "https://assets.blockstream.info/v2/assets?ticker=BMN&sort=ticker_asc&page_size=2"
  3. Show its icon

    Resolve icon.href against the base URL; the image never changes, so cache it.

    curl -o icon.png "https://assets.blockstream.info/v2/assets/aa909f1b77451e409fe95fe1d3638ad017ab3325c6d4f00301af6d582d0f2034/icon/9389e4e5458f76347a0f5bcd8f963f6aa3e14c1b6b923d5304c91f63614a5212.png"
  4. Issuers: register or update

    New asset: Register an asset. An existing asset is legacy (every mainnet asset is today) and must be migrated before it accepts signed updates. Every Issuer Action Endpoints endpoint has complete JavaScript, Python and Go programs.


The Liquid Network is a production Bitcoin sidechain built with Elements, supporting confidential transactions, asset issuance and programmable smart contracts.

© 2026 Liquid Network
All rights reserved.

Feedback and Requests

We'd be happy to hear your suggestions on how to improve this site.

Simplicity Forum

Discuss SimplicityHL, tooling and applications on Liquid at community.simplicity-lang.org.

Liquid Dev Community

Community Telegram group where most of the Liquid developers hang out. Go to t.me/liquid_devel to join.