Skip to content

For Developers

Haste Network is fully EVM-compatible. If you know how to deploy a smart contract on Ethereum, you already know how to deploy on Haste Network — just point your tooling to the Haste RPC.

RPC Configuration

Endpoint
HTTPhttps://rpc.higher.app
WebSocketwss://rpc.higher.app
Chain ID6776

Private RPC

Need higher rate limits or a dedicated endpoint for your dApp? Contact the Haste support team to get a private RPC URL.

Deploy with Hardhat

In your hardhat.config.ts, add the Haste Network:

typescript
import { HardhatUserConfig } from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox";

const config: HardhatUserConfig = {
  solidity: "0.8.24",
  networks: {
    higher: {
      url: "https://rpc.higher.app",
      chainId: 6776,
      accounts: [process.env.PRIVATE_KEY!],
    },
  },
};

export default config;

Then deploy:

bash
npx hardhat run scripts/deploy.ts --network haste

Deploy with Foundry

Deploy using forge create:

bash
forge create src/MyContract.sol:MyContract \
  --rpc-url https://rpc.higher.app \
  --chain-id 6776 \
  --private-key $PRIVATE_KEY

Or use a deployment script:

bash
forge script script/Deploy.s.sol \
  --rpc-url https://rpc.higher.app \
  --chain-id 6776 \
  --broadcast \
  --private-key $PRIVATE_KEY

Contract Verification

After deploying, verify your contract on the Blockscout explorer so users can read and interact with it. See the Block Explorer page for instructions.

Libraries & Tools

All standard Ethereum tooling works out of the box:

  • ethers.js / viem — Connect with the RPC URL and chain ID above.
  • wagmi / RainbowKit — Add Haste as a custom chain in your frontend config.
  • The Graph — Index your contracts for efficient querying.
  • OpenZeppelin — Use battle-tested contract libraries, they compile and deploy just like on Ethereum.

Example: Connecting with ethers.js

typescript
import { ethers } from "ethers";

const provider = new ethers.JsonRpcProvider(
  "https://rpc.higher.app",
  { name: "Higher Network", chainId: 6776 }
);

const balance = await provider.getBalance("0xYourAddress");
console.log("Balance:", ethers.formatEther(balance), "HASTE");

Example: Connecting with viem

typescript
import { createPublicClient, http, defineChain } from "viem";

const higherNetwork = defineChain({
  id: 6776,
  name: "Higher Network",
  nativeCurrency: { name: "Higher", symbol: "HIGHER", decimals: 18 },
  rpcUrls: {
    default: {
      http: ["https://rpc.higher.app"],
      webSocket: ["wss://rpc.higher.app"],
    },
  },
});

const client = createPublicClient({
  chain: hasteNetwork,
  transport: http(),
});

const balance = await client.getBalance({ address: "0xYourAddress" });

Haste Network Documentation