XChain Platform - Database Naming Structure
The XChain Platform follows the following database naming structure :
XChain_{CHAIN}_{NETWORK}_{COMPONENT}
Chains
| Chain | Name |
|---|---|
| Bitcoin | BTC |
| Dogecoin | DOGE |
| Litecoin | LTC |
Networks
| Network | Name |
|---|---|
| Mainnet | Mainnet |
| Testnet | Testnet |
| Regtest | Regtest |
Components
| Component | Name |
|---|---|
| Encoder/Decoder | Decoder |
| XChain Indexer | Indexer |
Examples
Bitcoin Database Names
XChain_BTC_Mainnet_DecoderXChain_BTC_Testnet_DecoderXChain_BTC_Regtest_DecoderXChain_BTC_Mainnet_IndexerXChain_BTC_Testnet_IndexerXChain_BTC_Regtest_Indexer
Litecoin Database Names
XChain_LTC_Mainnet_DecoderXChain_LTC_Testnet_DecoderXChain_LTC_Regtest_DecoderXChain_LTC_Mainnet_IndexerXChain_LTC_Testnet_IndexerXChain_LTC_Regtest_Indexer
Dogecoin Database Names
XChain_DOGE_Mainnet_DecoderXChain_DOGE_Testnet_DecoderXChain_DOGE_Regtest_DecoderXChain_DOGE_Mainnet_IndexerXChain_DOGE_Testnet_IndexerXChain_DOGE_Regtest_Indexer
Column and Field Naming
Transaction identifiers: tx_hash vs txid
The platform uses two distinct identifiers for on-chain transactions. They are not interchangeable, and one of them is consensus-bound, so the distinction must be respected in columns, wire fields, and API responses.
| Identifier | Meaning | Where |
|---|---|---|
tx_hash |
The hash of the on-chain transaction that carries or is the XChain action being processed or referenced. Consensus-bound: it is part of the request_id and CALL_ID preimages and the synthetic XEXEC TX_HASH, so it cannot be renamed without a flag-day. |
Indexer and explorer persisted rows, the public explorer REST/JSON-RPC, ACTION-derivation preimages, the decoder’s mempool_transactions (the candidate action-carrying tx). |
txid (and *_txid columns such as anchor_txid) |
A native-coin (BTC/LTC/DOGE) transaction id referenced as data by an action, not the action-carrying transaction itself: a payment, a DOGE anchor publish, a cross-chain match settlement, an x402 payment. Mirrors Bitcoin Core’s txid RPC field at the node boundary. |
coinpays.txid, anchor_txid, cross-chain match settlement ids, x402 payment ids, encoder output, the obfuscation-key derivation. |
Rule of thumb: if it is the transaction an action was decoded from (or a consensus
derivation over it), it is tx_hash; if it is some other coin transaction the
action points at, it is txid (or a <thing>_txid column). In JavaScript the
camelCase txHash is the same identifier as tx_hash.
Never name the action-carrying transaction hash txid or tx_id, and never name a
referenced native-coin payment, anchor, or settlement id tx_hash.
Copyright © 2025–2026 Dankest, LLC
Based on XChain Platform by Dankest, LLC – https://dankest.llc
Licensed under the GNU Affero General Public License v3.0 (AGPL-3.0-or-later) with a commercial license available for proprietary use.
You may use, modify, and distribute this material under the terms of the License. See LICENSE and NOTICE for full terms. See the licensing overview.