Pixa
GitHub

Chain Parameters

Status: Live

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. When witnesses publish new values.
Genesis Set once, at block 0. Never.
State Computed by the chain as it runs. Continuously. Read it live with the calls in Reading live values.
Software 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.

Network identity

Parameter Hive 1.28.7 Pixa 1.30.0 Kind Source
Chain ID beeab0de… 70697861… ¹ Consensus config.hpp:145
Public-key prefix STM PIX Consensus config.hpp:215
Liquid token HIVE PIXA Consensus asset_symbol.hpp:44-45
Second token HBD PXS ² Consensus asset_symbol.hpp:44-45
Staked unit VESTS VESTS ³ Consensus asset_symbol.hpp:20-28
Asset ids (NAI) and decimals @@000000021 (3) · @@000000013 (3) · @@000000037 (6) same Consensus asset_symbol.hpp:20-28
Legacy symbol bytes STEEM · SBD PIXA · PXS ⁴ Consensus asset_symbol.hpp:41-56
Genesis 2016-03-24 16:00 UTC 2026-09-04 12:00 UTC ⁵ Genesis config.hpp:155
Release 1.28.7 1.30.0; nodes run 1.30.1 ⁷ Software config.hpp:143
Hardforks 28 30 ⁶ Consensus get_hardfork_properties
  1. The ASCII bytes of pixagram, zero-padded to 32 bytes.
  2. Pixa Supra. PXS promises no price; its rules are in Pixa Supra (PXS) and the price feed.
  3. Called Pixa Power (PXP) in prose.
  4. These are the symbol bytes in the legacy, pre-NAI wire format. Clients that hard-code Steem's bytes produce invalid signatures.
  5. A new chain: no balances were carried over from Steem or Hive. What genesis created is in Genesis.
  6. 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.
  7. 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).

Genesis

Parameter Hive 1.28.7 Pixa 1.30.0 Kind Source
Liquid tokens at genesis — 0 PIXA Genesis database_init.cpp:386-421
Stake at genesis — 100,000,000 VESTS, backed by 100,000,000 PIXA Genesis database_init.cpp:386-421
pixa.rex — 75,000,000 VESTS Genesis database_init.cpp:390-392
pixa.team — 25,000,000 VESTS Genesis database_init.cpp:390-392
pixa.omnibus (treasury) — 245,098.039 PXS ¹ Genesis database_init.cpp:390-392
Airdrop or mining — none Genesis —
  1. 25,000,000 PIXA ÷ 102, the genesis feed of 102 PIXA per PXS. The accounts and their rules are on System Accounts.

Blocks and witnesses

Parameter Hive 1.28.7 Pixa 1.30.0 Kind Source
Block interval 3 s 3 s Consensus config.hpp:59
Witness slots per round 21 (20 elected + 1 timeshare) same Consensus config.hpp:65, 230-232
Witnesses scheduled 21 21 on 2026-11-03; 8 on 2026-10-08 State get_witness_schedule
Witnesses to run the chain — up to 21 elected, 1 required Consensus config.hpp:65
Approval a witness needs to be scheduled none 1% of all VESTS, since HF30 ¹ Consensus witness_schedule.cpp:155-159
Irreversibility a supermajority of scheduled witnesses same Consensus config.hpp:407
Hardfork activation a supermajority of scheduled witnesses same Consensus get_witness_schedule
Witness votes per account 30 30 Consensus config.hpp:256
Proxy chain depth 4 4 Consensus config.hpp:238
  1. A witness enters the schedule once accounts holding at least 1% of all outstanding VESTS approve it (Witnesses and DPoS).

Transaction and block size

Parameter Hive 1.28.7 Pixa 1.30.0 Kind Source
Maximum block size, allowed range 64 KiB – 2 MiB 128 KiB – 2 MiB Consensus config.hpp:391-392
Maximum block size, live median 65,536 bytes 2,097,152 bytes Witness median get_chain_properties
Largest transaction 65,280 bytes ¹ 2,096,896 bytes ¹ Witness median database.cpp:576-582
HIVE_MAX_TRANSACTION_SIZE 64 KiB 128 KiB ² Consensus config.hpp:390
custom / custom_json payload 8 KiB 64 KiB Consensus config.hpp:452
Post body no own limit ³ no own limit ³ Consensus hive_operations.cpp:123-138
Request size at api.pixagram.com — about 1 MiB ⁴ Software measured 2026-10-05
Transaction expiry up to 24 h ahead up to 24 h ahead ⁵ Consensus config.hpp:235-236, database.cpp:2552-2557
Signatures per transaction bounded by size only, about 1,000 1,000, since 1.30.0 ⁶ Software config.hpp:282, database.cpp:585-595
custom / custom_json cost flat grows with the payload, since HF30 ⁷ Consensus config.hpp:269, resource_count.cpp:434-449
  1. The live maximum block size minus 256 bytes, checked when a node accepts a transaction.
  2. 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.
  3. 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).
  4. Larger requests are refused with HTTP 413.
  5. 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.
  6. Checked when a node receives a transaction, before any signature is verified; not a block-validity rule (Transaction Lifecycle).
  7. 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).

Accounts and keys

Parameter Hive 1.28.7 Pixa 1.30.0 Kind Source
Account name length 3–16 3–16 Consensus config.hpp:374-375
Account creation fee, floor 0.001 HIVE 0.001 PIXA Consensus config.hpp:167
Account creation fee, live median 3.000 HIVE 20.000 PIXA ¹ Witness median get_chain_properties
Free account tickets subsidy budget 797, decay 347,321 same ² Witness median config.hpp:443-445
Owner-key recovery window 30 days 30 days Consensus config.hpp:170
Recovery request lifetime 1 day 1 day Consensus config.hpp:171
Owner-key changes 2 per 60 min 2 per 60 min Consensus config.hpp:172, owner_update_limit_mgr.cpp:15-25
Owner-key history recorded from block 3,186,477 block 949,330, hardfork 30 ³ Consensus database.cpp:1733-1737, config.hpp:173
Keys and accounts per authority 40 40 Consensus config.hpp:401
Memo size under 2,048 bytes under 2,048 bytes Consensus config.hpp:237
  1. The fee is burned: it is paid to null (hive_evaluator_account.cpp:193).
  2. Tickets are claimed with Resource Credits instead of a fee.
  3. 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).

Posts and comments

Parameter Hive 1.28.7 Pixa 1.30.0 Kind Source
Payout window 7 days 7 days Consensus config.hpp:160
Title under 256 bytes same Consensus config.hpp:454
Permlink under 256 bytes same Consensus config.hpp:378
Beneficiaries per post 8 ¹ 8 ¹ Software config.hpp:302, 453
Reply depth 255 ¹ 255 ¹ Software config.hpp:300-301
Interval between top-level posts 5 min 5 min Consensus config.hpp:45
Interval between replies, and between edits 3 s 3 s Consensus config.hpp:46-47
Minimum payout 0.020 HBD 0.020 PXS Consensus config.hpp:363
Late-vote damping last 12 h last 12 h ² Consensus config.hpp:164, hive_evaluator_social.cpp:713-718
  1. The limit that nodes apply when accepting transactions. Consensus allows up to 127 beneficiaries and a reply depth of 65,535.
  2. Votes are accepted until payout, but in the last 12 hours each vote's rshares, up or down, are multiplied by the time left ÷ 12 hours.

Voting and curation

Parameter Hive 1.28.7 Pixa 1.30.0 Kind Source
Voting mana recharge 5 days 5 days Consensus config.hpp:246
Cost of a full-strength vote 2% of full mana 2% of full mana ¹ Consensus database_hardfork.cpp:311, hive_evaluator_social.cpp:663-690
Downvote mana 25% of voting mana same Consensus config.hpp:251
Vote dust deduction 50,000,000 rshares 50,000 rshares, since HF30 ² Consensus config.hpp:260, hive_evaluator_social.cpp:710
Curation share of post rewards 50% 40% Consensus database_hardfork.cpp:451
Author reward curve linear convergent linear Consensus database_hardfork.cpp:494-496
Curation reward curve linear convergent square root ³ Consensus database_hardfork.cpp:494-496
Content constant s 2,000,000,000,000 2,500 Consensus config.hpp:271
Curation weight by vote age full · ½ after 24 h · ⅛ after 72 h same Consensus config.hpp:189-190
Reverse auction none none Consensus config.hpp:188
Claims decay 15 days 15 days Consensus config.hpp:324
Reward-fund reset — at most 2.75 × 10¹³ ⁴ Consensus config.hpp:273-294
  1. 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.
  2. 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).
  3. Earlier votes earn more than later votes of equal weight.
  4. 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.

Pixa Power (staking)

Parameter Hive 1.28.7 Pixa 1.30.0 Kind Source
VESTS per liquid token about 1,608, falling 1, flat ¹ Genesis / State config.hpp:53
Reward for holding stake 15% of issuance 0 Consensus database_hardfork.cpp:430-432
Power-down 13 weekly instalments same Consensus config.hpp:240-241
Power-down routes 10 10 Consensus config.hpp:242
Delegation return 5 days 5 days Consensus config.hpp:417
Governance weight of new stake, rewards excepted after 30 days after 30 days Consensus config.hpp:185
  1. 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:

rate(h) = max( 9.78% − 0.01 percentage points × floor(h / 250,000) , 0.95% )

The constants are Hive's (config.hpp:260-262, database.cpp:1732-1737). Pixa counts h from its own genesis, so it restarted Hive's schedule at the top.

Parameter Hive 1.28.7 Pixa 1.30.0 Kind Source
Rate today 5.36% 9.75% State formula, at the live block
Floor of 0.95% reached block 220,750,000 same, about 2047 Consensus formula
Base supply + non-treasury debt token at the median ¹ same Consensus database.cpp:1740-1752
Split: content / stake / fund / witnesses 65 / 15 / 10 / 10% 70 / 0 / 15 / 15% Consensus config.hpp:267-268, database_hardfork.cpp:430-432
Witness share per block nominal ² nominal, since HF30 ² Consensus database.cpp:1803-1828
Fund share per block converted to HBD, rounded down ³ converted to PXS, exact over consecutive blocks, since HF30 ³ Consensus database.cpp:1832-1839, dhf_funding.hpp
Author's PXS, rounding remainder burned paid as PIXA, since HF30 ⁴ Consensus database.cpp:998-1019
  1. On Pixa: the PIXA supply plus the PXS outside the treasury, valued at the median feed.
  2. 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.
  3. 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.
  4. 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.

Parameter Hive 1.28.7 Pixa 1.30.0 Kind Source
What a feed states HIVE per HBD (US dollar) PIXA per PXS (one Big Mac) ¹ Software bigmac-feed
Feed sample hourly, middle feed same Consensus config.hpp:192
Feeds needed for a sample 7 a quorum of the scheduled witnesses ² Consensus database.cpp:2445-2447
Feed lifetime 7 days 7 days Consensus config.hpp:195
Median in force last 84 samples (3.5 days) same Consensus config.hpp:194
Genesis median none 102 PIXA per PXS Genesis database_init.cpp:433-441
Live median — 51.000 PIXA per PXS ³ State get_current_median_history_price
Interest savings only; witness median, 10% live 0, liquid or in savings, enforced ⁴ Consensus hive_operations.cpp:329-336
Printing stops at debt ratio 20% 20% ⁵ Consensus config.hpp:369-370
Haircut starts at debt ratio 30% 30% ⁶ Consensus config.hpp:372
Conversion PXS → PIXA 3.5 days, at the median same ⁶ Consensus config.hpp:199
Conversion PIXA → PXS 200% collateral, 5% fee, 3.5 days same ⁷ Consensus config.hpp:201-202
Savings withdrawal 3 days 3 days Consensus config.hpp:204
  1. 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.
  2. 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.
  3. On 2026-11-03, at block 1,722,911; 51.833 on 2026-10-08. See the note below.
  4. Witnesses cannot publish any other value (hive_operations.hpp:432).
  5. 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).
  6. 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).
  7. Refused if PXS would pass 20% (hive_evaluator_transfer.cpp:579-580).

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).

Decentralized Pixa Fund (DPF)

Parameter Hive 1.28.7 Pixa 1.30.0 Kind Source
Treasury account hive.fund pixa.omnibus ¹ Consensus config.hpp:482-483
Daily budget 1% of treasury, paid hourly same Consensus dhf_processor.cpp:153-158
Hourly proposal pay rounded down to 0.001 each hour exact over the proposal's life, since HF30 ⁴ Consensus dhf_processor.cpp:188-208
Liquid tokens in the treasury converted to HBD converted to PXS ² Consensus hive_evaluator_transfer.cpp:266-285
Proposal fee 10 HBD + 1 per day beyond 60 10 PXS + 1 per day beyond 60 Consensus config.hpp:490-496
Proposal subject 80 bytes 80 bytes Consensus config.hpp:491
Governance vote lifetime 365 days 365 days Consensus config.hpp:178
Return proposal id 0 id 2 ³ State list_proposals
  1. On both chains steem.dao also counts as treasury. On Pixa, pixa.omnibus has no keys.
  2. 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).
  3. A proposal id is chain data, not a constant.
  4. 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.

Resource Credits

Parameter Hive 1.28.7 Pixa 1.30.0 Kind Source
Recharge 5 days 5 days Consensus config.hpp:509
Cost of an operation set by network load same State rc_api.get_resource_pool, rc_api.get_rc_stats

Reading live values

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 -X POST https://api.pixagram.com -H 'Content-Type: application/json' \
  -d "{\"jsonrpc\":\"2.0\",\"method\":\"$1\",\"params\":$2,\"id\":1}"; }

rpc condenser_api.get_dynamic_global_properties '[]'   # supply, issuance split, block size, fund ledger
rpc database_api.get_config '{}'                        # compiled constants
rpc condenser_api.get_chain_properties '[]'             # witness medians: account fee, block size
rpc condenser_api.get_witness_schedule '[]'             # scheduled witnesses, hardfork quorum
rpc condenser_api.get_feed_history '[]'                 # 84 hourly samples and the median in force
rpc condenser_api.get_reward_fund '["post"]'            # curation share, curves, recent_claims
rpc database_api.get_hardfork_properties '{}'           # last and next hardfork
rpc database_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.