Skip to content

Capability Profiles

grysz edited this page Jun 5, 2026 · 1 revision

Capability Profiles

The kernel package emits kernel.capabilities, a machine-readable digest for wallets, SDKs, indexers, review tools, and agents.

Purpose

The capability profile answers:

  • What execution model does this package use?
  • Which KaspaScript/Kaspa features are required?
  • What evidence backs each feature?
  • Which spend transitions exist?
  • Which signers and proof verifiers are involved?
  • What must a wallet render before signing?
  • What must an indexer track?
  • What policy limits should consumers respect?

Current Execution Model

{
  "execution_model": "kaspa-utxo-state-machine"
}

This is not an account-runtime VM. It is a UTXO transition model: a contract spend consumes state, validates conditions, and creates outputs selected by the spend path.

Transition Profiles

Each spend path emits a compact transition profile:

{
  "transition": "release",
  "kind": "Spend",
  "signer_count": 2,
  "signers": ["sig_a", "sig_b"],
  "proof_verifier": "None",
  "required_features": [
    "BaseScript",
    "WalletPreview",
    "IndexerLineage",
    "TransactionIntrospection"
  ]
}

Current Limits

Capability profiles do not replace:

  • node validation
  • wallet validation
  • standardness checks
  • consensus validation
  • production security review

Next Capability Upgrade

The next major improvement is constraint extraction:

  • signature checks
  • timelocks
  • value conservation
  • output script binding
  • covenant lineage hints

Clone this wiki locally