Proof of Work Distribution

Proof of Work distribution is the recommended way for applications to distribute sFUEL to their users. This distribution method takes advantage of the PoW feature to allow users to onboard in a decentralized and frictionless manner.

The Proof of Work distribution system relies on an on-chain faucet. If this faucet runs out of sFUEL, users will not be able to attain sFUEL on your chain.

The Smart Contract

The smart contract portion of this distribution method can be very simple or as complex as needed to faciliate distribution.

The only requirement is that a function must pay out to an address provided as input. Additionally, the more complex logic in the payout function, the longer the proof of work will have to run on the client to generate a big enough number.

Additionally, it is recommended that the contract has limits in place so that one address cannot keep filling itself up

Distribution on a Dedicated SKALE Chain

Distributing sFUEL from an onchain contract on your own dedicated chain requires the deployment of a distribution contract.

An example of this contract can be found here in the docs.

You can also use the community build sFUEL Distribution Contract which is being used on Calypso, CryptoBlades, Chaos Testnet, Human Protocol Chain, Tank Chain, and more!

The community contract above is based on the concepts from the SKALE provided example.
The Europa Liqudity Hub also uses a variation of this contract.

Distribution on a Hub Chain

Deploying onto a SKALE Hub? Utilize one of the pre-existing sFUEL Distribution contracts. Don’t see your chain? Head over to the SKALE Discord and request it!

Available On-Chain Faucets

Chain Mainnet Address Testnet Address Function Signature

Europa

0x2B267A3e49b351DEdac892400a530ABb2f899d23

0x436389289aEAFefD1d7471b7FbEc67539Bde3E34

0x6a627842

Calypso

0x02891b34B7911A9C68e82C193cd7A6fBf0c3b30A

0x84b7265Bc964BB69b4275d4Dac4df0FD87556960

0x0c11dedd

Chaos Testnet

0x1B2e7E6E66a6c202cdC0C31DF996b530af22CBee

0x0c11dedd

Nebula

0x5a6869ef5b81DCb58EBF51b8F893c31f5AFE3Fa8

0xfd56A3456fbAB0fc013213edCc830B9d32403C8B

0x0c11dedd

Titan

0xa5C297dF8f8386E4b940D61EF9A8f2bB367a6fAB

0xdb6c305e94097033904a76587e4BBCa41B14B2B2

0x0c11dedd