跳转到内容

本页面的来源

本页面的每条论断都对应固定的修订版本。打开路径即可查看验证所依据的确切来源。

atomicals-avm-interpreter

Atomicals Virtual Machine interpreter

修订 c185e6216a3e

打开固定路径: opcodes

Beta AVM interpreter. Status layer is separate from any Universe runtime exposure.

AVM opcodes

Raw

The complete opcode inventory generated from the interpreter source, with the upstream test annotation preserved per opcode.

Experimental or beta Verified 2026-08-31 Metadata & Sources

Behavior exists in beta or unreleased code. Do not build production dependencies on it.

Page ID
protocol/avm/opcodes
Normative authority
Atomicals reference implementation
Networks
none
Documentation version
2026.08
Audience
developer
Owner
bitcoin-universe-docs
Sources
Known limitations
  • The status column reflects the upstream source comment only. It is not a Universe verification result.
  • Opcodes with no upstream annotation are shown as such rather than assumed working.

此内容尚不支持你的语言。

This inventory is generated from the interpreter’s opcode enumeration. It is not hand maintained, so it cannot drift from the source.

Signature checking is replaced. The ordinary Bitcoin signature opcodes are removed and a custom authorisation opcode is used instead.

AVM opcodes generated from src/script/script.h at c185e6216a3ea2cb2e011e508033ca535ece3472
Opcode Value Group Upstream status Purpose
OP_CHECKAUTHSIG 0xc0 authorisation tested upstream No upstream description in the source comment.
OP_CHECKAUTHSIGVERIFY 0xc1 authorisation tested upstream No upstream description in the source comment.

Opcodes that read the transaction being evaluated.

AVM opcodes generated from src/script/script.h at c185e6216a3ea2cb2e011e508033ca535ece3472
Opcode Value Group Upstream status Purpose
OP_TXVERSION 0xc2 introspection no upstream status No upstream description in the source comment.
OP_TXINPUTCOUNT 0xc3 introspection no upstream status No upstream description in the source comment.
OP_TXOUTPUTCOUNT 0xc4 introspection no upstream status No upstream description in the source comment.
OP_TXLOCKTIME 0xc5 introspection no upstream status No upstream description in the source comment.
OP_OUTPOINTTXHASH 0xc8 introspection no upstream status No upstream description in the source comment.
OP_OUTPOINTINDEX 0xc9 introspection no upstream status No upstream description in the source comment.
OP_INPUTBYTECODE 0xca introspection tested upstream No upstream description in the source comment.
OP_INPUTSEQUENCENUMBER 0xcb introspection tested upstream No upstream description in the source comment.
OP_INPUTWITNESSBYTECODE 0xcc introspection not working No upstream description in the source comment.
OP_OUTPUTVALUE 0xcd introspection no upstream status No upstream description in the source comment.
OP_OUTPUTBYTECODE 0xce introspection no upstream status No upstream description in the source comment.

Key and value storage private to a contract.

AVM opcodes generated from src/script/script.h at c185e6216a3ea2cb2e011e508033ca535ece3472
Opcode Value Group Upstream status Purpose
OP_KV_EXISTS 0xed state-storage tested upstream Check if KV exists.
OP_KV_GET 0xef state-storage tested upstream Get KV.
OP_KV_PUT 0xf0 state-storage tested upstream Put KV.
OP_KV_DELETE 0xf1 state-storage tested upstream Delete KV.

Deposit, withdrawal, and inspection of ARC-20 balances held by a contract.

AVM opcodes generated from src/script/script.h at c185e6216a3ea2cb2e011e508033ca535ece3472
Opcode Value Group Upstream status Purpose
OP_FT_BALANCE_ADD 0xd3 fungible-tokens tested upstream Add to FT balance internal token table storage
OP_FT_WITHDRAW 0xf2 fungible-tokens tested upstream Mark an output for withdraw FT
OP_FT_BALANCE 0xf4 fungible-tokens tested upstream Get balance of FT held in contract
OP_FT_COUNT 0xf6 fungible-tokens tested upstream Get count of different unique FTs
OP_FT_ITEM 0xf7 fungible-tokens tested upstream Get a specific FT atomical id in sorted order

Deposit, withdrawal, and inspection of non-fungible objects held by a contract.

AVM opcodes generated from src/script/script.h at c185e6216a3ea2cb2e011e508033ca535ece3472
Opcode Value Group Upstream status Purpose
OP_NFT_PUT 0xd1 non-fungible-tokens tested upstream Add NFT to internal token table storage
OP_NFT_WITHDRAW 0xf3 non-fungible-tokens tested upstream Mark an output for withdraw NFT
OP_NFT_EXISTS 0xf8 non-fungible-tokens tested upstream Get specific NFT that exists
OP_NFT_COUNT 0xf9 non-fungible-tokens tested upstream Get count of different unique NFTs
OP_NFT_ITEM 0xfa non-fungible-tokens tested upstream Get a specfic NFT atomical id in sorted order
AVM opcodes generated from src/script/script.h at c185e6216a3ea2cb2e011e508033ca535ece3472
Opcode Value Group Upstream status Purpose
OP_GETBLOCKINFO 0xfb block-info tested upstream Get block info for height.
OP_DECODEBLOCKINFO 0xfc block-info tested upstream Decode a block header into the parts
AVM opcodes generated from src/script/script.h at c185e6216a3ea2cb2e011e508033ca535ece3472
Opcode Value Group Upstream status Purpose
OP_HASH_FN 0xfd hashing tested upstream Various hash functions

The interpreter adds support for arbitrarily large numbers, so arithmetic is not bounded the way Bitcoin script bounds it. Any integration must treat numeric results as arbitrary precision rather than assuming a fixed width.