VYRE

ConnectDeployPublishLaunch

Build on VYRE

VYRE runs the EVM, so the usual Ethereum tools work, with the differences below. Gas is USDC. Everything below is filled in for this network.

1

Connect

Network settings

Network name
—
Chain ID
—
Currency
—
RPC address
—
Explorer
—

A browser wallet adds all of this with one click. The public RPC is shared and rate-limited per address: see Network and RPC.

Get USDC

Gas and trades are paid in USDC.

2

Deploy and verify

Deploy, then print the compiler input

With forge script, add --skip-simulation: without it Foundry takes the gas from its own simulation, which leaves out the data part of the gas.

Publish the source

  1. Open Verify & publish and enter the contract's address.
  2. Choose Standard JSON input and upload standard-input.json, made above.
  3. Pick the compiler version it was built with and verify. The explorer compiles the input, compares the result with the code on chain, and shows the source on the contract's page when they match.

The explorer's old Etherscan-style API answers reads and takes no writes, so Foundry's and Hardhat's own verify commands, which send the source to it, do not work here.

Things to know

  • Keep keys out of your code and your repo. The Foundry example signs with an encrypted keystore (cast wallet import deployer --interactive, once); the Hardhat one reads PRIVATE_KEY from your environment. Where gas is real USDC, use a key that holds only what the deployment needs.
  • Compile for cancun (evm_version = "cancun" in foundry.toml, settings: { evmVersion: 'cancun' } in Hardhat's solidity config). VYRE runs ArbOS 40, which is a step behind the newest Ethereum opcode set (the CLZ instruction comes with ArbOS 51), and compilers move their default target up over time.
  • Gas estimates include a data fee, so a deployment estimates higher than its execution gas. Take the gas from eth_estimateGas on VYRE itself, not a limit from another chain.
  • block.number is not VYRE's block number; read it with ArbSys(0x64).arbBlockNumber(). block.timestamp works as usual.
  • The usual 24 KB contract size limit applies.
3

Launch and grow

4

Starter code

Token, vesting and staking starters

Want small, readable contracts with tests to copy and change: a token, a vesting schedule, a staking pool? Tell us which you need. Starter code is a place to begin, not a reviewed product: read it and have it reviewed before real money goes through it.

Tell us what you need
5

Reference