Sequence Sidekick provides a fully equipped backend, leveraging Sequence’s infrastructure to read and write to the blockchain through a simple API.
Either use our public docker image or start it in dev mode with minimal configuration.
Use a Sequence Smart Wallet with locally managed private keys or securely integrate AWS/GCP KMS for enhanced security.
Leverage our high-performance indexer to build and setup your own custom webhooks through the performant Sequence Indexer.
Leverage Tenderly to easily debug your transactions, you get a simulation URL for every transaction executed through Sidekick.
Verifying contracts is cumbersome. Sidekick does it for you for every contract deployed.
Already have a Sequence Builder project? Import all your contracts data into Sidekick with a single API call.
Create, monitor and manage your background jobs.
Explore the API documentation and test the endpoints with the Swagger UI
Transactions are submitted at optimal gas prices, with automatic resubmission if not included in the mempool within three blocks.
Sidekick comes integrated with Grafana, Prometheus and Blackbox Exporter to monitor your backend health.
Sidekick creates a Sequence Smart Contract Wallet based on the BACKEND_WALLET_PV_KEY
or AWS / GCP KMS
signer you provide, this allows gas-sponsorship, batching and other optimizations.
To configure the backend wallet, you can:
dev.key
file.To find out what are the required credentials for local, AWS, or GCP wallet configurations, please refer to the env.example file.
Make sure you choose the correct key types in AWS KMS and GCP KMS.
ECC_NIST_P256_KEY_ALIAS
GCP_KEY_RING_NAME
Sidekick is built to integrate seamlessly with AWS and GCP KMS, allowing you to use your KMS signer. We’ve developed adapters that make AWS/GCP KMS compatible with the ethers signer type, ensuring compatibility with the latest version.
Sequence Sidekick empowers developers with a scalable, plug-and-play backend solution for blockchain-based applications, allowing you to focus on building without backend complexities.
There is a public docker image available on GitHub Container Registry.
This should get you started with a local Sidekick backend running on port 7500 with the minimal features.
We recommend setting SEQUENCE_PROJECT_ACCESS_KEY as well but for testing purposes we provide a default one, you can get yours from Sequence Builder.
Clone the Sidekick repository
Setup the required environment variables
Variable | Description |
---|---|
PROJECT_ACCESS_KEY | Access key from Sequence Builder API Keys |
Variable | Description |
---|---|
BACKEND_WALLET_PV_KEY | Private key for the EOA used to sign transactions |
PORT | Port for the Sidekick server (default: 7500) |
HOST | Host address for the server (default: 0.0.0.0) |
REDIS_HOST | Redis server host (default: localhost) |
REDIS_PORT | Redis server port (default: 6379) |
REDIS_PASSWORD | Password for Redis server (optional) |
DATABASE_URL | PostgreSQL connection string for Sidekick database |
SIDEKICK_API_SECRET_KEY | Secret key required for write access to the Sidekick API |
ETHERSCAN_API_KEY | API key for Etherscan to enable contract verification |
VERIFY_CONTRACT_ON_DEPLOY | Enable automatic contract verification on deployment (set to true to enable) |
DEBUG | Enable debug logging (set to true for verbose output) |
SIGNER_TYPE | Type of signer to use (local, aws_kms, google_kms) |
AWS_REGION | AWS account region |
AWS_ACCESS_KEY_ID | AWS access key ID |
AWS_SECRET_ACCESS_KEY | AWS secret access key |
AWS_KMS_KEY_ID | ID of the KMS key to use |
PROJECT | GCP project name |
LOCATION | GCP project location |
KEY_RING | Key ring name |
CRYPTO_KEY | Crypto key name |
CRYPTO_KEY_VERSION | Crypto key version |
Choose one of the following configurations:
Variable | Description | |
---|---|---|
SIGNER_TYPE | local | |
BACKEND_WALLET_PV_KEY | 0x… | (optional) |
Variable | Description |
---|---|
SIGNER_TYPE | aws_kms |
AWS_REGION | AWS account region |
AWS_ACCESS_KEY_ID | AWS access key ID |
AWS_SECRET_ACCESS_KEY | AWS secret access key |
AWS_KMS_KEY_ID | ID of the KMS key to use |
Variable | Description |
---|---|
SIGNER_TYPE | google_kms |
PROJECT | GCP project name |
LOCATION | GCP project location |
KEY_RING | Key ring name |
CRYPTO_KEY | Crypto key name |
CRYPTO_KEY_VERSION | Crypto key version |
Make sure you have Docker installed
Get it from here
Start Sidekick in a Docker container
Check your backend wallet address
If you want to make changes to the codebase and test them without Docker
This will run Sidekick and also start a Redis server.
On testnet, we sponsor all the transactions. However, on mainnet - you will want to ensure that you sponsor the transactions in order to ensure that they process correctly by sponsoring the contract itself. You can take a deeper look at our Gas Sponsorship solution to learn how to do this.