This page describes hived 1.30.0 (hardfork 30, active since block 949,330 on 2026-10-07 12:00 UTC); nodes run 1.30.1, a maintenance release with the same constants. Last checked against the code and the live chain on 2026-10-08, at block 977,074; the witness and price-feed rows on 2026-11-03, at block 1,722,911.
This page is the reference for every protocol number in these pages. Other pages may quote a number when it helps the reader, but they link here, and this page wins if the two disagree. When the chain changes, it is corrected here first.
Each row gives the value in upstream Hive, the value on the Pixa chain, the kind of number it is, and its source. Bold marks a Pixa value that differs from Hive. Numbered notes follow each table.
Kind
Meaning
How it changes
Consensus
Compiled into hived; every node enforces it.
Only by a hardfork.
Witness median
Each witness publishes a value; the chain uses the median across the scheduled witnesses.
A setting of a node, a service or an app. Consensus does not enforce it.
When that software's operator changes it.
The Pixa code is cited at commit 48f75a2 of pixagram-blockchain/pixagram, the 1.29.0 release, for every rule hardfork 30 left unchanged, and at tag v1.30.0 for the rules it changed. Paths are relative to libraries/, and config.hpp means protocol/include/hive/protocol/config.hpp. Hive values come from hived 1.28.7, the release Pixa is built on (upstream config.hpp), or from the live Hive chain where marked. The live Pixa nodes report revision d986a23, the last commit of the hardfork-30 branch before the release was tagged.
These are the symbol bytes in the legacy, pre-NAI wire format. Clients that hard-code Steem's bytes produce invalid signatures.
A new chain: no balances were carried over from Steem or Hive. What genesis created is in Genesis.
Hardforks 1–28 all applied at block 1; hardfork 29 at block 402,205 (2026-09-18 12:00 UTC); hardfork 30 at block 949,330 (2026-10-07 12:00 UTC). What each changed is on Protocol Upgrades.
1.30.1, tagged on 2026-10-15, is a maintenance release without a hardfork: it merged upstream Hive 1.28.8, and every value in its config.hpp is that of 1.30.0 (v1.30.1). On 2026-11-03 all 21 scheduled witnesses ran it (get_witnesses_by_vote).
The live maximum block size minus 256 bytes, checked when a node accepts a transaction.
Despite its name, this constant only sets the smallest block size witnesses may vote for (config.hpp:391, hive_operations.cpp:312-325). It does not cap transactions.
The body must be non-empty UTF-8; otherwise only the transaction limit applies. Artwork posts published from 2026-09-04 to 2026-10-04 had a median body of about 26 kB, and the largest so far is 497,479 bytes (block 65,406).
Larger requests are refused with HTTP 413.
Since hardfork 28, a transaction may name an expiry up to 24 hours ahead. A node drops a transaction that is still unconfirmed 1 hour after it first saw it.
Checked when a node receives a transaction, before any signature is verified; not a block-validity rule (Transaction Lifecycle).
The execution-time part of the Resource Credit cost is multiplied by 1 + payload bytes ÷ 8,192, so a 64 KiB payload costs nine times a small one in that part (Resource Credits).
Tickets are claimed with Resource Credits instead of a fee.
Account recovery needs this history (hive_evaluator_account.cpp:578). Before hardfork 30 the chain recorded none, because the inherited start block, 3,186,477, lay in the future; since 2026-10-07 12:00 UTC every owner-key change is recorded, so a recovery can undo an owner change made after that moment, and none made before it (Keys and Recovery).
Since hardfork 28, the cost is a share of the full mana bar, whatever is left: 50 full-strength votes empty a full bar, and a vote's strength does not shrink as mana runs down.
Every vote loses this amount. On Pixa 1 VESTS ≈ 1 PIXA, against about 1,608 VESTS per HP on Hive, so Hive's 50,000,000 meant a full-strength vote needed more than 2,500 Pixa Power to count at all; hardfork 30 divided it by 1,000, and a full-strength vote now counts from more than 2.5 Pixa Power. On Hive the threshold is about 1.6 HP. Before hardfork 30 the deduction was Hive's (hive_evaluator_social.cpp:710-711).
Earlier votes earn more than later votes of equal weight.
Hardfork 29 lowered the reward fund's recent_claims to at most this value (database_hardfork.cpp:525-561). The value inherited from Hive had made early payouts too small to pay.
1 VESTS was worth 1 PIXA at genesis, and the ratio stays flat because nothing is added to the vesting fund without issuing VESTS (live: 1 VESTS = 1.0000000072 PIXA). On Hive the vesting reward adds HIVE to the fund without new VESTS, so each VESTS is worth more over time. The Hive figure is from 2026-10-05.
Issuance
New PIXA is created in every block. The yearly rate depends only on the block number h:
On Pixa: the PIXA supply plus the PXS outside the treasury, valued at the median feed.
Hive weights each block's witness pay so that 21 blocks' worth is spread over the scheduled witnesses; with fewer than 21, each block paid more, and on 2026-10-05 a block paid about 2.33 times the nominal share (0.329 PIXA). Since hardfork 30, while fewer than 21 witnesses are scheduled every block pays exactly the nominal share; a full schedule keeps Hive's weighting.
Hive converts each block's share to the debt token and rounds down to 0.001. At Pixa's scale one block's share is a few thousandths of a PXS, so the rounding cut the fund to about 74% of its share. Since hardfork 30 block n pays floor((n+1)x) − floor(nx) of the exact share x, which telescopes to the exact amount over consecutive blocks.
When an author's liquid half is converted to PXS, the PIXA that does not fit into a whole 0.001 PXS was burned; since hardfork 30 it is paid to the author as PIXA (Reward Examples).
What this means today. On 2026-10-08 a block's nominal issuance was about 0.936 PIXA (block 979,298):
Content: about 0.655 PIXA to the reward fund.
DPF: about 0.140 PIXA, which is 0.0027 PXS at the median; paid as 0.002 or 0.003 PXS a block so that the blocks together receive the exact share.
Witnesses: about 0.141 PIXA, paid as Pixa Power to the block's producer, who also takes the split's rounding remainder (producer_reward 0.140999 VESTS a block after hardfork 30, against 0.328999 before).
The chain issues the nominal amount, about 9.75% a year at today's block height. Before hardfork 30 it issued about 1.16 times that, about 11.3%, because of the witness weighting and despite the DPF's rounding loss (Supply, Inflation and Yield).
Pixa Supra (PXS) and the price feed
PXS promises no price. It has no peg, cannot be redeemed for money and pays no interest, and no one stands behind its value. The rows below are the rules the chain applies to it.
The feed software sets what a feed means. bigmac-feed v1.3.0, which the witness repository ships since 2026-10-30, prices one Big Mac in the local currency of the witness's country, or at a price the witness declares, and divides it by the fair value of PIXA's order book converted into that currency, so no currency is privileged (Oracle and Price Feed, Become a Witness). The feed software is not part of consensus.
The chain takes no sample in an hour when too few witnesses have a current feed; the median in force then stays as it was. get_config still prints HIVE_MIN_FEEDS: 7; the runtime check differs.
On 2026-11-03, at block 1,722,911; 51.833 on 2026-10-08. See the note below.
The debt ratio is the value of the PXS outside the treasury as a share of that PXS plus all PIXA. While it is under 20%, part of each author reward is paid in PXS. At or above 20%, that part is paid in PIXA (database.cpp:2943-2964).
Above 30%, one PXS converts to at most 3P ÷ 7S PIXA, where P is the PIXA supply and S the PXS outside the treasury (database.cpp:2500-2528).
The live median still rests on the placeholder. On 2026-10-08 every witness published 6.22 USD (a US Big Mac) ÷ 0.12 USD, an agreed placeholder price for PIXA. PIXA has traded on one market since 2026-10-15, and on 2026-11-03 the 21 scheduled witnesses published ten different feeds, from 31.731 to 70.792 PIXA per PXS: fourteen read the market, each with its own country's Big Mac, and seven still published the placeholder values 51.833 or 51.000. The seven sat in the middle of the feeds, so the hour's sample was 51.833, and 76 of the 84 samples behind the median of 51.000 were placeholder values (what the feeds read).
The same thresholds as collateral ratios. Let R be the value of all PIXA divided by the value of the PXS outside the treasury, both at the median feed. The debt ratio d and R are linked by R = 1/d − 1. This gives:
PXS printing stops at R ≤ 4×.
The haircut starts at R < 2.33×. Below that, a PXS settles for the factor min(1, 3R ÷ 7) of its feed value.
On 2026-10-08, R was about 1,145×: 100,780,034 PIXA against 1,699 PXS outside the treasury, at 51.833. On 2026-11-03, about 155×: 100,931,814 PIXA against 12,771 PXS, at 51.000.
The protocol has no upper threshold.
The PXS design notes describe a corridor of "roughly 3× to 10×"; the numbers on this page are the ones the chain enforces (the two compared).
On both chains steem.dao also counts as treasury. On Pixa, pixa.omnibus has no keys.
PIXA transferred to the treasury is converted at once, at the median. Any PIXA balance it holds converts at 0.05% per day (config.hpp:497, dhf_processor.cpp:342).
A proposal id is chain data, not a constant.
Each hour pays the difference between two running totals measured from the proposal's start, so the part below 0.001 PXS carries over instead of being discarded; before hardfork 30 a proposal paying less than 0.024 PXS a day received nothing.
Every call below works against any public node; api.pixagram.com is the default. That endpoint renames Hive's hbd_* fields to pxs_* (for example pxs_balance and current_pxs_supply); hived itself keeps Hive's field names.
Shellrpc(){curl-s-XPOSThttps://api.pixagram.com-H'Content-Type: application/json'\-d"{\"jsonrpc\":\"2.0\",\"method\":\"$1\",\"params\":$2,\"id\":1}";}
rpccondenser_api.get_dynamic_global_properties'[]'# supply, issuance split, block size, fund ledger
rpcdatabase_api.get_config'{}'# compiled constants
rpccondenser_api.get_chain_properties'[]'# witness medians: account fee, block size
rpccondenser_api.get_witness_schedule'[]'# scheduled witnesses, hardfork quorum
rpccondenser_api.get_feed_history'[]'# 84 hourly samples and the median in force
rpccondenser_api.get_reward_fund'["post"]'# curation share, curves, recent_claims
rpcdatabase_api.get_hardfork_properties'{}'# last and next hardfork
rpcdatabase_api.list_proposals'{"start":[""],"limit":50,"order":"by_creator","order_direction":"ascending","status":"all"}'
Figures you may meet elsewhere
You may read
What the chain does
"72 kB posts"
No such limit exists. Posts are bounded by the transaction limit and, through the public endpoint, by its request size (table).
"128 KiB transaction limit"
128 KiB is only the smallest block size witnesses may vote for.
"1,000+ transactions per second"
That is capacity, not a measurement. A 2 MiB block every 3 seconds can carry far more small operations, and no load test of Pixa has been published.
"21 witnesses"
Up to 21 are elected and 1 is required. Read the live count from get_witness_schedule.
"Deflationary"
PIXA is issued in every block (Issuance). The burns today are the account creation fee, the PIXA used up by PIXA → PXS conversions (5% fee included), and anything sent to null.
"17.5% of inflation to the DPF"
15% nominal; since hardfork 30 paid exactly, before it reduced by rounding (Issuance).
"PXS is pegged"
Nothing defends a PXS price. Witnesses report a Big Mac reference, and conversions settle at the median within the haircut.
"Zero fees"
Most operations carry no fee and consume Resource Credits instead. Three cost a fee: opening an account (or a ticket claimed with Resource Credits), creating a DPF proposal, and converting PIXA to PXS.