Skip to main content
REFERENCE
MAIN CHAIN

Transaction Types

The ELA main chain supports 40+ transaction types beyond simple transfers. Each type has a unique hex code and carries a type-specific payload.

UTXO Model

The ELA main chain uses the UTXO model (like Bitcoin), not the account model used by Ethereum and ESC.

Base Transactions​

CodeNameDescription
0x00CoinBaseBlock reward distribution
0x01RegisterAssetRegister a new asset type
0x02TransferAssetStandard ELA transfer
0x03RecordData recording on-chain
0x05SideChainPowSidechain PoW proof submission

Cross-Chain Transactions​

CodeNameDescription
0x06RechargeToSideChainDeposit ELA to a sidechain
0x07WithdrawFromSideChainWithdraw ELA from a sidechain
0x08TransferCrossChainAssetCross-chain transfer (user-facing deposit tx)
0x2cReturnCrossChainDepositCoinReturn failed cross-chain deposits
0x51ReturnSideChainDepositCoinReturn failed sidechain deposits

BPoS Validator Transactions​

CodeNameDescription
0x09RegisterProducerRegister as a BPoS validator (requires deposit)
0x0aCancelProducerCancel producer registration
0x0bUpdateProducerUpdate producer info (owner key, node key, URL)
0x0cReturnDepositCoinReclaim deposit after cancellation
0x0dActivateProducerRe-activate after inactivity

Illegal Evidence Transactions​

CodeNameDescription
0x0eIllegalProposalEvidenceReport conflicting DPoS proposals
0x0fIllegalVoteEvidenceReport conflicting DPoS votes
0x10IllegalBlockEvidenceReport conflicting blocks
0x11IllegalSidechainEvidenceReport sidechain misbehavior
0x12InactiveArbitratorsMark inactive arbiters

Council (DAO) Transactions​

CodeNameDescription
0x21RegisterCRRegister as Council candidate
0x22UnregisterCRUnregister candidacy
0x23UpdateCRUpdate Council member info
0x24ReturnCRDepositCoinReclaim Council deposit
0x25CRCProposalSubmit a governance proposal
0x26CRCProposalReviewCouncil member reviews a proposal
0x27CRCProposalTrackingTrack proposal milestone progress
0x28CRCAppropriationAppropriate funds from treasury
0x29CRCProposalWithdrawRequest fund withdrawal
0x2aCRCProposalRealWithdrawExecute fund transfer
0x2bCRAssetsRectifyRectify CR asset UTXOs
0x31CRCouncilMemberClaimNodeCouncil member claims DPoS node

System Transitions​

CodeNameDescription
0x41RevertToPOWSwitch consensus to pure PoW
0x42RevertToDPOSRestore DPoS consensus

BPoS Staking Transactions​

CodeNameDescription
0x60DposV2ClaimRewardClaim BPoS voter rewards
0x61DposV2ClaimRewardRealWithdrawExecute reward withdrawal
0x62ExchangeVotesConvert ELA to stake votes
0x63VotingCast BPoS votes with lock time
0x64ReturnVotesReturn staked votes
0x65VotesRealWithdrawExecute vote return

NFT Transactions​

CodeNameDescription
0x71CreateNFTCreate NFT from staking position
0x72NFTDestroyFromSideChainDestroy NFT returning from sidechain

Transaction Structure​

Every main chain transaction contains:

FieldDescription
VersionTransaction format version
TxTypeType code from the tables above
PayloadVersionVersion of the type-specific payload
PayloadType-specific data
InputsUTXO references being spent
OutputsNew UTXOs being created
LockTimeBlock height before which the tx cannot be mined
ProgramsSignature scripts proving input ownership

Resources​