Glossary
Every term the platform uses, in one place. Everyday words are written in plain English; the more technical entries keep the developer documentation’s own wording.
The basics
- ACTION
- Every operation on XChain (issuing a token, sending one, placing an order) is one of 36 commands called "actions," tucked inside an ordinary blockchain transaction.
- ACTION_INDEX
- A unique sequential integer assigned to every valid XChain ACTION transaction, in the order it was confirmed on-chain. Many actions reference prior actions by their ACTION_INDEX (e.g., an ORDER references the action that created the token being sold).
- actionString
- The serialized pipe-delimited representation of an ACTION before it is encoded into a transaction. Format:
ACTION|VERSION|FIELD1|FIELD2|... - BATCH
- An ACTION that bundles multiple sub-actions into a single blockchain transaction, joined with semicolons. Reduces on-chain fees by combining operations.
- encoding type
- The method used to embed ACTION data in a transaction. Options are
OP_RETURN(up to 80 bytes per output, 76 bytes user data + 4-byte XCHN prefix),P2SH,P2WSH, andmultisig. Larger payloads require P2SH or P2WSH, which use a two-transaction pattern. - magic prefix
- The 4-byte string
XCHNthat appears at the start of every decoded XChain payload, used to identify XChain transactions. - MEMO
- An optional free-text annotation that can be attached to many actions. Always the last field in an action format string.
- metalayer
- A protocol that runs on top of a blockchain without changing it. XChain is a metalayer on Bitcoin and other compatible blockchains.
- obfuscation
- The process of scrambling XChain payload data using AES-128-CTR before embedding it in a transaction. The key and IV are derived from the first input's txid. Obfuscation prevents accidental filtering by blockchain infrastructure; it is not encryption; the data is fully readable by any XChain node.
- pipe-delimited
- The format used to serialize ACTION data, with fields separated by the
|character. - PSBT
- Partially Signed Bitcoin Transaction. The standard format for unsigned or partially signed transactions on Bitcoin-family chains. XChain's encoder produces PSBTs that the caller signs with their wallet and broadcasts.
- Smart contract
- A small JavaScript program that lives permanently on-chain and can be called by anyone.
- TICK
- A token's short name, like
GOLDorACME. - TICK_ID
- The numeric ACTION_INDEX of the ISSUE action that created a token. An alternative way to reference a token that is stable even if the ticker is changed.
- VERSION
- An integer suffix on each ACTION format that identifies which set of fields the action uses. Newer versions add fields; older versions remain valid so existing software continues to work.
Components
- decoder
- The
xchain-decoderservice. Polls the coin node for new blocks, extracts XChain payloads from transactions, and writes raw decoded actions to the decoder MariaDB database. Does not validate ACTION logic. - encoder
- The
xchain-encoderservice. Takes an ACTION string and wallet parameters (public key, UTXOs) and produces a PSBT ready for signing and broadcast. - explorer
- The website and API for looking up tokens, balances, orders, and history.
- hub
- The decentralized network that handles configuration, prices, cross-chain coordination, and outside-world answers, without ever taking custody of funds.
- indexer
- The software that checks every action against the rules and maintains all balances, orders, and state.
- Node
- Software that reads the blockchain and rebuilds XChain's state. Anyone can run one to verify every balance themselves, trusting no one.
- xchain-node
- The CLI orchestrator tool. Installs, starts, stops, updates, and monitors all XChain services as Docker containers. The entry point for node operators.
- xchain-regtest-miner
- A service that automatically mines pending mempool transactions in regtest environments, producing instant block confirmations for development and testing.
- xchain-sdk
- The developer SDK for the XChain platform. Provides methods for all 31 developer-invocable actions, 100+ explorer query methods, a batch builder, PSBT generation, and typed error classes.
- xchain-utxo-tracker
- A service that indexes all UTXOs from the coin node into LevelDB. Used by the encoder to look up available UTXOs for a given address.
Tokens
- AIRDROP
- An ACTION that distributes tokens to a list of recipients in a single transaction.
- allow list
- Named lists that control who can hold or mint a token.
- block list
- A LIST referenced by a token that prevents the listed addresses from receiving transfers or participating in minting.
- BURN address
- A well-known address with no known private key (e.g., the all-zeros address). Sending tokens to a burn address permanently removes them from circulation.
- CALLBACK
- An ACTION that allows a token issuer to reclaim tokens from all holders at a specified price after a given block height. Used for structured financial instruments with redemption features.
- decimals
- How finely a token can be divided. Zero means whole units only; more decimals allow fractions.
- DESTROY
- Permanently remove tokens from circulation. They can't be recovered.
- DIVIDEND
- An ACTION that distributes one token proportionally to all holders of another token, based on their share of the total supply.
- ISSUE
- The ACTION that creates a new token or updates an existing token's parameters. Defines the ticker, maximum supply, decimal places, mint supply, description, and many other parameters.
- LINK
- An ACTION that associates an address or token with an external URL or resource identifier.
- LIST
- An ACTION that creates a named list of addresses or tickers that can be referenced as an allow list or block list in other actions (e.g., restricting who can mint a token).
- Lock
- Make a setting permanent. Once locked (like a max supply) it can never be changed by anyone, ever.
- maxSupply
- How many units of a token exist, and the hard ceiling it can never exceed.
- MINT
- Create new supply of a token, up to its maximum.
- Mint window
- A period (between two block heights) when the public can mint a token themselves. Handy for crowdfunding.
- mintSupply
- The fixed amount of tokens produced by each valid MINT action for a given token.
- Ownership
- The right to update a token and mint new supply. Separate from simply holding a balance, and sellable on its own.
- SLEEP
- An ACTION that suspends another action (such as a dispenser or order) from a start block until an end block, temporarily deactivating it without cancelling it.
- SWEEP
- An ACTION that transfers the entire token balance of the broadcasting address to a destination address in a single operation.
Trading
- DEX
- The decentralized exchange built into the protocol. Trades settle on-chain with no custodian and no account.
- DISPENSER
- A token vending machine: set a fixed price and buyers automatically receive the token, 24/7, with no server.
- escrow
- Tokens the protocol locks to back an open order until it's filled or cancelled. Not a company holding your funds.
- ORDER
- A sell offer on the DEX: what you're giving, and what you want in return.
- Swap
- An atomic cross-chain trade, like a token on Bitcoin for one on Litecoin. No bridge, no custodian.
Ledger
- balance
- The amount of a specific token held at an address, as maintained by the indexer.
- credit
- An addition to an address's token balance, recorded as a positive ledger entry. Produced by MINT, SEND (destination), AIRDROP, and similar actions.
- debit
- A reduction of an address's token balance, recorded as a negative ledger entry. Produced by SEND (source), DESTROY, SWEEP, and similar actions.
- ledger
- The indexer's record of all credits and debits for every address and token. The current balance is computed from the sum of all ledger entries.
- sanity check
- A validation step in the indexer that verifies an action is consistent with the current ledger state before applying it (e.g., confirming the sender has sufficient balance before processing a SEND).
Content, data & addressing
- ADDRESS
- An ACTION that sets per-address configuration preferences, such as requiring a memo on all incoming transfers or choosing what happens to an XCHAIN-balance protocol fee (destroyed, or donated to protocol development).
- BROADCAST
- Publishing data (price feeds, results, announcements) permanently and tamper-proof on-chain.
- FILE
- Data stored on-chain. It can be encrypted so only holders of a token can decrypt it (see token gating).
- gated FILE
- A
FILEaction whoseGATE_TICKERfield is non-empty. The raw file data is ciphertext (AES-256-GCM); only holders ofGATE_TICKERreceive the symmetric key (via ECIESMESSAGE) and can decrypt. Published only by the token's issuer. See Token-Gated Content. - Key Handoff
- The act of delivering a gated file's symmetric key to a token holder via an ECIES-encrypted
MESSAGE. Sent by the issuer at publish time (to themselves, for recoverability) and by the current holder to every new holder as part of every transfer (BATCH(SEND, MESSAGE)). - KEY_HASH
- The hex
sha256of a gated file's symmetric key. Stored on theFILEaction so holders can verify the key they receive in aMESSAGEhandoff matches the file they're decrypting. Also serves as the implicit pack identifier: two or more gated FILEs sharing the sameKEY_HASHare pack members and unlock together. - MESSAGE
- A short message stored permanently on-chain, optionally encrypted so only the recipient can read it.
- Pack
- A group of token-gated files sharing the same
KEY_HASHandGATE_TICKER. Pack membership is implicit in the shared key hash; the protocol does not have a separate "pack" ACTION or table. Holders unlock the entire pack atomically with one key. Optionally surfaced in TIS viapack_idon file entries and a top-levelpacksdisplay map. - Token Gating
- Restricting access to content based on whether an address holds a specific token.
Validators & consensus
- ANCHOR
- A validator-broadcast ACTION that commits a quorum-signed state checkpoint (per-block ledger, actions, and contract hash triple) to the anchor chain (DOGE on all networks). Later versions also archive cross-chain match records and SPV light-client roots on-chain. ANCHOR is what allows light clients to verify indexer state against a threshold of validator signatures without trusting a single operator.
- ATTEST
- How a contract gets a verified answer from the web or an AI model. Validators each look it up and agree before it's written on-chain.
- NODEPROOF
- A validator-broadcast ACTION that records a quorum-signed verdict proving which validators correctly answered a periodic block-data possession challenge, confirming they operate a real coin full node rather than relying on mirrored databases. Valid on BTC only (with extension to other chains planned).
- SLASH
- A contract taking some or all of a staker's locked tokens when its rules say they misbehaved.
- Staking
- Locking tokens against a contract. The contract's code decides what staking unlocks.
- XCALL
- A VM-emitted ACTION that lets a smart contract on one chain call a method on a contract deployed on a different chain, then receive the result through a callback method. The cross-chain relay is performed by the validator federation with no extra on-chain transaction. Version 2 is system-synthesized when the call expires before a result arrives.
Governance
- VOTE
- A user-submittable, on-chain ACTION that casts a token-weighted ballot on a governance poll. Distinct from the hub validator network's own off-chain PBFT voting (used to approve configuration changes); VOTE is how token holders themselves vote on-chain.
Infrastructure
- bootstrap
- A database snapshot that lets a new node start from a recent point instead of re-scanning the whole blockchain.
- coin
- The native currency of an underlying blockchain: BTC on Bitcoin, LTC on Litecoin, DOGE on Dogecoin. Coins pay miner fees and can pay XChain protocol fees; they are distinct from tokens, which are created and tracked by the XChain protocol itself.
- Gas
- The small protocol fee an action costs, paid in the chain’s native coin (or, on Bitcoin only, from an XCHAIN balance). The same idea as a network fee.
- GAS address
- A designated address (per chain, defined in each indexer's configuration) that is authorized to issue the XCHAIN gas token. The GAS address is exempt from the reserved ticker restriction that would otherwise block
XCHAINissuance. - reorg (chain reorganization)
- When a blockchain briefly reshuffles its most recent blocks. XChain detects this and rolls back automatically; a very recent transaction may flicker and reappear.
- XCHAIN
- The platform's fee token. Actions that write data to the ledger cost a small protocol fee. On Litecoin and Dogecoin that fee is paid as a native-coin output; on Bitcoin you may pay it that way or from an XCHAIN balance.
Behind the scenes
- decoder database
- A MariaDB database populated by the decoder service. Contains raw decoded XChain transactions as extracted from blocks, before validation. Named
XChain_{CHAIN}_{NETWORK}_Decoder(e.g.,XChain_BTC_Mainnet_Decoder). - indexer database
- A MariaDB database populated by the indexer service. Contains validated, processed XChain state: token records, balances, orders, dispensers, etc. Named
XChain_{CHAIN}_{NETWORK}_Indexer(e.g.,XChain_BTC_Mainnet_Indexer). - LevelDB
- A key-value store used by xchain-utxo-tracker for fast local storage. Does not require a separate database server.
- Token Information Standard (TIS)
- A JSON schema defined by XChain for associating rich metadata (images, descriptions, links) with tokens. Token projects publish a TIS-compliant JSON file at a well-known URL that the explorer can discover and display.
Networks & encoding
- mainnet
- The live production blockchain network. Transactions cost real money. XChain tokens on mainnet have real value.
- multisig
- Multi-signature. A Bitcoin transaction type that XChain can use to embed ACTION data by encoding it in the public keys of a multisig output.
- OP_RETURN
- A Bitcoin script opcode that marks a transaction output as provably unspendable. XChain uses it to embed ACTION data in a transaction output (up to 80 bytes per output: 76 bytes of user data plus a 4-byte XCHN prefix) without creating a spendable UTXO.
- P2SH
- Pay-to-Script-Hash. A Bitcoin transaction type that XChain uses for larger ACTION payloads (over 76 bytes of user data) that don't fit in OP_RETURN. Uses a two-transaction pattern: a funding transaction, then a spend that reveals the data.
- P2WSH
- Pay-to-Witness-Script-Hash. The SegWit equivalent of P2SH. Used by XChain for large payloads on chains that support SegWit.
- regtest
- A local blockchain mode where the operator controls block production. Blocks are mined on demand, coins have no value, and the chain can be reset at will. The recommended environment for XChain development.
- testnet
- A public blockchain test network where coins have no real value. Suitable for testing with a realistic block confirmation time.
- UTXO
- Unspent Transaction Output. The fundamental unit of value on Bitcoin-family chains. Each UTXO represents a discrete amount of coin that can be spent as the input to a new transaction.