One standing warning
Nobody from Majestic will ever ask for your seed phrase or private key — not by email, not by WhatsApp, not by phone, not on any website. Anyone who does is attempting to steal from you, whatever they claim to be offering. Announcements appear only on majesticchain.io.
1. Why this document exists
Majestic Chain is moving to Polygon. Before holders are asked to claim anything, Majestic is publishing what it found when it examined the final state of the old network in full: how much of each token exists, who holds it, what will and will not carry over, and what was wrong with the system that held it.
Some of what follows is uncomfortable. It is published anyway, for a simple reason: the final state of the chain is a file, that file is held by more than one party, and anything stated here can be checked against it by anyone who obtains a copy. A reconciliation that only works if nobody looks is worthless.
Every figure in this document was derived directly from the chain export. The method is described well enough to be repeated.
2. How to check this yourself
Nothing here requires trusting Majestic.
- Balances. Any address can be looked up at
https://explorer.majesticchain.iowithout a wallet and without entering anything private. The underlying archive node is athttps://rpc.majesticchain.io. - The claim list. The set of addresses eligible to claim is published as a Merkle tree. Its root is
0xc54d4d8952d136d05cbaebb1dea706e937e2b518a76694ea7c10d4ca4d75ba97, covering 1,213 claims. The root is fixed at deployment and cannot be changed afterwards without redeploying the contract, which would be visible. - The export. The genesis export the figures come from is held by Majestic, by Majestic's CTO, and by the third-party firm that produced it.
3. Supply
3.1 MJT
The bank module of the final export records 15,212,814,312.37 MJT in existence. That figure is not the distributed supply, and the difference is the single most important number in this document.
| MJT | |
|---|---|
| Claimable by holders (1,213 addresses) | 1,390,463,406.53 |
| Majestic treasury | 8,759,406,802.05 |
| Total supply on Polygon | 10,149,870,208.58 |
| Protocol residue, not migrated | 5,062,944,103.79 |
The 10,149,870,208.58 MJT figure is what will exist on Polygon. It corresponds to the supply Majestic actually distributed. The remaining 5.06 billion was never distributed to anyone; section 4 explains what it is.
3.2 MJX
MJX was an ERC-20 contract on the old chain at 0xac06f92372714dF4D3d106Ab88dC1647b3b8afc2, with a recorded total supply of 25,000,000,000 MJX.
| MJX | |
|---|---|
| Claimable by holders | 1,222,924,365.19 |
| Majestic treasury | 23,767,762,893.44 |
| Total resolved | 24,990,687,258.63 |
| Unresolved (see 3.3) | 9,312,741.37 |
3.3 The 9.3 million MJX that cannot yet be matched to an address
45 MJX balances exist in the contract's storage but cannot be matched back to an address. This is a property of how Ethereum stores balances: the storage key is a one-way hash of the address, so a balance can be seen without the address being recoverable, unless that address appears somewhere else in the export. For these 45, it does not.
These balances total 9,312,741.37 MJX, about 0.037% of MJX supply. They are recorded, not written off. Majestic has requested a full address list from the firm holding the original node data. If you believe you hold MJX that is not showing up, contact Majestic — an address you supply can be hashed and checked against the unmatched set directly, which resolves the question immediately.
4. What does not carry over, and why
4.1 Unwithdrawn staking rewards — 4.96 billion MJT
The old chain ran an inflation mechanism that minted new MJT continuously, with a maximum rate of 20% annually. That mechanism was configured to target two thirds of supply being staked. In reality almost nothing was staked: about 9,810 MJT in total, across ten accounts of roughly 1,000 MJT each.
Because the inflation rate responds to how little is staked, it stayed pinned at its 20% maximum for approximately three and a half years, and the entire output accrued to those ten accounts. Their nominal entitlement came to roughly 496 million MJT each — about three and a half times the holdings of every other holder on the network combined.
No staking programme was ever offered to the public. None of these rewards were ever withdrawn. They were a side effect of a misconfigured protocol parameter, not a product anyone was sold.
These rewards will not be recreated on Polygon. Majestic's position is that honouring them would transfer the majority of the network's value to ten accounts on the basis of an accident, at the direct expense of every genuine holder. The underlying principal that was staked — the ~9,810 MJT — is unaffected, and the ordinary balances held by those same ten accounts migrate in full like everyone else's.
4.2 The community pool — 104 million MJT
A protocol-level pool that was never allocated or spent. Not migrated.
4.3 Protocol accounts with no owner
Three addresses holding MJT are Cosmos module accounts — addresses derived from a name rather than from a private key:
| Address | Purpose | MJT |
|---|---|---|
0x93354845030274cD4bf1686Abd60AB28EC52e1a7 | distribution (rewards + community pool) | 5,062,934,293.39 |
0x5911B844d7BC224654FE0DCd16BAbD2D253f2fdF | not-bonded staking pool | 7,810.40 |
0x4feA76427B8345861e80A3540a8a9D936FD39391 | bonded staking pool | 2,000.00 |
No private key exists for any of them. They are not withheld; they are unreachable. Minting them on Polygon would create supply that nobody could ever move, permanently overstating the circulating total. They are deliberately not minted.
5. Treasury
Majestic's treasury on Polygon is 8,759,406,802.05 MJT and 23,767,762,893.44 MJX. It is made up of:
- Three wallets belonging to Majestic's founder, excluded from the public claim list because they do not need to claim from it —
0x203523DB…D45f9,0xefB81155…C8FC,0x060742Df…A803c. - Two custodial wallets that belonged to the exchange, holding 19,182,414.05 MJT and 849,680,005.44 MJX. These were not beneficially owned by anyone at those addresses; they held customer funds. They are held in treasury specifically to fund exchange customer payouts (section 6), and were removed from the claim list so that the same balance could not be paid twice — once to whoever holds the custodial key, and again to the customer it belongs to.
6. Off-chain exchange balances
Separately from the chain, Majestic operated an exchange where users held balances as account entries rather than in their own wallets. The final ledger records 261 accounts:
| Total | of which locked | |
|---|---|---|
| MJT | 18,941,845.16 | 293,490.71 |
| MJX | 846,525,398.50 | 44,191,273.79 |
"Locked" balances were funds committed within the exchange rather than freely withdrawable. Locked balances are part of the total and are paid out in full. They are not treated differently and nothing is forfeited.
These accounts cannot be migrated through the on-chain claim process, because an account holder never controlled a blockchain address — there is no key to prove ownership with. They are handled through a separate claim route verified by email. Unclaimed balances return to the Majestic vault rather than being distributed to anyone else.
7. Security review of the old system
The following are findings about Majestic Chain and the exchange as they existed, established from the chain export and the exchange's own records.
7.1 MJX could have been rewritten by a single external key
MJX was deployed as an upgradeable proxy. A proxy separates the token's address from the code that runs behind it, and whoever controls the proxy's admin can replace that code at will.
MJX proxy 0xac06f92372714dF4D3d106Ab88dC1647b3b8afc2
implementation 0xA45de89AbF1376D448A01899A5E4168b70f16137
proxy admin 0x1173ae1233BEAb77456dBE9999C98996b00F5ca2
admin's owner → 0x4Fc5C6d8450852164d6A50bF8122ee9C8ea3178D (a single key)
The holder of that final key could have replaced the MJX implementation at any time, without notice or approval, and thereby minted unlimited MJX, frozen transfers, or rewritten balances outright. That key is not controlled by Majestic and holds exactly 1 MJT.
There is no evidence in the export that this power was ever exercised: supply reconciles, and the export is otherwise clean — no delegated authorisations, no fee grants, no vesting arrangements, no governance proposals. The finding is that the capability existed at all, undisclosed, in hands outside the company.
7.2 Governance could be decided by two machines
Only two validators were ever bonded to the network — aws_validator_21 and aws_validator_22 — holding 1,000 MJT each. Voting power in a proof-of-stake network is proportional to stake, so whoever operated those two nodes held 100% of the vote. The minimum deposit to raise a proposal was effectively zero.
No proposals were ever submitted, so nothing was decided this way. The vulnerability is that anything could have been.
7.3 The exchange ran on its software's default administrator account
The exchange was built on the OpenDAX stack, whose authentication component, Barong, ships with a seeded administrator account — admin@barong.io — whose default passwords are published in the project's own public documentation.
That account was still active in production, and held 3,689,971.51 MJX and 68,219.94 MJT.
7.4 An administrator account Majestic does not recognise
The exchange had three administrator accounts. One belongs to Majestic's CTO. One is the default account above. The third, at the highest privilege level recorded — higher than the CTO's own — was created by the contractor, without Majestic's knowledge or authorisation. Neither Majestic's founder nor its CTO created or approved it, and Majestic's founder was never told it existed.
Majestic's basis for this is set out in section 8: the contractor built and operated the exchange and held administrative control of it, the company retains the correspondence from the engagement, and the exchange databases are held by Majestic's CTO.
An exchange administrator can typically view every customer, adjust balances and approve withdrawals. Whether this access was ever used improperly cannot be determined from the balance export alone, which records end-state balances and not actions taken.
7.5 Majestic's own founder was not an administrator
The founder's exchange account carries ordinary member privileges. The system holding customer funds was administered entirely by others.
8. Attribution — Majestic's account
This section records Majestic's own account of events. It is testimony from the company, not a finding derived from the chain data, and is marked as such deliberately. Sections 3 to 7 stand on the records regardless of this section.
The exchange and the chain infrastructure were built and operated by an external development contractor, iotech, engaged by Majestic and since dismissed. This is attested by Majestic's Chief Technology Officer, who held the company's own administrator account on the exchange throughout the relevant period.
Administrative control of the exchange — the ability to create administrator accounts, view every customer, adjust balances and approve withdrawals — rested with that contractor. Majestic's founder was not an administrator of it at all (7.5).
Majestic's position is that the administrator account described in 7.4 was created by iotech. It was created within an administration iotech built, ran and controlled; neither of the two people inside Majestic who could have authorised such an account did so, and both attest to that; and Majestic's founder was never informed of its existence.
Majestic's evidence for this comprises the engagement records, the correspondence retained from the engagement, the attestation of its CTO, and the exchange databases, which remain in the CTO's possession and record the creation of accounts directly.
Majestic does not assert that any specific individual exercised the capabilities described in section 7, and nothing in the chain export shows that they were exercised. What the records establish is that those capabilities existed, undisclosed, in the hands of a contractor, and that the company which owned the system was not an administrator of it.
Majestic further states that it lost access to the running exchange infrastructure following the end of the engagement. The exchange databases themselves are retained by Majestic's CTO.
9. What has changed
The migration was designed around the findings above.
| Old failure | What replaces it |
|---|---|
| MJX was an upgradeable proxy | The new MJX is not upgradeable. The code at the address cannot be replaced. |
| One external key controlled the proxy | All four contracts are owned by a multi-signature wallet; no single key can mint, freeze or move treasury. |
| Governance decidable by two nodes | Majestic no longer runs its own validators. Polygon's consensus is independent of Majestic. |
| Default admin account left enabled | The exchange stack is not being recreated. |
| Balances could be rewritten | Claims are fixed by a Merkle root published before launch; entitlements cannot be altered after deployment. |
Status, stated honestly: the multi-signature handover is implemented and verified against the real snapshot on a test chain. It has not yet been executed on a live network, because nothing has yet been deployed to one. No contract will be deployed to Polygon without it. This document will be updated with the multi-signature address once it is live, so the claim can be checked rather than taken on trust.
10. Open items
Published for completeness.
- The 45 unmatched MJX balances (3.3) remain unresolved pending the original node data.
- The identity of
0x4Fc5C6d8450852164d6A50bF8122ee9C8ea3178D(7.1) is unknown. - The individual behind the third administrator account (7.4) is not named here. Majestic's position on its origin is in section 8.
- The Majestic Wallet mobile application crashes on launch for many users, for reasons internal to the application. Claiming does not depend on it: the claim portal runs in a browser. Holders' keys are unaffected and remain on their devices.
This document reports the recorded state of a network and a migration of existing balances between networks. It is not an offer to sell or a solicitation to buy any security or financial instrument. MJT and MJX confer no entitlement to revenue, profit, or distribution of any kind, and no return is offered, promised or implied. Figures are derived from the chain export at block height 13,834,806 and are stated to the precision recorded there.
← Back to The Migration