EVM Decompiler API

Decompile smart contract bytecode directly with our powerful API

Pay-per-use pricing
Multiple model options
RESTful API

Quick Start

1

Get your API key

Sign up and generate your API key from the dashboard

2

Add funds to your account

Top up your API balance securely with Stripe payment processing

3

Start decompiling

Send bytecode to our API and get decompiled Solidity code

Pricing

Basic Model

$0.10

per decompilation

  • • Basic model

Pro Model

$0.50

per decompilation

  • • EVMDec-3 up to 256K tokens

Authentication

All API requests require authentication using your API key. Include it in the request header:

x-api-key: your-api-key-here

API Endpoints

POST/api/v1/api/decompile/bytecode

Decompile contract bytecode. Returns a job ID to poll for status.

Request Body

{
  "bytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063...",
  "model": "basic"  // "basic" or "pro"
}

Response

{
  "job_id": "uuid-or-external-job-id",
  "message": "Decompilation job started successfully"
}
GET/api/v1/api/decompile/status/{job_id}

Get the status of a decompilation job.

Response

{
  "job_id": "uuid-or-external-job-id",
  "status": "done",  // "pending", "processing", "done", "error"
  "result": { /* decompiler result */ },
  "error": null,
  "created_at": "2024-01-01T12:00:00Z",
  "updated_at": "2024-01-01T12:05:00Z"
}

Code Examples

cURL

bash
curl -X POST "https://api.evmdecompiler.com/api/v1/api/decompile/bytecode" \
  -H "x-api-key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "bytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063...",
    "model": "basic"
  }'

JavaScript

javascript
const response = await fetch('https://api.evmdecompiler.com/api/v1/api/decompile/bytecode', {
  method: 'POST',
  headers: {
    'x-api-key': 'your-api-key-here',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    bytecode: '0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063...',
    model: 'basic'
  })
});

const data = await response.json();
console.log(data.job_id);

Python

python
import requests

url = "https://api.evmdecompiler.com/api/v1/api/decompile/bytecode"
headers = {
    "x-api-key": "your-api-key-here",
    "Content-Type": "application/json"
}
data = {
    "bytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063...",
    "model": "basic"
}

response = requests.post(url, headers=headers, json=data)
result = response.json()
print(result["job_id"])

Error Handling

401 Unauthorized

Invalid or missing API key

402 Payment Required

Insufficient balance for the requested operation

400 Bad Request

Invalid request data or missing required fields

404 Not Found

Job not found or access denied

Rate Limits

API requests are limited to prevent abuse and ensure fair usage:

  • 5 requests per minute per API key
  • 50 requests per hour per API key
  • 500 requests per day per API key