Skip to content

BUILD ON XHAVIC

Your Ethereum contracts run without changes.

Xhavic is EVM-compatible at the bytecode level. Solidity, Vyper, and all standard opcodes work as expected. Deploy the same way you deploy to Ethereum — then use what's new.

Read the Docs → Explorer GitHub (Coming Soon)
Terminal
Quick Deploy
$ npx hardhat deploy \
--network xhavic-testnet
Deploying to Xhavic Testnet (Chain ID: 7850)

EVM COMPATIBILITY

Full EVM Compatibility

Xhavic executes EVM bytecode natively. No transpilation, no modified opcodes, no compatibility layers.

01

Solidity & Vyper

Both languages compile to the same EVM bytecode Xhavic executes. Use your existing compiler toolchain, OpenZeppelin libraries, and audit reports. Zero contract modifications needed — your verified Ethereum contracts deploy identically.

02

All Standard Opcodes

256-bit word size, 1024 stack depth, identical gas semantics for standard operations. CREATE2, DELEGATECALL, and all precompiles work as specified.

03

Same Tooling

Hardhat, Foundry, Remix, ethers.js, web3.py — all work by pointing to the Xhavic RPC endpoint. No SDK lock-in or proprietary toolchain.

04
Chain ID 7849 (mainnet)  /  Chain ID 7850 (testnet)  —  Add to MetaMask or any EIP-3085 compatible wallet.

NEW RPC METHODS

What's New on Xhavic

Everything above the standard EVM. These are protocol-level additions available to all contracts.

xhv_* RPC Methods

Extended RPC namespace for Xhavic-specific operations. Query wallet types, check escrow status, read oracle data, and interact with AI agent state.

  • Query wallet types and escrow windows
  • Read oracle prices with single RPC call
  • Interact with AI agent state on-chain
xhv_* namespace
// Available methods
xhv_getWalletType(address)
xhv_getEscrowStatus(txHash)
xhv_getOraclePrice(pair)
xhv_getAgentState(agentId)
// Example call
const type = await provider.send(
"xhv_getWalletType",
["0x..."]
);

ORACLE PRECOMPILES

Oracle Precompiles

Native oracle data accessible via precompile addresses 0x00...F0-FF. No external oracle contracts, no middleware, no additional trust assumptions.

Address Range

Precompile addresses 0x00...F0 through 0x00...FF

Hybrid Architecture

Multi-source aggregation with configurable quorum thresholds

Gas Cost

Standard precompile gas — significantly lower than external oracle calls

Oracle.sol
// Solidity — Oracle Precompile
interface IXhavicOracle {
function getPrice(
string calldata pair
) external view returns (
uint256 price,
uint256 timestamp,
uint8 decimals
);
}
// Precompile at 0x...F0
IXhavicOracle oracle =
IXhavicOracle(address(0xF0));
(uint256 price,,) =
oracle.getPrice("ETH/USD");

AI AGENTS

AI Agent Support

AI agents execute as first-class protocol participants with deterministic ordering, programmatic wallet control, and gas-metered compute cycles.

  • Deterministic Execution

    Agent transactions are ordered deterministically by the sequencer. Execution results are reproducible and verifiable by validators.

  • Programmatic Wallets

    Agents control wallets programmatically with defined permission boundaries. Both Instant and Secured wallet types are available.

  • Gas-Metered Compute

    Agent compute cycles are metered through the gas mechanism, providing bounded execution costs and preventing runaway operations.

agent-config.ts
// AI Agent Configuration
const agent = {
id: "agent-001",
wallet: "instant",
gasLimit: 500_000,
permissions: [
"transfer",
"call_contract",
"read_oracle"
]
};
// Query state
const state = await
provider.send(
"xhv_getAgentState",
["agent-001"]
);

SHIP FAST

Deploy in Minutes

Add the Xhavic network to your Hardhat config and deploy. That's it.

Hardhat Foundry Remix
hardhat.config.ts
import { HardhatUserConfig } from "hardhat/config";

const config: HardhatUserConfig = {
  solidity: "0.8.24",
  networks: {
    xhavic: {
      url: "https://rpc.xhavic.io",
      chainId: 7849,
      accounts: [process.env.DEPLOYER_KEY!],
    },
    "xhavic-testnet": {
      url: "https://testrpc.xhaviscan.com",
      chainId: 7850,
      accounts: [process.env.DEPLOYER_KEY!],
    },
  },
};

export default config;
Terminal
$ npx hardhat deploy --network xhavic-testnet

TWO PATHS

Dual Wallet Integration

Your contracts interact with two execution paths. The wallet type is determined by the originating address, not by contract logic.

Use xhv_getWalletType(address) to detect the wallet type at runtime, and xhv_getEscrowStatus(txHash) to check escrow state for Secured Wallet transactions.

Instant Wallet Path

Transactions from Instant Wallets execute immediately with sub-200ms soft finality. Fully composable — other contracts can act on the output in the same block.

xhv_getWalletType(address) → "instant"

Secured Wallet Path

Transactions from Secured Wallets enter a 24-hour escrow period. State changes are provisional until the escrow window closes. Non-composable during this period.

xhv_getEscrowStatus(txHash) → "pending"

RESOURCES

Developer Resources

Everything you need to build, test, and deploy on Xhavic.

Documentation

Guides, API reference, and integration tutorials

Explore

GitHub

Source code, examples, and open-source tooling

Coming Soon

Testnet Faucet

Get testnet XVC tokens for development

Coming Soon

Block Explorer

Transaction history, contract verification, analytics

Explore

Bridge

Move assets between Ethereum and Xhavic

Explore

RPC Endpoints

https://rpc.xhavic.io
https://testrpc.xhaviscan.com

Start Building

The documentation covers deployment guides, RPC reference, oracle integration, Dual Wallet development patterns, and AI agent specifications.

Read the Docs →