Skip to content

Overview

If you are wiring this into a wallet, bot, or service, the shape is:

  • SDKs do the fast local check before signing.
  • The firewall lock enforces the same rule on-chain.
  • The registry cell holds the blacklist.
  • The CLI is for inspection and update workflows.

If a wallet cell uses the firewall lock, a blacklisted destination should fail whether the application checks it or not.

If you want the practical walk-through, start with How to Use.

  1. Build the unsigned transaction.
  2. Read the live registry cell data.
  3. Run the SDK check.
  4. Sign and broadcast if it passes.
  5. Let the firewall lock enforce the same rule again on-chain.
  • Blacklisted lock_args
  • Blacklisted type_args when that flag is on
  • Exact registry dependency matching
  • Fail-closed behavior on missing, invalid, or ambiguous registry data
  • Non-address exploit classes
  • Addresses that are not in the registry yet
  • Governance policy itself outside the update workflow
Terminal window
ckb-firewall inspect
ckb-firewall propose
Read the CLI quickstart