This page is the source of truth for public network parameters, explorer URLs, bridge URLs, and wallet or tooling configuration.
Parameter Value Network Name GOAT NetworkChain ID 2345Currency Symbol BTCRPC URL https://rpc.goat.networkRPC Backup https://rpc.ankr.com/goat_mainnetArchive Node https://archive.goat.networkExplorer https://explorer.goat.networkBridge https://bridge.goat.network
Parameter Value Network Name GOAT Testnet3Chain ID 48816Currency Symbol BTCRPC URL https://rpc.testnet3.goat.networkRPC Backup https://rpc.ankr.com/goat_testnetExplorer https://explorer.testnet3.goat.networkBridge https://bridge.testnet3.goat.networkFaucet https://bridge.testnet3.goat.network/faucet
Public RPC endpoints are rate-limited. Production systems should use dedicated infrastructure or a managed provider.
One-click add the network to your wallet:
Connect GOAT Network Connect GOAT Testnet3
Use wallet_addEthereumChain when you want to add GOAT Network from an app. Always surface the caught error to the user or your telemetry, because wallets may reject the request, already have the chain configured, or block the call when no wallet is installed.
MetaMask Mainnet MetaMask Testnet3
Add GOAT Network mainnet to MetaMask async function addGoatMainnet () {
try {
await window.ethereum. request ({
method: 'wallet_addEthereumChain' ,
params: [{
chainId: '0x929' ,
chainName: 'GOAT Network' ,
nativeCurrency: { name: 'Bitcoin' , symbol: 'BTC' , decimals: 18 },
rpcUrls: [ 'https://rpc.goat.network' ],
blockExplorerUrls: [ 'https://explorer.goat.network' ],
}],
});
console. log ( 'GOAT Network successfully added to MetaMask' );
} catch (error) {
console. error ( 'Failed to add GOAT Network:' , error);
}
} Add GOAT Testnet3 to MetaMask async function addGoatTestnet3 () {
try {
await window.ethereum. request ({
method: 'wallet_addEthereumChain' ,
params: [{
chainId: '0xBEB0' ,
chainName: 'GOAT Testnet3' ,
nativeCurrency: { name: 'Bitcoin' , symbol: 'BTC' , decimals: 18 },
rpcUrls: [ 'https://rpc.testnet3.goat.network' ],
blockExplorerUrls: [ 'https://explorer.testnet3.goat.network' ],
}],
});
console. log ( 'GOAT Testnet3 successfully added to MetaMask' );
} catch (error) {
console. error ( 'Failed to add GOAT Testnet3:' , error);
}
}
ethers.js v6 web3.py Hardhat
import { JsonRpcProvider } from 'ethers' ;
export const goatMainnet = new JsonRpcProvider ( 'https://rpc.goat.network' );
export const goatTestnet3 = new JsonRpcProvider ( 'https://rpc.testnet3.goat.network' ); from web3 import Web3
goat = Web3(Web3.HTTPProvider( "https://rpc.goat.network" ))
goat_testnet3 = Web3(Web3.HTTPProvider( "https://rpc.testnet3.goat.network" )) import '@nomicfoundation/hardhat-toolbox' ;
import { config as loadEnv } from 'dotenv' ;
loadEnv ();
export default {
solidity: '0.8.24' ,
networks: {
goatMainnet: {
url: 'https://rpc.goat.network' ,
chainId: 2345 ,
accounts: process.env. PRIVATE_KEY ? [process.env. PRIVATE_KEY ] : [],
},
goatTestnet3: {
url: 'https://rpc.testnet3.goat.network' ,
chainId: 48816 ,
accounts: process.env. PRIVATE_KEY ? [process.env. PRIVATE_KEY ] : [],
},
},
};
Do not hard-code a real private key in source control. Load it from environment variables or a secrets manager.
Once your provider is configured, you can make read-only RPC calls against either network.
Mainnet Testnet3
Read the current block on mainnet import { JsonRpcProvider } from 'ethers' ;
const provider = new JsonRpcProvider ( 'https://rpc.goat.network' );
async function getBlockNumber () {
const blockNumber = await provider. getBlockNumber ();
console. log ( 'Current block number on GOAT mainnet:' , blockNumber);
}
getBlockNumber (); Read the current block on testnet3 import { JsonRpcProvider } from 'ethers' ;
const provider = new JsonRpcProvider ( 'https://rpc.testnet3.goat.network' );
async function getBlockNumber () {
const blockNumber = await provider. getBlockNumber ();
console. log ( 'Current block number on GOAT Testnet3:' , blockNumber);
}
getBlockNumber ();
If you prefer to add the network manually in MetaMask, use these JSON payloads as a reference for the required fields.
Mainnet JSON Testnet3 JSON
{
"chainId" : "0x929" ,
"chainName" : "GOAT Network" ,
"nativeCurrency" : { "name" : "Bitcoin" , "symbol" : "BTC" , "decimals" : 18 },
"rpcUrls" : [ "https://rpc.goat.network" ],
"blockExplorerUrls" : [ "https://explorer.goat.network" ]
} {
"chainId" : "0xBEB0" ,
"chainName" : "GOAT Testnet3" ,
"nativeCurrency" : { "name" : "Bitcoin" , "symbol" : "BTC" , "decimals" : 18 },
"rpcUrls" : [ "https://rpc.testnet3.goat.network" ],
"blockExplorerUrls" : [ "https://explorer.testnet3.goat.network" ]
}