Most EVM compatible bytecode can be deployed using SYBL with just an API key. This allows for active servers to deploy contracts without needing to store private keys.

Example of compiling a contract using solc:

solc --bin --abi Basic.sol -o basic

This can then be deployed with ethers, or most EVM libraries:

const fs = require("fs");
const ethers = require("ethers");
const apiKey = process.env.SYBL_API_KEY

const abi = fs.readFileSync("./Token.abi", "utf8");
const bytecode = fs.readFileSync("./Token.bin", "utf8");

const main = async () => {
  const chainId = 5;

  const provider = new ethers.providers.JsonRpcProvider(
    "https://rpc.sybl.dev/v1/eth/rpc?api_key=" + apiKey + "&chain_id=" + chainId
  );

  const signer = provider.getSigner();

  const deploy = async () => {
    const contract = new ethers.ContractFactory(abi, bytecode, signer);
    const tx = await contract.deploy("Token");
    console.log(tx);
    console.log("https://goerli.etherscan.io/tx/" + tx.deployTransaction.hash);
  };

  await deploy();
};