Docs
Contracts
Deployed testnet addresses, chain id and RPC.
Network
| Field | Value |
|---|---|
| Network | Elysium Testnet |
| Chain id | 99801 |
| RPC | https://testnet-rpc.elysium.kinetiq.xyz |
| Native currency | HYPE, 18 decimals |
Wallets that do not know the network can add it from the site: connect, then use "Switch to Elysium Testnet".
Deployed addresses
| Contract | Address | Role |
|---|---|---|
| DealFactory | Creates Deal clones, indexes deals, holds no funds | |
| DealImplementation | Logic every Deal clone delegates to | |
| Treasury | Receives the 1 % fee; no withdraw function | |
| TermRegistry | Lists official and custom Terms | |
| ArrhaLens | Stateless batched reads for the site | |
| TermGraduated | Term: launchpad graduation | |
| TermMarketCap | Term: TWAP market cap held for a period | |
| TermVolume | Term: volume since creation | |
| TermLiquidity | Term: liquidity held for a period | |
| TermListed | Term: HyperCore spot listing | |
| TermOath | Term: oath score | |
| TermClock | Term: linear vesting with pause | |
| MockLaunchpad | Testnet mock, permissionless | |
| MockListingOracle | Testnet mock, permissionless | |
| MockOath | Testnet mock, permissionless |
Addresses are read from packages/contracts/deployments/elysium-testnet.json, which the deploy script writes. The site never hard-codes them.
What each contract does
| Contract | Role |
|---|---|
| DealFactory | Creates Deal clones, moves the earnest into them, keeps the index of deals by payer, payee and subject token, and counts locked, released and refunded HYPE. Holds no funds. |
| Deal implementation | The logic every Deal clone delegates to. Locked; cannot be used directly. |
| Treasury | Receives the 1 % fee. No owner, no withdraw. buybackAndBurn() reverts with ArrhaNotLaunched(). |
| TermRegistry | Lists the seven official Terms and any custom Term registered by anyone. |
| ArrhaLens | Read-only helper that batches the views the site needs. Holds nothing, writes nothing. |
| TermGraduated | Graduated Term. Reads MockLaunchpad. |
| TermMarketCap | Market cap Term. 30 min TWAP, hold time, liquidity floor. |
| TermVolume | Volume since creation. |
| TermLiquidity | Liquidity held for a period. |
| TermListed | HyperCore spot listing. Reads MockListingOracle. |
| TermOath | Oath score. Reads MockOath. |
| TermClock | Linear vesting with pause. Partial settlement. |
| MockLaunchpad | Testnet launchpad. Anyone can graduate a token. |
| MockListingOracle | Testnet listing oracle. Anyone can set a listing. |
| MockOath | Testnet oath registry. Anyone can set a score. |
Demo tokens BRINE, MOSS and KEEL and their MockTwapPool contracts are deployed by the seed script and appear in the deal wizard, the ledger and on Earnest.
Interfaces
interface ITerm {
function check(address deal, bytes calldata data) external view returns (bool);
function describe(bytes calldata data) external pure returns (string memory);
}
Optional extensions: ITermObserver.observe(deal, data) for Terms that measure over time, IPartialTerm.releasableBps(deal, data) for partial Terms, and ITermProgress.progress(deal, data) for the raw numbers behind the boolean.
Source
Contract source, tests and scripts live in packages/contracts. Built with Foundry, Solidity 0.8.24, EVM target Shanghai. Unaudited testnet build.