/engine

The most powerful backend engine for web3 apps.

Primary LanguageTypeScriptApache License 2.0Apache-2.0



thirdweb Engine

Join our Discord!

Engine is a backend HTTP server that calls smart contracts with your managed backend wallets.

Read the documentation for features, setup, configuration, guides, and references.

Overview

Features

  • Managed backend wallets
  • Contract calls and deployments (all EVM blockchains + private subnets)
  • Parallel transactions with retries
  • Account abstraction with session tokens
  • Gasless transactions
  • Wallet and contract webhooks
  • And much more!

Quickstart

  1. Install Docker.
  2. Run Postgres.
    docker run -p 5432:5432 -e POSTGRES_PASSWORD=postgres -d postgres
  3. Run Engine.
    docker run \
      -e ENCRYPTION_PASSWORD="<encryption_password>" \
      -e THIRDWEB_API_SECRET_KEY="<thirdweb_secret_key>" \
      -e ADMIN_WALLET_ADDRESS="<admin_wallet_address>" \
      -e POSTGRES_CONNECTION_URL="postgresql://postgres:postgres@host.docker.internal:5432/postgres?sslmode=disable" \
      -e ENABLE_HTTPS=true \
      -p 3005:3005 \
      --pull=always \
      --cpus="0.5" \
      thirdweb/engine:latest
  4. Navigate to the Engine dashboard.
  5. Create or import a local wallet.

Learn more: Getting Started

Production: Deploy Postgres and Engine to your cloud provider. Consider creating KMS backend wallets.

Contributing

We welcome external contributions! See [how to contribute to thirdweb repos]. Please try to follow the existing code style and conventions.

Get in touch