Docs
Transactions
A transfer on this chain is one shape. The type is 0x2. The chain id inside it is 21520. A transaction built for another id, or in an older type, is rejected. The node does not quietly rewrite it.
What is inside
- Nonce. The next unused number for the sending account. Sending the same nonce twice does not create two transfers.
- Gas. The work the transfer is allowed to do. This genesis caps a block at 30,000,000 gas.
- Max fee and priority fee. You offer a ceiling. The block’s base fee is burned. The priority fee, the tip, goes to the proposer. The starting base fee on this genesis is 1 gwei.
- To and value. The recipient is a 20-byte account, shown as KAL and 40 hex characters. The value is an integer. One KALYX is 1018 of that integer, so the wallet can show decimals without the chain storing a decimal type.
The signature on that transaction is the spending account’s signature. When the account uses XMSS, the signature consumes one leaf. The account page is the rule. The fee math is on the fees page. A contract deploy is this same type, with bytecode and no recipient. The contracts page is that rule.
A private payment is still one of these transactions. It is sent to the pool. Shield puts the amount in the transaction value, so the explorer shows it. A later private payment leaves that value at zero. The amount stays off that line. The account that submits it is still named. Unshield returns the coins to a public balance. The private payments page is the full rule.
Where it is signed
The wallet builds the transaction in the browser and asks the explorer to submit it. A person check runs before that submit. The node checks the signature, the chain id, the nonce, and the fee. If any of those fail, the transfer does not enter a block.
The node’s own RPC stays on the machine that runs the node. These pages do not publish a public endpoint, a port, or a method list for driving that node from the internet. Looking at a transaction is the explorer’s job. Creating one is the wallet’s job.