Skip to main content
The default gas token of a SKALE Chain is SKALE Fuel (sFUEL). This gas token allows for a SKALE Chains to be fully Ethereum Virtual Machine (EVM) compatible while also offering zero gas fees to developers and end-users. While gasless transactions are recommended for most applications due to simple management; SKALE Chains running with sFUEL active will need to ensure developers and/or end-users can access the gas token to execute transactions.

Etherbase

For SKALE Chain owners and operators, accessing sufficient sFUEL is critical. All SKALE Chains come predeployed with a smart contract called Etherbase which is important for two reasons:
  1. A large allocation of sFUEL is stored in this contract upon creation of the SKALE Chain, ensuring sufficient quantities are available for operators
  2. sFUEL when consuemd in a transaction is automatically recycled into Etherbase ensuring that a SKALE Chain doesn’t run out of gas

    Ethers v6

     // Using Ethers v6
    import { Contract, JsonRpcProvider, Wallet, parseEther } from "ethers";
    
    const ETHERBASE_ABI = [
    	"function partiallyRetrieve(address payable receiver, uint256 amount) external",
    ];
    
    const ETHERBASE_PREDEPLOYED_ADDRESS = "0xd2bA3e0000000000000000000000000000000000";
    
    async function main() {	
    	const provider = new JsonRpcProvider("https://mainnet.skalenodes.com/v1/<SKALE Chain-name>");
    	const wallet = new Wallet(process.env.PRIVATE_KEY, provider);
    	const contract = new Contract(ETHERBASE_PREDEPLOYED_ADDRESS, ETHERBASE_ABI, wallet);
    		
    	// Allow anyone to deploy
    	const res = await contract.partiallyRetrieve(wallet.address, parseEther("25"));
    
    	console.log("Res: ", res); // Transaction Hash, once confirmed wallet.address native balance increases by 25
    }
    
    main()
    	.catch((err) => {
    		console.error(err);
    		process.exitCode = 1;
    	});
    
If you encouter any errors when trying to retrieve gas from Etherbase; this likely means that the address is missing ETHER_MANAGER_ROLE.

sFUEL Station

SKALE Chains can request being added to the sFUEL Station. The sFUEL Station is currently availalable on SKALE Hub testnet and mainnet Chains: Calypso, Europa, Nebula, and Titan. The sFUEL Station allows users to put in their wallet and attain a small allocation of sFUEL to get started on a particular SKALE Chain.
While your chain may be added to the sFUEL Station upon request, this should not be a primary way to onboard users as it can increase the complexity of onboarding. You should utilize sFUEL Distribution within dApps when possible.