Enter VELA World
Join the VELA Presale

Crypto is high risk, you could lose all your money. Not available to UK residents. NFA. DYOR.

Presale opens in

—Days
—Hours
—Mins
—Secs
Developers · public testnet

Build on Velana Testnet

An EVM testnet with a public RPC, a free faucet and a live explorer. Use Remix, Hardhat or Foundry exactly as you do on Ethereum, and deploy your first contract in a few minutes.

Get free test VELADeploy your first contract

Test VELA is free and has no monetary value. Never pay anyone for it. Official VELA is a separate token on Base.

Network details

Network name
Velana Testnet
Chain ID
484148 (hex 0x76334)
Currency symbol
VELA (test VELA, 18 decimals, no monetary value)
Public RPC (HTTPS)
https://velanachain.com/rpc
Explorer
https://velanachain.com/explorer/
Faucet
https://velanachain.com/faucet.html (10 test VELA per address every 24 h)
Live stats
https://velanachain.com/stats/ ·
Blocks
8 Besu validators (QBFT consensus) on 4 servers. Blocks are at least 2 s apart when there are transactions; an empty block every 30 s when idle. Tolerates 2 validators down.
EVM version
Cancun · Solidity 0.8.24 recommended
WebSocket
Not available (HTTPS JSON-RPC only)

Chain ID 484148 is an experimental testnet ID. The testnet may be reset, and test assets can disappear.

Check the RPC with curl
curl -s https://velanachain.com/rpc \
  -H 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'
# {"jsonrpc":"2.0","id":1,"result":"0x76334"}

Add Velana Testnet to MetaMask

One click adds the network to MetaMask (or any wallet that supports wallet_addEthereumChain, such as Rabby, Coinbase Wallet or Phantom's EVM mode). Your wallet asks you to approve it.

Adding it by hand? Use Settings → Networks → Add a network manually with the details above: RPC https://velanachain.com/rpc, chain ID 484148, symbol VELA, explorer https://velanachain.com/explorer/.

Use a new wallet account just for testing. Do not use an account that holds real funds, and never share a seed phrase or private key with anyone, including us.

Deploy your first contract

  1. Add the network with the button above.
  2. Get test VELA for your test account from the faucet. Deploying Greeter costs a tiny fraction of one test VELA.
  3. Pick a tool below, paste the contract and deploy.
  4. Check it by searching the contract address in the explorer.
Greeter.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

contract Greeter {
    string public greeting = "Hello, Velana";
    event Greeted(address indexed by, string greeting);

    function setGreeting(string calldata g) external {
        greeting = g;
        emit Greeted(msg.sender, g);
    }
}

Remix: deploy from your browser

  1. Open remix.ethereum.org. In the File explorer, create Greeter.sol and paste the contract above.
  2. Open Solidity compiler, choose compiler 0.8.24, open Advanced configurations and set EVM version to cancun. Click Compile Greeter.sol.
  3. Open Deploy & run transactions. Set Environment to Injected Provider - MetaMask. MetaMask connects; make sure it shows Velana Testnet and Remix shows Custom (484148) network.
  4. Pick Greeter and click Deploy, then confirm in MetaMask. The contract appears under Deployed Contracts. Click greeting to read it, or call setGreeting to change it.
  5. Copy the contract address and paste it into the explorer search.

Hardhat

Terminal
mkdir velana-hello && cd velana-hello
npm init -y
npm install --save-dev hardhat@^2 @nomicfoundation/hardhat-toolbox@^5
npx hardhat init        # choose "Create a JavaScript project"
# put Greeter.sol in contracts/, the config and deploy script below in place, then:
export VELANA_TEST_KEY=0x...   # key of a NEW, empty test wallet only. Never a wallet with real funds.
npx hardhat run scripts/deploy.js --network velana
hardhat.config.js
// hardhat.config.js
require("@nomicfoundation/hardhat-toolbox");

module.exports = {
  solidity: { version: "0.8.24", settings: { evmVersion: "cancun" } },
  networks: {
    velana: {
      url: "https://velanachain.com/rpc",
      chainId: 484148,
      accounts: process.env.VELANA_TEST_KEY ? [process.env.VELANA_TEST_KEY] : [],
    },
  },
};
scripts/deploy.js
// scripts/deploy.js
const hre = require("hardhat");

async function main() {
  const greeter = await hre.ethers.deployContract("Greeter");
  await greeter.waitForDeployment();
  const addr = await greeter.getAddress();
  console.log("Greeter deployed to", addr);
  console.log("Explorer: https://velanachain.com/explorer/#/address/" + addr);
  console.log("Greeting:", await greeter.greeting());
}

main().catch((e) => { console.error(e); process.exitCode = 1; });

Tested on 14 Nov 2026 with Hardhat 2 and hardhat-toolbox 5. For Hardhat 3, use the same network values (url, chainId: 484148) in its config format.

Foundry

foundry.toml
[profile.default]
src = "src"
out = "out"
libs = ["lib"]
solc_version = "0.8.24"
evm_version = "cancun"

[rpc_endpoints]
velana = "https://velanachain.com/rpc"
Terminal
# 1. Install Foundry (https://getfoundry.sh) and start a project
curl -L https://foundry.paradigm.xyz | bash && foundryup
forge init velana-hello && cd velana-hello

# 2. Put Greeter.sol in src/ and the foundry.toml above in the project root

# 3. Use a NEW, empty test wallet only. Import its key (you are prompted; it is stored encrypted)
cast wallet import velana-test --interactive
cast wallet address --account velana-test     # copy this address into the faucet

# 4. Check the network, then deploy
cast chain-id --rpc-url velana                # 484148
forge create src/Greeter.sol:Greeter --rpc-url velana --account velana-test --broadcast

# 5. Read it back
cast call <DEPLOYED_ADDRESS> "greeting()(string)" --rpc-url velana

Contract addresses

Velana Testnet (chain 484148). Links open in our explorer.

ContractAddressWhat it does
VELA World land (VelanaWorld)0x681Fd6bDd52584c513d0bBf306E8AC21a6aa92f3 Plots: claim, transfer, set plot data. Views: plot(id), page(), totalClaimed()
LandMarket0x5FEb379932C5ebb5ccC9fbfcf49413Fb38E24261 Buy/sell plots, rent buildings by the day, build and upgrade. Views: openSales(), allRentals(), allBuilds(), items()
VELA World shop and ads market0x6858f6A56959f419E976a6778d7Cfd68f1d8E177 In-world shop items and plaza ad slots (test VELA)
Token launcher (VelanaTokenFactory)0x73dCdB0A0f493daCF44dd5b553beB36B9118e1fF Creates ERC-20 test tokens from /launch/
Team vesting lock (VelanaVestingLock)0x9EAD99288FB89FC609782909344284FB2eC95f97 Public vesting locks for launcher team allocations
Vel Pay (testnet)0x2b1a07E1260200F54dd0A205E61e94dD8CE71b95 Payment requests used by /pay/ and Store Launch
EntryPoint (ERC-4337 v0.7)0xA9225046D3C57549515908B2090b716920DfE28a Runs passkey-wallet operations (userOps); used by the Velana bundler at /aa-api/
Passkey account factory (VelanaAccountFactory)0x49af61709f2b46D2ca40c888D52d3bcfd9E05DD3 Creates Face ID / fingerprint (WebAuthn P-256) smart accounts at a fixed address. getAddress(x, y, recovery, index)
Gas sponsor (VelanaSponsorPaymaster)0xc4158cBFBd3ecA19A6D45b4B38667F919162BC54 Pays test gas for approved Velana apps, with daily caps and a per-operation cost cap
.vela names (VelaNames)0xcceC2f30191198B8F8d9974dACAef14AB66b1E76 Registry + resolver: register(name), resolve(name), nameOf(address), namesOf(addresses), text(name, key)
Vel Pay primitives (VelPayPrimitives)0xb0dF274A646e646F69be353C82E12Da139b25979 Invoices, subscriptions, refunds, escrow and split payments in test VELA. No admin, no fee

Passkey wallet + gasless SDK: /sdk/velana-wallet.js (Face ID / fingerprint smart accounts, sponsored gas), /sdk/velana-names.js and /sdk/velpay-primitives.js. All addresses as JSON: /sdk/contracts.json. Try them: passkey wallet, .vela names, Vel Pay primitives.

Base mainnet (chain 8453). Links open on BaseScan.

ContractAddressNotes
VELA token (official)0x87253DbF72E33Cf9C04F9c8E90350E68b101507F ERC-20, fixed supply
VELA presale0x93BDf334Fac082F00d603F4Ab44B15150a1D6185 Presale contract. Crypto is high risk, you could lose all your money. Not available to UK residents.
Vel Pay0xD3c2eF55397551f6665910AA6B30EBfD77158c6b Non-custodial payments contract

Always check a contract address against this page or how to check the official VELA contract before you interact with it.

RPC and faucet limits

RPC rate limit
240 requests per minute per IP address; batches of up to 20 calls
RPC methods
Standard read methods, eth_call, eth_estimateGas, fee methods and eth_sendRawTransaction (sign locally). Node admin, unlocked accounts, eth_getLogs and WebSocket subscriptions are not available.
Faucet
10 test VELA per address every 24 hours, one claim per IP address per hour, and at most 5 faucet requests per IP address per hour
Browser use
The RPC answers wallet and Remix requests from other sites (CORS open for /rpc only). The faucet only accepts requests from velanachain.com.
viem chain definition
import { defineChain } from "viem";

export const velanaTestnet = defineChain({
  id: 484148,
  name: "Velana Testnet",
  nativeCurrency: { name: "Test VELA", symbol: "VELA", decimals: 18 },
  rpcUrls: { default: { http: ["https://velanachain.com/rpc"] } },
  blockExplorers: { default: { name: "Velana Explorer", url: "https://velanachain.com/explorer/" } },
  testnet: true,
});

More tools