DevelopersSKALE Developers


Follow the steps below to start using SKALE. If you have your SKALE Chains already set up and you are looking for examples, please see Code Samples.

a SKALE Chain
your SKALE Chain
Smart Contracts
a Transaction
1. Request a SKALE Chain

1. Request a SKALE Chain

If you do not have a SKALE Chain yet, request one by using the link below.

2. Prepare your SKALE Chain

2. Prepare your SKALE Chain

SKALE Chains on the DevNet will already be configured for you, and will not require any updates to get started with deploying your Smart Contracts onto SKALE.

In order to use your SKALE Chain, you will need to fund your wallet account with the SKALE DevNet ETH tokens. This can be accomplished by using the SKALE Faucet to receive 0.5 test ETH.

NOTE: Transactions run on SKALE are gas-less; however, in order for a user to process transactions on your SKALE Chain their wallet will need to contain a very small amount of test ETH. This is to protect your SKALE Chain against DDoS attacks. Think of this step as giving users "permission" to use your dApp.
3. Migrate Smart Contracts

3. Migrate Smart Contracts

SKALE is able to process smart contracts written in Solidity. This makes migrating your smart contracts from Ethereum fast and easy. Some smart contract updates or changes may be needed to enable certain features in SKALE such as transferring money and saving state. Please reference the respective sections within Code Samples.

NOTE: In order to deploy your smart contracts onto SKALE, the transaction needs to be signed. This code below shows how to use the truffle-hdwallet-provider package to sign the transaction with the private key of your wallet:
30 lines
* This truffle script will deploy your smart contracts to your SKALE Chain.
* @param {String} privateKey - Provide your wallet private key.
* @param {String} provider - Provide your SKALE endpoint address.
let HDWalletProvider = require("truffle-hdwallet-provider");
// for SKALE documentation
//Provide your wallet private key
let privateKey = "[YOUR_PRIVATE_KEY]";
//Provide your SKALE endpoint address
module.exports = {
networks: {
ganache: {
host: "",
port: 8545,
network_id: "*"
skale: {
provider: () => new HDWalletProvider(privateKey, skale),
gasPrice: 0,
network_id: "*"
Show More

You can point your deployment scripts for your existing smart contracts to your SKALE Chain’s address and deploy using existing tooling (e.g.: Truffle). An example truffle deployment command is:

1 lines
truffle deploy --reset --network skale --compile-all
Show More

See Code Samples for more deployment script examples.

4. Send a Transaction

4. Send a Transaction

Once your smart contracts are deployed to your SKALE Chain, you can test sending out a new transaction using your existing connectors to Ethereum (ether.js, web3.js etc.).

You will not need to change you ether.js or web3 code setup, but you will need to send the trnasactions directly to SKALE by connecting MetaMask or API Based Wallet of your choice to your SKALE Chain.

To connect SKALE in MetaMask, create a new Custom RPC with your SKALE Chain endpoint.

  • Support & Learning
  • Languages &
  • More
© 2020 SKALE Labs. All right reserved.
skale.networkCookiesPrivacy Policy