Skip to main content

Accounts and blocks

Each BURST account has its own ordered chain of signed blocks. A block names its predecessor and describes one operation. Different accounts can advance independently, but a receive depends on the payment it claims, and shared rules such as verification and governance require agreement across the network.

The latest block hash is the account's head, also called its frontier. Two blocks with the same predecessor compete for the same account position. Representatives vote to resolve that conflict.

Opening an account​

Generating keys creates an address locally. It does not create a ledger block. The first block is an Open with a zero predecessor. It can claim a pending payment or open the chain with no TRST. Opening and verification are separate: receiving money does not grant BRN accrual or verified voting rights.

An account may already have verification state before its first signed block. Opening its chain preserves that state.

Operations​

These are the current BlockType names. Their presence in the format does not mean every operation is enabled on every network.

Block typePurpose
OpenStart an account chain, optionally claiming a pending payment.
BurnSpend BRN to create an equal amount of pending TRST for a recipient.
SendTransfer existing TRST into a pending payment.
ReceiveClaim a payment or acknowledge a return credit.
RejectReceiveRefuse a pending payment and create a return receipt for its sender.
MergeCombine holdings without renewing their age.
ChangeRepresentativeChoose the representative receiving the account's consensus weight.
ChangeSignerReplace the account's active signing-device grant.
EndorseSupport another account's verification application.
VerifierOptIn, VerifierOptOutVolunteer for or leave the verifier pool. Opt-in alone does not establish selection eligibility.
VerificationVoteRecord a selected verifier's judgment.
ChallengeChallenge an account, or name a prior outcome for an appeal where enabled.
GovernanceProposalSubmit a proposed parameter, constitution or representative-status change.
GovernanceEndorseBurn BRN to support a proposal entering voting.
GovernanceVoteVote on a proposal.
GovernanceWithdrawWithdraw the signer's proposal during its proposal phase.
Delegate, RevokeDelegationUpdate governance voting delegation. These do not select a consensus representative.
GovernanceVetoExercise the creator's temporary bootstrap veto before activation.
EpochAdd a bootstrap-authorized marker to an existing account chain. It installs no software.
GovernanceActivationRetained encoding; current nodes reject account-authored activation blocks. Activation occurs through a certified boundary.

For payment rules, see sending and receiving. Verification, governance and bootstrap operations have their own eligibility, stake, timing and availability requirements.

Fields to understand before integrating​

Use the wallet library's builders rather than guessing fields from another block. The current block version is 9; params_hash RPC reports the node's version and current signing context.

FieldMeaning
account, previousAccount and predecessor hash; previous is zero for Open.
representativeThe account's selected consensus representative.
brn_balanceSerialized name for cumulative BRN committed by burns and stakes. It is not available BRN. Rust calls this field brn_spent.
trst_balanceTransferable TRST balance after this block, not the amount of the operation.
linkOperation-specific reference: recipient public key for a payment, source block for a receive, proposal hash for a governance vote.
origin, transaction, target_headOperation-specific provenance, vote or dependency fields. They are not interchangeable transaction IDs.
merge_sourcesHolding IDs to consume in a merge, up to 256. An empty merge list requests deterministic selection.
release_sourcesSorted, distinct vote-set hashes acknowledging stake releases, up to 1,024.
signing_grantActive signing-device grant before this operation; zero means unenrolled.
payment_epochThe agreed economic boundary used when preparing the operation; initially the configured genesis hash.
params_hashCommitment to the parameter values used by the operation.
timestamp, work, signature, hashSigned timing, anti-spam work and authentication fields. Use the library's canonical hash and signing functions.
delegation_payloadScoped governance-key operation or secondary ballot, where enabled. It does not replace the account signature or authorize spending.

Blocks do not contain the whole account state. Holdings, provenance, pending receipts, eligibility and shared protocol state are stored separately. Saving only account heads is insufficient to validate or restore a node.

Submit and confirm​

A valid signature proves authorization, not sufficient balance or confirmation. The node also checks dependencies, work, the current protocol context and the operation's rules. A submission may wait for missing dependencies or compete with another block at the same position.

Keep the signed bytes and hash, submit with process, then query confirmation. If the request times out, check that hash before constructing another payment. See wallet recovery.

Source: block format and validation, block processing, wallet signing.

View Markdown