Interact with the HPP Mainnet network — migrate assets, bridge to the native network, stake HPP, discover and claim airdrops, and explore the ecosystem. Built for fast, secure, and cost‑effective transactions on AI‑native infrastructure.
- Asset Bridging (to HPP Mainnet): Links to trusted bridges
- Arbitrum Official Bridge → HPP Mainnet
- Orbiter Bridge → fast L2 transfers
- Token Migration (AERGO → HPP on Ethereum): In‑app migration
- Staking (HPP on HPP chain): Stake / Unstake / Claim (+ wallet APR / dashboard)
- Ecosystem: Explore partners and integrations
- Airdrop: Discover, join, and claim HPP airdrop events (HPP / DApp / Collaboration). View eligibility, vesting overview, and claim tokens on the HPP chain.
- Web3 Integration: Reown AppKit + Wagmi + Viem
- Ethereum Mainnet
- Dev for ETH uses Sepolia
- HPP Mainnet (Arbitrum Orbit; chain id 190415)
- Dev: HPP Sepolia (chain id 181228)
/Home/migrationAERGO/AQT (ETH) → HPP (ETH) in‑app migration/bridgeBridges to HPP Mainnet — external links to Arbitrum Official Bridge and Orbiter/stakingHPP staking (stake / unstake / claim)/airdropAirdrop event list (tabs: HPP, DApp, Collaboration)/airdrop/[id]Airdrop detail — eligibility, vesting, claim/ecosystemHPP ecosystem overview
- Governance: AIP proposals and voting
https://snapshot.box/%5C#/s:hpp.eth
- Build: Developer docs and tools
https://docs.hpp.io/
- Staking guide
https://docs.hpp.io/community/staking-guide
- Block Explorer: HPP Mainnet and HPP Sepolia
- Mainnet:
https://explorer.hpp.io - Sepolia:
https://sepolia-explorer.hpp.io
- Mainnet:
- Install dependencies
yarn install- Create
.env.local(start from.env.example) and set the variables below
# Wallet modal chain selection (AppKit/Wagmi)
NEXT_PUBLIC_CHAIN=mainnet # or sepolia
# Reown/AppKit project id (https://dashboard.reown.com)
NEXT_PUBLIC_APP_KIT_PROJECT_ID=
# Public site URL used in metadata (OpenGraph/Twitter images, etc.)
NEXT_PUBLIC_SITE_URL=https://localhost:3000
# Ethereum contract addresses (use mainnet or sepolia addresses accordingly)
NEXT_PUBLIC_ETH_HPP_TOKEN_CONTRACT=0x...
NEXT_PUBLIC_ETH_AERGO_TOKEN_CONTRACT=0x...
NEXT_PUBLIC_ETH_AERGO_HPP_MIGRATION_CONTRACT=0x...
NEXT_PUBLIC_ETH_AQT_TOKEN_CONTRACT=0x...
NEXT_PUBLIC_ETH_AQT_HPP_MIGRATION_CONTRACT=0x...
# HPP chain config (used for staking reads/writes)
NEXT_PUBLIC_HPP_CHAIN_ID=190415
NEXT_PUBLIC_HPP_RPC_URL=https://...
NEXT_PUBLIC_HPP_TOKEN_CONTRACT=0x...
NEXT_PUBLIC_HPP_STAKING_CONTRACT=0x...
# Staking stats APIs (APR, pre-registration date, etc.)
NEXT_PUBLIC_HPP_STAKING_API_URL=https://...
# Blockscout API v2 proxy (used for activity/history)
NEXT_PUBLIC_HPP_BLOCKSCOUT_PROXY_URL=https://...- Run the app (HTTPS dev server enabled)
yarn devOpen https://localhost:3000.
yarn dev— start dev server with HTTPSyarn build— build for static exportyarn start— start production server (if applicable)yarn lint— lint
next.config.tsis configured withoutput: 'export'andtrailingSlash: true.- Build output is a static site suitable for static hosting providers.
- Next.js v15 (App Router), TypeScript
- Tailwind CSS v4 (utility‑first styling)
- Reown AppKit (wallet UX) + Wagmi + Viem
- AERGO (Mainnet) → HPP (ETH): Use the official Aergo Bridge
- AERGO (ETH) → HPP (ETH): Use the in‑app migration page (
/migration) - HPP (ETH) → HPP Mainnet: Use the Arbitrum Canonical Bridge
- List (
/airdrop): Events by type (HPP / DApp / Collaboration); responsive layout (accordion + table on mobile/tablet, table on desktop). Data fromNEXT_PUBLIC_HPP_STAKING_API_URL(e.g./airdrop/type/{type}). - Detail (
/airdrop/[id]): Eligibility status, vesting overview (vested / not vested), claim-only flow (HPP chain), history when eligible. Dynamic metadata (OG/twitter) uses event name when available. - Env:
NEXT_PUBLIC_HPP_STAKING_API_URLand contract address from API/detail payload for vesting and claim.
- Claimable: derived from cooldowns; latest first; auto‑updates when ready.
- Countdown: 1s tick; local timezone; no refetch flicker.
- Precision: raw amounts; floored display via
formatTokenBalance; clean percent inputs. - Chain:
useHppChain+useEnsureChainfor switching; explorer links on success. - Toasts: unified loading/success/error/info with optional link actions.
src/app/airdrop/AirdropClient.tsx— airdrop list page (tabs, accordion/table)src/app/airdrop/[id]/AirdropDetailClient.tsx— airdrop detail (eligibility, vesting, claim, history)src/app/airdrop/abi.ts— vesting contract ABI (claimTokens, etc.)src/app/staking/StakingClient.tsx— staking UI and on‑chain interactionssrc/app/staking/abi.ts— minimal ABIs incl.cooldownDuration,getCooldownArrayInfo,getCooldownsrc/app/staking/hppClient.ts—useHppChain(),useHppPublicClient(); single source of HPP chain truthsrc/lib/wallet.ts—useEnsureChain()to reliably switch/add chains across desktop & mobile walletssrc/lib/helpers.ts—formatTokenBalance,formatDisplayAmount, percent helpers using Big.js (no floating point drift)src/lib/dayjs.ts— dayjs init + duration plugin (single registration)src/hooks/useToast.tsx— unified toasts with link actions