Skip to main content
POST
/
public
/
v1
/
account
/
{accountSlug}
/
project
/
{projectSlug}
/
environments
Create Environment
curl --request POST \
  --url https://api.tenderly.co/api/public/v1/account/{accountSlug}/project/{projectSlug}/environments \
  --header 'Content-Type: application/json' \
  --header 'X-Access-Key: <api-key>' \
  --data '
{
  "display_name": "My Multi-Chain Environment",
  "network_configs": [
    {
      "network_id": "1",
      "block_number": "0x12c50f0",
      "chain_config_overrides": {
        "chain_id": "1"
      },
      "explorer_config": {
        "enabled": true,
        "verification_visibility": "abi"
      },
      "accounts": [
        {
          "address": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266",
          "balance": "0xde0b6b3a7640000"
        }
      ]
    }
  ],
  "slug": "my-multi-chain-env",
  "bridge_config": {
    "enabled": true,
    "relay_mode": "autoRelay",
    "delay_seconds": 0
  }
}
'
{
  "id": "d4e5f6a7-b8c9-0123-def1-234567890123",
  "display_name": "My Multi-Chain Environment",
  "slug": "my-multi-chain-env",
  "description": "A multi-chain test environment spanning Mainnet and Optimism",
  "created_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-01-15T12:00:00Z",
  "networks": [
    {
      "id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
      "network_id": "1",
      "network_name": "Mainnet",
      "network_type": "vnet",
      "block_number": "0x12c50f0",
      "region": "eu",
      "chain_config_overrides": {
        "chain_id": "1"
      },
      "explorer_config": {
        "enabled": true,
        "verification_visibility": "abi"
      },
      "accounts": [
        {
          "address": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266"
        }
      ]
    }
  ],
  "bridge_config": {
    "enabled": true,
    "relay_mode": "autoRelay",
    "delay_seconds": 0
  },
  "active_instance": {
    "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
    "created_at": "2024-01-15T10:30:00Z",
    "updated_at": "2024-01-15T12:00:00Z",
    "bridge_config": {
      "enabled": true,
      "relay_mode": "autoRelay",
      "delay_seconds": 0
    },
    "vnets": [
      {
        "id": "4010f442-c4d9-407d-aba1-7276e3312998",
        "display_name": "My Vnet 123",
        "slug": "my-vnet-123",
        "description": "This is a description of my Vnet",
        "status": "running",
        "created_at": "2024-01-15T10:30:00Z",
        "rpcs": [
          {
            "name": "Admin RPC",
            "url": "https://virtual.mainnet.rpc.tenderly.co/tenderly/my-project/my-multi-chain-env-9e7edf81"
          }
        ],
        "fork_config": {
          "network_id": 1,
          "block_number": "0x12c50f0"
        },
        "virtual_network_config": {
          "chain_config": {
            "chain_id": 1
          },
          "base_fee_per_gas": 1,
          "accounts": [
            {
              "address": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266"
            }
          ]
        },
        "rpc_config": {
          "rpc_name": {
            "name": "e2e-tests-example",
            "suffix": "9e7edf81-f6c2-49c2-855f-242ff9a6b09a"
          },
          "rpc_persistence_config": {
            "methods": [
              {
                "method": "tenderly_simulateTransaction"
              }
            ]
          }
        },
        "runtime_config": {
          "running_duration": 3600
        },
        "sync_state_config": {
          "enabled": true
        },
        "explorer_page_config": {
          "enabled": true,
          "verification_visibility": "abi"
        }
      }
    ]
  }
}

Authorizations

X-Access-Key
string
header
required

An API key is a token that a client provides when making API calls. The key can be sent as a request header:

curl 'https://api.tenderly.co/api/v1/account/${TENDERLY_ACCOUNT_SLUG}/project/${TENDERLY_PROJECT_SLUG}/simulate' \
  -H 'X-Access-Key: ${TENDERLY_ACCESS_KEY}' \
  ...

Learn how to generate API access tokens at Tenderly Docs.

Path Parameters

accountSlug
string
required

Account ID or slug

projectSlug
string
required

Project ID or slug

Body

application/json

Environment configuration

Request body for creating a new multi-chain environment

display_name
string
required

Display name of the environment

Example:

"My Multi-Chain Environment"

network_configs
envNetworkConfig · object[]
required

List of network configurations for this environment

slug
string

URL-safe slug for the environment. Auto-generated from display_name if omitted.

Example:

"my-multi-chain-env"

bridge_config
bridge_config · object

Cross-chain bridge configuration for the environment

Response

A successful response.

Multi-chain environment grouping multiple Virtual TestNets across chains

id
string<uuid>

Unique identifier of the environment

Example:

"d4e5f6a7-b8c9-0123-def1-234567890123"

display_name
string

Display name of the environment

Example:

"My Multi-Chain Environment"

slug
string

URL-safe slug for the environment

Example:

"my-multi-chain-env"

description
string

Description of the environment

Example:

"A multi-chain test environment spanning Mainnet and Optimism"

created_at
string<date-time>

Timestamp when the environment was created

Example:

"2024-01-15T10:30:00Z"

updated_at
string<date-time>

Timestamp when the environment was last updated

Example:

"2024-01-15T12:00:00Z"

networks
envNetworkConfig · object[]

Network configurations in this environment

bridge_config
bridge_config · object

Cross-chain bridge configuration

active_instance
active_instance · object

The currently active instance of this environment