Gas Killer Docs

Overview

Verifiable off-chain compute for EVM contracts.

Gas Killer is a verifiable off-chain compute service for EVM contracts. Smart contracts offload expensive computation to a network of restaked operator nodes. Operators run the task and sign the result with BLS keys; the router aggregates those signatures into a compact proof and returns a ready-to-sign transaction. You submit that transaction from your own wallet: a single verifyAndUpdate call that writes back the result and verifies it against the aggregate signature, instead of recomputing it on-chain.

Where to start

  • Quickstart — submit your first task, poll for the result, and settle it on-chain.
  • Architecture — how a task flows from submission to on-chain settlement.
  • API Reference — the full HTTP API, generated from the OpenAPI specification.
  • Solidity Reference — add the SDK to your contract and configure it to accept payloads.

What an integration looks like

An integration has two halves, and both must be in place:

  • On-chain — your contract inherits GasKillerSDK, which gives it the verifyAndUpdate entrypoint and a transition counter. You mark the expensive function trackState and wire the contract to the live operator set.
  • Off-chain — you submit a task naming that contract and the call you want performed. The router returns a verifyAndUpdate transaction; you sign it and submit it from your own wallet.

Evaluating rather than building? The Quickstart borrows an already-deployed contract, so you can watch a settlement land without writing any Solidity. When you want this on a contract of your own, start with the Solidity Reference.

The API at a glance

The router exposes a small HTTP API:

EndpointPurpose
POST /tasksSubmit a compute task (requires an API key).
GET /tasks/{task_id}Poll a task; returns the ready-to-sign payload once it is ready.
GET /tasksList your tasks, with optional status filter and pagination.
GET /avs-metadataPublic AVS identity document.

All requests and responses are JSON. Errors share a single envelope shape, { "error": { "code", "message" } }, where code is a stable machine-readable identifier.

The contract side at a glance

Inheriting GasKillerSDK is what makes a contract a valid target. It supplies:

MemberPurpose
verifyAndUpdateSettlement entrypoint — verifies the quorum signature, then applies the diff.
trackStateMarks a function as a tracked transition and advances the counter.
stateTransitionCount()Binds a payload to one specific state, so it cannot be replayed.
avsAddress / blsSignatureCheckerThe operator set the contract trusts.
inTransition()Lets external readers reject mid-transition state.

See the Solidity Reference for the full surface, and Configuration for the addresses a target must be wired to.

On this page