Hyperliquid Testnet and Faucet: How to Get Mock USDC, Testnet API Endpoints, HyperEVM Testnet (Chain ID 998) & Bot Testing (2026)

Hyperliquid testnet guide: how to use app.hyperliquid-testnet.xyz, claim 1,000 mock USDC from the faucet, testnet API and WebSocket endpoints, HyperEVM testnet RPC (chain 998) and bot testing (2026).

By Hyperliquid App DEX Editorial Team · Updated · 9 min read

Hyperliquid testnet is a full copy of the exchange running on play money: the same interface at app.hyperliquid-testnet.xyz, the same API at api.hyperliquid-testnet.xyz, and a faucet that hands out 1,000 mock USDC to wallets with mainnet history. It is where you practise trading, validate bots, and test HyperEVM contracts on chain ID 998 without risking a cent. As of September 2026 the testnet mirrors mainnet features closely, including HIP-3 markets and HIP-4 outcome markets. This guide covers what testnet is for, how to get faucet funds, every endpoint you need, how to use it for bots, and how it differs from mainnet.

Key takeaways

  • URL: app.hyperliquid-testnet.xyz for the app; https://api.hyperliquid-testnet.xyz for the API.
  • Faucet: 1,000 mock USDC per claim; requires a wallet that has deposited on mainnet.
  • HyperEVM testnet: chain ID 998, RPC https://rpc.hyperliquid-testnet.xyz/evm.
  • Same order types, same signing scheme, but a different chain ID so keys and signatures are not interchangeable with mainnet.
  • Books are thin and prices drift, so testnet is for correctness, not for measuring edge.
  • Best use: bot development, API integration testing, learning the interface before your first real deposit.

What the Hyperliquid testnet is for

Hyperliquid runs two networks. Mainnet is where real USDC and HYPE live and where $5–15B of perp volume trades daily. Testnet is a parallel deployment of the same node software, the same front end and the same API, with no real value. Validators run it, blocks are produced, orders match, liquidations fire, and vaults exist, but everything is denominated in mock USDC that the faucet gives away.

The main reasons people use testnet Hyperliquid:

  1. Learning the interface. If you have never used an on-chain order book with cross margin and 40x leverage, breaking things on testnet first is cheaper than learning on mainnet. The how to trade on Hyperliquid guide pairs well with an afternoon on testnet.
  2. Developing trading bots. Every REST call, WebSocket subscription and signing routine can be exercised against testnet before you connect real keys.
  3. Testing HyperEVM contracts. Chain ID 998 is a full EVM testnet with the same precompiles that let contracts read HyperCore state.
  4. Verifying new features. Hyperliquid Labs often ships new order types, markets or API changes to testnet a few days before mainnet.
  5. Reproducing bugs. When something misbehaves in production, testnet is where you isolate it.

What testnet is not for: estimating slippage, backtesting fill quality, or judging whether a strategy makes money. The books are thin and the prices are often stale, so any PnL number you see on testnet is meaningless.

Hyperliquid faucet: how to get mock USDC

The Hyperliquid faucet is built into the testnet app rather than being a separate website. Here is how to claim:

  1. Open app.hyperliquid-testnet.xyz.
  2. Connect a wallet. Use the same address you have used on mainnet; the faucet checks mainnet activity.
  3. Click Deposit. In the dialog you will see a Faucet option instead of the Arbitrum bridge.
  4. Click Claim. The faucet credits 1,000 mock USDC to your testnet perp account.
  5. Wait a few seconds and refresh. The balance shows under Perps.

Faucet eligibility and limits

The faucet was abused early on by bots draining it for testnet farming, so Hyperliquid added a gate: your address must have a deposit history on mainnet. In practice, any wallet that has bridged real USDC to mainnet at least once qualifies. If you see an "ineligible" message, bridge a small amount (the minimum is 5 USDC; see the bridge and deposit guide) and try again after the deposit confirms.

Claims are rate-limited per address; if you run out of mock USDC, you can usually claim again after a cooldown. There is no way to obtain more than the faucet provides except by winning it from other testnet traders.

Reminder: there is no faucet for real USDC on mainnet, and any site claiming to be one is a scam.

Hyperliquid testnet API endpoints

The Hyperliquid testnet API mirrors mainnet exactly, which is the whole point. Here is the endpoint map as of September 2026:

Purpose Mainnet Testnet
REST info (read-only queries) https://api.hyperliquid.xyz/info https://api.hyperliquid-testnet.xyz/info
REST exchange (signed actions: orders, cancels, transfers) https://api.hyperliquid.xyz/exchange https://api.hyperliquid-testnet.xyz/exchange
WebSocket wss://api.hyperliquid.xyz/ws wss://api.hyperliquid-testnet.xyz/ws
HyperEVM JSON-RPC https://rpc.hyperliquid.xyz/evm https://rpc.hyperliquid-testnet.xyz/evm
HyperEVM chain ID 999 998
Explorer app.hyperliquid.xyz/explorer app.hyperliquid-testnet.xyz/explorer
Trading app app.hyperliquid.xyz app.hyperliquid-testnet.xyz

Both /info and /exchange are POST endpoints that take JSON bodies. A minimal testnet read looks like this:

curl -X POST https://api.hyperliquid-testnet.xyz/info \
  -H "Content-Type: application/json" \
  -d '{"type":"meta"}'

That returns the list of perp markets on testnet with their size decimals and max leverage. To pull a user's testnet state:

curl -X POST https://api.hyperliquid-testnet.xyz/info \
  -H "Content-Type: application/json" \
  -d '{"type":"clearinghouseState","user":"0xYOUR_ADDRESS"}'

Rate limits on testnet match mainnet's structure: 1,200 weight per minute per IP on REST, and address-based limits on /exchange (an initial buffer of about 10,000 requests, then 1 request per $1 of cumulative volume traded). Because testnet volume is tiny, bots that hammer /exchange will hit 429 errors faster than they would on mainnet. Full endpoint documentation and error codes (422 for bad payloads or signatures, 429 for rate limits) are in the Hyperliquid API guide and the official API docs.

Using the Python SDK on testnet

The official hyperliquid-python-sdk ships with both URLs as constants:

from hyperliquid.info import Info
from hyperliquid.exchange import Exchange
from hyperliquid.utils import constants
import eth_account

info = Info(constants.TESTNET_API_URL, skip_ws=True)
account = eth_account.Account.from_key("0xYOUR_TESTNET_PRIVATE_KEY")
exchange = Exchange(account, constants.TESTNET_API_URL)

print(info.user_state(account.address))
order = exchange.order("ETH", True, 0.01, 3000, {"limit": {"tif": "Gtc"}})
print(order)

Swap constants.TESTNET_API_URL for constants.MAINNET_API_URL and change the key when you go live. The signing payload includes the chain identifier, so a signature generated for testnet is rejected by mainnet and vice versa; that is a feature, not a bug, because it means you cannot accidentally send a real order with testnet code.

HyperEVM testnet: chain ID 998

The Hyperliquid EVM testnet is the sandbox for smart-contract developers. Add it to your wallet with these settings:

  • Network name: HyperEVM Testnet
  • RPC URL: https://rpc.hyperliquid-testnet.xyz/evm
  • Chain ID: 998
  • Currency symbol: HYPE
  • Block explorer: the testnet explorer at app.hyperliquid-testnet.xyz/explorer, or third-party testnet explorers where available

To get testnet HYPE for gas, buy HYPE with mock USDC on the testnet spot market, then use the app's Transfer to EVM function to move it from HyperCore to HyperEVM. Because testnet HYPE is free, you can move as much as you need.

Development on HyperEVM testnet works with the standard toolchain: Hardhat, Foundry, ethers.js and viem all work once you set the chain ID. The unique part of HyperEVM is the precompiles that let contracts read HyperCore state (prices, positions, order books) and write actions to it; those precompiles are live on testnet and are where most of the interesting testing happens. The architecture is explained in the HyperEVM guide.

Remember that testnet HyperEVM, like mainnet, uses a dual-block model: small fast blocks and larger slow blocks. Contracts that depend on block timing should be tested with that in mind.

Using testnet for trading bots

The typical bot development workflow on Hyperliquid looks like this:

  1. Create an API wallet on testnet. In the testnet app, go to More > API and generate an agent key. This key can place and cancel orders for your address but cannot withdraw. Never reuse a mainnet API wallet on testnet or vice versa.
  2. Claim faucet USDC so the account has margin.
  3. Point the bot at testnet URLs and run it. Check that order placement, modification, cancellation, fills, and position tracking all match what the app shows.
  4. Subscribe to WebSocket streams (l2Book, trades, userFills, userEvents) and confirm your handler keeps up and reconnects cleanly.
  5. Test failure modes: what does your bot do on a 429? On a 422? When the WebSocket drops? Testnet is the only safe place to find out.
  6. Move to mainnet with a small balance and low leverage before scaling.

Bots that run on Freqtrade, Hummingbot or custom Python all support the testnet switch through configuration. For details on each framework, builder codes and safety practices, see Hyperliquid trading bots and builder codes.

👉 Open the Hyperliquid app and save 4% on fees

Differences between testnet and mainnet

Although the software is identical, the environment is not. Expect these differences:

Aspect Mainnet Testnet
Liquidity Deep; billions in daily volume Thin; often a handful of resting orders
Prices Track global markets via oracle and arbitrage Oracle prices are real, but book prices can drift far from them
Fills Realistic slippage Unrealistic; large orders may not fill at all
Funding rates Meaningful Often extreme because the book is imbalanced
Liquidations HLP backstop with real capital Backstop exists but behaves oddly in illiquid markets
Features Stable Sometimes ahead of mainnet by days; sometimes broken
Resets Never Occasional resets wipe balances and history
Assets USDC, HYPE, HIP-1 tokens, Unit assets Mock USDC and mock versions of most assets
Vaults HLP and hundreds of user vaults Test vaults with mock funds
Referral and fee tiers Active Present but meaningless

The single biggest trap is treating testnet PnL as a signal. A market-making bot that prints money on testnet is usually just capturing a wide, stale spread that would not exist on mainnet. Use testnet to confirm the code is correct, then use a tiny mainnet balance to confirm the strategy is.

Troubleshooting testnet problems

Problem Cause Fix
Faucet says ineligible No mainnet deposit history on this address Bridge 5+ USDC to mainnet with the same wallet, wait for confirmation, retry
Faucet button missing Connected to mainnet app by mistake Check the URL is app.hyperliquid-testnet.xyz
Orders rejected with 422 Signature built for wrong chain, wrong decimals, or price outside allowed band Use testnet constants in the SDK; round size/price to asset decimals; check meta for limits
429 rate limit Too many /exchange calls for the address's volume buffer Batch orders, add backoff, trade a little to expand the buffer
WebSocket disconnects Idle timeout or network Send pings, implement reconnect with resubscribe
Balance vanished Testnet reset Reclaim from faucet; nothing was lost
MetaMask cannot add chain 998 Typo in RPC or chain ID Re-enter https://rpc.hyperliquid-testnet.xyz/evm and 998
No testnet HYPE for EVM gas Have not transferred from HyperCore Buy HYPE on testnet spot with mock USDC, then Transfer to EVM
Position will not close No counterparty on thin book Use a market order with wide slippage tolerance or place a limit inside the spread
App shows features missing on mainnet Testnet is ahead Expected; wait for the mainnet release

Testnet safety notes

Testnet has no value, but that does not mean there is no risk:

  • Never use your mainnet private key in a testnet script. Use a dedicated API wallet or a throwaway key. Testnet is where people paste keys into code they later commit to GitHub.
  • Check the domain. Phishing sites imitating the testnet app exist and will happily collect your signature.
  • Do not confuse networks in your wallet. Sending real HYPE to a chain 998 address goes nowhere useful.
  • Treat testnet HYPE and USDC as worthless. Offers to "buy" testnet tokens are scams.

Bottom line

Hyperliquid testnet is a free, faithful sandbox: the same app, the same API at api.hyperliquid-testnet.xyz, and a HyperEVM testnet on chain ID 998, funded by a faucet that gives 1,000 mock USDC to any wallet with mainnet history. It is the right place to learn the interface, harden a bot, and test contracts, and the wrong place to judge whether a strategy is profitable, because the thin books make every fill unrealistic. Once your code and your confidence are ready, switch the URL, generate fresh keys, and start small on the Hyperliquid app DEX.

Frequently Asked Questions

How do I get Hyperliquid testnet USDC?

Go to app.hyperliquid-testnet.xyz, connect the same wallet you use on mainnet, and click the Faucet button in the Deposit dialog. The faucet sends 1,000 mock USDC. Wallets with no mainnet deposit history are usually rejected, so fund a mainnet account with a small amount first if the faucet says you are ineligible.

What is the Hyperliquid testnet API URL?

The testnet REST API is https://api.hyperliquid-testnet.xyz with the same /info and /exchange endpoints as mainnet, and the WebSocket is wss://api.hyperliquid-testnet.xyz/ws. In the official Python SDK, pass constants.TESTNET_API_URL instead of the mainnet URL. Signatures differ because the chain ID differs, so keys and payloads are not interchangeable.

What is the HyperEVM testnet chain ID?

HyperEVM testnet uses chain ID 998 with the RPC https://rpc.hyperliquid-testnet.xyz/evm. Mainnet HyperEVM is chain ID 999 at https://rpc.hyperliquid.xyz/evm. Add the testnet to MetaMask or Rabby manually with HYPE as the native gas token; you can get testnet HYPE by transferring mock funds from the testnet trading app to the EVM side.

Is Hyperliquid testnet the same as mainnet?

The interface, API and order types are identical, but the order books are thin and prices can diverge sharply from real markets, so fills and slippage are not representative. Use testnet to validate code and workflows, not to estimate strategy profitability. Testnet also resets occasionally and may lag mainnet features by a few days.

Can I use Hyperliquid testnet for trading bots?

Yes, that is its main purpose. Point your bot at the testnet API, use an API wallet generated on the testnet app, and run it against mock USDC. Once orders, cancels, fills and WebSocket streams behave as expected, switch the URL and keys to mainnet. Our bots guide covers the full workflow.

Ready to trade on the Hyperliquid app?

Open the official Hyperliquid DEX with our referral link and get a lifetime 4% discount on trading fees. No KYC, no gas fees, self-custody.

Open Hyperliquid App · Save 4%

Disclaimer: This article is for educational purposes only and is not financial, investment or legal advice. Perpetual futures trading with leverage carries a high risk of loss. Read our full disclaimer.