← all adapters

tenderly-style

simulates Tenderly Simulation API v1

restadapter v0.1.05 routes

verification

VMVM tier — no SDK suite yet· surface 5 · not implemented 3 · differs 4

use it

# add to stunt.yaml
services:
  tenderly:
    adapter: embedded:tenderly-style

# then
$ stunt up

The embedded: source extracts this adapter from the binary — no git clone, fully offline.

how to mock the Tenderly Simulation API locally

Install stunt, paste the service block above into stunt.yaml, run stunt up — then point your client at localhost instead of Tenderly Simulation API. It works offline, keeps state across requests and restarts, and every response is synthetic: the route shapes, status codes, pagination, and webhook delivery follow the real Tenderly Simulation API v1 surface — the data is fake, the behavior is real.

backing stores

simulations

api surface (5)

generated from the adapter manifest — exactly what boots, nothing more

5 routes
POST/api/v1/account/{account}/project/{project}/simulate
POST/api/v1/account/{account}/project/{project}/simulate-bundle
GET/api/v1/account/{account}/project/{project}/simulations
GET/api/v1/account/{account}/project/{project}/simulations/{id}
GET/api/v1/networks

VM-verified behaviors (6)

  • the access-key gate rejects missing and unknown bearers with the slug envelope
  • networks answer the bare array and switch to the paged envelope under perPage
  • a plain simulation round-trips the deterministic Tenderly shape
  • a value transfer emits the ERC-20 Transfer log and balance overrides
  • reverting simulations carry the ABI-encoded Error(string) output
  • bundles fan out per simulation and stored results list and retrieve by id

Not implemented (3)

  • No contracts endpoints (import/verify/update contracts per project)
  • No alerts or notification-rules API
  • No transaction lookup/list endpoints (transactions by hash)

Differs from the real API (4)

  • gas_used is derived from input length, not real EVM execution; status defaults to true
  • An explicit revert:true body flag forces the revert path; real API has no such switch
  • Bearer auth where real Tenderly uses the X-Access-Key header
  • Responses mix camelCase where Tenderly is snake_case and nests simulation.id
want more of the Tenderly Simulation API surface? adapters are YAML + Starlark — the authoring guide covers adding routes, fixtures, and state machines. Open an issue for anything big first, or just file a PR — merged routes ship in the next release.