Test page · simulationYour liquid and staked HEX are read from Ethereum. Separate pool from the XEN claim. The claim is only recorded on the demo server: signing is free, no transaction is sent and no XCORE moves.Signature only · no tokens move
Loading snapshot…

Claim XCORE

HEX holders · test

HEX pool · separate from XEN. The HEX and XEN claims draw from two independent pools. Held both? You can claim both: this page for HEX, /claim for XEN. Claiming one never reduces the other.

1HEX wallet · Ethereum · liquid + stakednot connected
HEX—
Liquid
—
Staked principal
—
Total counted
—
Connect to read your HEX at the snapshot block
2XCORE goes to · Solana / X1
XCORE0
Estimated XCORE · example parameters, not final
Snapshot
—
Balance source
—
HEX counted
Liquid + staked principal stakedHearts
Pool
HEX pool separate from XEN
Allocation rule
—
Minimum HEX
—
Network fee
None signature only, no gas

You sign a free message (personal_sign) that names your Ethereum address, the destination and a one-time code. No transaction, no approval, no gas.

HEX snapshotEthereum mainnet
Snapshot block
—
Block time
—
Liquid supply (totalSupply)
—
Staked principal (lockedHeartsTotal)
—
Counted supply (liquid + staked)
—
HEX claims recorded
—

Balances are read with balanceOf at the snapshot block from a public Ethereum archive RPC.

What counts: liquid + staked principal. Liquid = balanceOf(address). Staked = the sum of stakedHearts (the HEX principal locked at stakeStart) over every entry in stakeLists(address, i) for i < stakeCount(address), all read at the snapshot block. HEX deletes a stake from that list when it is ended, so this includes every stake that was started and not yet ended (active, pending, or matured but not ended).

Not counted: T-shares (stakeShares, not HEX), interest/yield accrued on stakes (only known when a stake ends, and end penalties can change it), and stakes already ended before the snapshot (their HEX is back in balanceOf).

HEX contract 0x2b59…Eb39 ↗ (8 decimals). HEX also exists on PulseChain; this test checks Ethereum mainnet only. PulseChain is a follow-up.

Allocation

Example parameters · not final

—

Separate pool. This HEX pool is independent of the XEN pool on /claim. Sizes for both are open and not final.

XCORE pool
—
Minimum HEX
—
Cap per address
—
Claims per address
1

None of these numbers are decided. The pool size, formula, minimum, cap, snapshot block, chains and claim window are open decisions.

Recent HEX claims

Simulated
TimeEthereumSolana / X1XCORESource

No claims yet.

How it works

  1. Snapshot. Liquid HEX and active stakes are fixed at one Ethereum block, so buying, moving, staking or ending stakes afterwards changes nothing.
  2. Prove the wallet. Connect the Ethereum wallet that held HEX and sign a free message. The message names that address, your Solana / X1 destination, the snapshot block, a one-time code and an expiry. The server checks the signature and that the code was never used.
  3. Claim. The allocation is computed from your liquid + staked HEX at the snapshot and recorded once per Ethereum address, from the HEX pool. A XEN claim is separate and unaffected.

On this test page

Liquid balances and stakes come live from a public Ethereum archive RPC at the snapshot block (one Multicall3 eth_call for balanceOf + stakeCount, then stakeLists in batches of 200). Claims are stored in the demo database. No XCORE exists yet and nothing is sent. Admins can give a test wallet a test HEX balance.

In production

  • Index every HEX holder at the snapshot block from Transfer logs (or an indexer), compute every allocation and publish the full list plus its Merkle root.
  • A claim program on Solana / X1 holds the XCORE pool and stores the root. The Ethereum signature binds the HEX address to one destination; the destination then submits the Merkle proof and receives XCORE.
  • No Ethereum transaction and no ETH gas for holders. The destination pays a tiny Solana / X1 fee to receive the tokens.
  • Contract wallets (multisigs) need EIP-1271 signature checks; this test supports normal wallets only.
  • Staked HEX for every holder: enumerate stakers from StakeStart / StakeEnd logs up to the snapshot (or read stakeLists for every address that ever staked) and add each address's unended stakedHearts to its liquid balance.

Connect HEX wallet

Use the Ethereum wallet that held HEX at the snapshot.

Other Ethereum wallets · secondary

Connecting shares your public address. You only sign a free message when you press Claim.