What is Catapulta?

Catapulta is a smart contracts deployment tool, which allows to ensure the best Chain Ops practices via automation to keep your deployments organized.

The major benefits of using Catapulta in your Solidity project are:

  • Direct access to +20 networks, with a single provider
  • Gas abstraction for developers, fund your account with USD/stablecoins & deploy anywhere without native gas token
  • Automated deployment reports with Proxy support, saved in your collaborative and private dashboard
  • Automated block explorers verification, with nested deployments support. We support Etherscan, Routescan, Blockscout and OKLink.
  • Hosting of artifacts and addresses in JSON, ready to be consumed by your frontend or backend
  • Zero config setup, remove the need to maintain RPC endpoints or Etherscan API keys in your project.

With Catapulta, you can boost your team productivity, allowing to bootstrap your project quickly into production to +20 networks, with less boilerplate. Forget about gas, setting up RPC URLs, Etherscan URL or API keys in your configuration file.

The Catapulta Collaborative Dashboard UI allows you to create new projects to separate context, store past deployments, add deployment notes, download deployment reports, and share your deployment reports with your team in a collaborative way.

The goal of Catapulta is to simplify DevX around Solidity development and set the best Chain Ops practices, without any major changes in your workflow.

Getting started

To be able to interact with the Catapulta platform, you need the following requirements.

Catapulta Templates

The fastest way to try out the benefits of Catapulta, check the Catapulta Forge or Hardhat Templates which contains an step by step guide to deploy your first smart contract with Catapulta:

Catapulta CLI

npm

The catapulta tool which is compatible with Foundry and Hardhat allows to host smart contract artifacts, broadcast transactions to the Catapulta RPC Relay, store deployment reports, and automatize Etherscan/Blockscout verification of the deployed contracts.

You can install the catapulta package globally with NPM, open your terminal and run:

$ Terminal

npm i -g catapulta

To check if is installed correctly, run the following command to get the current CLI version:

$ Terminal

catapulta -v

Output:

Catapulta.sh - Chain Ops CLI 🏹

Version: 0.1.33

If you prefer the command can also be run with NPX:

$ Terminal

npx catapulta -v

Once installed, sign in Catapulta.sh, navigate to your Project and paste your CATAPULTA_API_KEY into your project .env file to attach your deployment session to the Catapulta RPC Relay.

Forge: How to deploy with Catapulta?

Once the CATAPULTA_API_KEY environment variable is set in your Foundry project at .env file, you can deploy your smart contracts defined in your Solidity script using the following catapulta command:

$ Terminal, at your Foundry project directory

catapulta script scripts/YourDeployScript.sol --network sepolia

Output:

  Catapulta.sh 🏏 deployment
  ============================
  
  Project name: Ghost Deployments
  Project URL: https://catapulta.sh/project/64e6272a59b37a3a4a7afb55
  Deployment UUID: e5b3c126-c225-46c9-a9de-4e8860df0e07
  
  📀 Building artifacts...
  
  🗜  Compressing artifacts...
  
  📤 Uploading artifacts to the Catapulta DB...
  
  ✅ Artifacts uploaded successfully.
  
  📡 Broadcasting deployments to Catapulta Relay: 
  
  📜 Running Foundry script: forge script scripts/DeployBasic.sol --chain 11155111 --rpc-url "https://catapulta.sh/api/run/add/chain/11155111/e5b3c126-c225-46c9-a9de-4e8860df0e07/gNd4vq8AqnRWhxwPJiMS" --broadcast 
   
  [...]
  
  ✅ Deployment successfully broadcasted 
  
  - Etherscan verification request sent. Check the dashboard for keeping track verifications. If contracts are not verified in 10 minutes, contact support at the web chat in https://catapulta.sh .
  
  💾 Artifacts stored at:
  https://users-artifacts.s3.eu-west-1.amazonaws.com/e5b3c126-c225-46c9-a9de-4e8860df0e07-deployment-artifacts/artifacts.zip
  
  📸 Check your deployment report at:
   - https://catapulta.sh/project/64e6272a59b37a3a4a7afb55/op/e5b3c126-c225-46c9-a9de-4e8860df0e07
   

Forge: How to deploy using gas relay or gas abstraction?

Catapulta can fund your deployments via our custom gas relay or gas abstraction for developers.

Currently is free up to $10 USD per account, and only available for Ethereum Sepolia, Ethereum Holesky and Polygon Amoy, acting like a captcha-less faucet for your testnet operations.

To fund your deployer account before your deployment , add --sponsor flag at the end of your catapulta command:

$ Terminal, at your Foundry project directory

catapulta script scripts/YourDeployScript.sol --network sepolia --sponsor

If you need gas abstraction for developers in other chains or in production, contact support to pre-pay your balance.

Forge: How to import and verify past deployments

Catapulta allows to import older Foundry script deployments, using broadcast JSON files.

Importing older deployments will re-trigger verification of your smart contracts in all block explorers, in case they are still not verified for any reason.

$ Terminal, at your Foundry project directory

catapulta import broadcast/YourDeployScript.sol/11155111/run-latest.json

Hardhat: How to deploy with Catapulta?

For full Hardhat Deploy support, you must install Catapulta in your project.

$ Terminal, at your Hardhat project

npm i catapulta

Proceed to import the Catapulta Hardhat plugin at the top of your hardhat.config.ts file.

$ hardhat.config.ts

import "catapulta/hardhat";



// Rest of your hardhat.config.ts file

Once the CATAPULTA_API_KEY environment variable is set in your Foundry project at .env file, you can deploy using Hardhat Deploy scripts or Hardhat scripts.

We recommend using Hardhat Deploy if you use libraries in your Solidity contracts, for ensuring Etherscan verification.

$ Terminal, hardhat-deploy

catapulta deploy --network sepolia

You can also run Hardhat scripts

$ Terminal, hardhat script

catapulta run scripts/deploy.ts --network sepolia

Catapulta helpers

To see the supported networks, you can run the following command:

$ Terminal

catapulta networks

To generate a new private key locally and save it at .env file as PRIVATE_KEY, or to view the current address, you can run:

$ Terminal, at your Foundry project directory

catapulta wallet

Deployment Report

If you open the deployment report URL from the output of the command, you will see a deployment report generated from your deployment, which includes all the transactions and contracts deployed in one single deployment session. You can always comeback to your deployment report from your Project page.


Features of the Catapulta deployment report:

  • Name your deployment
  • Add deployment notes
  • Check all Txs involved in your deployment
  • Check contracts deployed and constructor args
  • Links to Etherscan for each TX and Contract
  • Download JSON report with ABO and addresses of each contract
  • Download Artifacts ZIP
  • Copy the JSON report hosted URL, to load your deployment at your frontend or backend

FAQ

What networks are supported at Catapulta?

Currently we support +20 EVM networks:

  • Ethereum Mainnet
  • Ethereum Sepolia
  • Ethereum Holesky
  • Ethereum Goerli
  • Polygon
  • Polygon Mumbai
  • Polygon ZK EVM
  • Polygon ZK EVM Testnet
  • Base
  • Base Sepolia
  • Base Goerli
  • Optimism
  • Optimism Sepolia
  • Optimism Goerli
  • Arbitrum
  • Arbitrum Goerli
  • Arbitrum Sepolia
  • Fantom
  • Fantom Testnet
  • Celo
  • Blast L2 Testnet
  • Moonbeam
  • Metis
  • Metis Goerli
  • BSC (Binance Smart Chain)
  • BSC Testnet
  • Gnosis
  • Gnosis Chiado Testnet
  • ZkSync Era Mainnet
  • ZkSync Era Testnet
  • Degen
  • Kroma
  • Kroma Testnet
  • Mantle
  • Mantle Testnet

What is the Catapulta RPC Relay?

The Catapulta RPC Relay is an aggregator of RPC node providers, which allows to access more networks with a single CATAPULTA_API_KEY, removing the need of context switching looking in different RPC providers every time you create a new project.

The future is cross-chain, and we aim to aggregate and support as much networks as requested to simplify development with a single payment subscription.

What are the costs for using Catapulta?

The free tier allows to deploy in any Testnet of choice, up to 40 times, with free gas sponsor in testnets. The paid tier allows you to deploy in testnet and production networks. You can see the pricing table in the Pricing page.