SciChainDocs

Getting started

Connect to SciChain in a couple of minutes. Because SciChain speaks standard Ethereum JSON-RPC, any wallet, library, or tool that talks to an EVM chain will work — you only need the endpoint and the chain ID.

Network details

Use these values wherever a tool asks for network configuration.

ParameterValue
Network nameSciChain
RPC URL (HTTPS)https://rpc.scimatic.net
Chain ID481
Currency symbolSCI
Block explorerhttps://explorer.scimatic.net
ConsensusQBFT (Istanbul BFT), ~5s block time
EVM fork levelShanghai (PUSH0, solc 0.8.20+)

Chain ID 481 is unique to SciChain. The chain ID is part of every signed transaction (EIP-155), which prevents a transaction from being replayed on another network. Always confirm your tooling is set to 481 before signing.

Add SciChain to MetaMask

You can add the network manually, or trigger it programmatically from a dApp.

Manually

  1. Open MetaMask and click the network selector at the top left.
  2. Choose Add a custom network.
  3. Enter the values from the table above and save.

Programmatically (wallet_addEthereumChain)

Add a "Connect to SciChain" button to your dApp with the standard EIP-3085 request:

await window.ethereum.request({
  method: "wallet_addEthereumChain",
  params: [{
    chainId: "0x1e1",              // 481 in hex
    chainName: "SciChain",
    rpcUrls: ["https://rpc.scimatic.net"],
    nativeCurrency: { name: "SciChain", symbol: "SCI", decimals: 18 },
    blockExplorerUrls: ["https://explorer.scimatic.net"]
  }]
});

Verify your connection

A single JSON-RPC call confirms you are talking to the right chain. The result 0x1e1 is 481 in hexadecimal.

curl https://rpc.scimatic.net \
  -X POST -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'

# => {"jsonrpc":"2.0","id":1,"result":"0x1e1"}

Check the latest block height the same way with eth_blockNumber:

curl https://rpc.scimatic.net \
  -X POST -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'

Connect with ethers.js

Because SciChain is EVM-compatible, ethers.js works with no special configuration:

import { JsonRpcProvider } from "ethers";

const provider = new JsonRpcProvider("https://rpc.scimatic.net", {
  name: "scichain",
  chainId: 481
});

const net   = await provider.getNetwork();
const block = await provider.getBlockNumber();
console.log(`Connected to chain ${net.chainId} at block ${block}`);

Using the block explorer

The block explorer at explorer.scimatic.net lets you inspect blocks, transactions, addresses, and deployed contracts. SciChain's explorer surfaces the post-quantum details that a stock Ethereum explorer would not: for each transaction you can see its signatureType (ECDSA, ML-DSA, or hybrid) and, for post-quantum transactions, the associated ML-DSA public key.

Use it to:

  • Confirm a transaction was included and finalized.
  • Read the verified source of a deployed contract.
  • Distinguish classical from post-quantum transactions at a glance.
  • Inspect the current validator set and recent block proposers.

Running a node (overview)

You do not need to run your own node to build on SciChain — the public RPC endpoint is enough for most development and even production reads. Run your own node when you want independent verification, higher throughput, private access, or to participate in consensus as a validator.

A SciChain node is a Java 21 process built from the Besu 25.x lineage. It reads the SciChain genesis file, discovers peers, and validates every block — including verifying ML-DSA signatures on post-quantum transactions. See Run a node for the full walkthrough.

Next step Ready to write code? Head to Smart contracts to deploy your first contract, or Post-quantum cryptography to understand what makes SciChain different.