Network access
Public chain, public RPC, no key. Add it to a wallet with the parameters below.
Connection parameters
Add the network programmatically
await window.ethereum.request({
method: 'wallet_addEthereumChain',
params: [{
chainId: '0x12D15', // 77077
chainName: 'Autyon Testnet',
nativeCurrency: { name: 'Autyon', symbol: 'AUT', decimals: 18 },
rpcUrls: ['https://rpc.autyon.io'],
blockExplorerUrls: ['https://autscan.io'],
}],
})Tooling
Foundry, Hardhat, viem and wagmi all work. Point them at https://rpc.autyon.io, chain ID 77077.
forge create src/MyContract.sol:MyContract \ --rpc-url https://rpc.autyon.io \ --private-key $PRIVATE_KEY
Quirks you will hit
These are the things that actually cost us debugging time. Read them before you file a bug.
The node rejects some EIP-1559-shaped requests from newer foundry builds. Send legacy transactions: --legacy --gas-price 1000000000. Gas is a flat 1 gwei anyway, so you lose nothing.
The public RPC caps the block range per query. A 0-to-latest scan worked when the chain was young and then broke as it grew (we found out when our own name index went blank). Either scan in chunks, or use the explorer's log API, which indexes full history: autscan.io/api?module=logs&action=getLogs&…
If you feed autscan log-API results into ethers' parseLog, filter the topics first: topics.filter(Boolean). Unused topic slots come back as null and ethers throws on them.
Estimation can be refused for the same reason as the first quirk. For simple transfers a fixed gasLimit of 21000 works, but not for payments to contract wallets (an AgentWallet receive() costs more). When in doubt, set a generous limit; unused gas is refunded.