Execution API
High-performance RESTful and WebSocket APIs for smart contract deployment, transaction execution, and blockchain state queries.
Execution Flow
API Request
REST or WebSocket
Authentication
API Key validation
Smart Router
Optimal path selection
Execution Layer
Contract interaction
Response
JSON result
API Architecture
REST API Layer
RESTful endpoints for synchronous operations: contract deployment, transaction submission, and state queries.
WebSocket Streams
Real-time event subscriptions: pending transactions, contract events, and block confirmations.
Batch Processing
Execute multiple operations in a single request with atomic guarantees and rollback support.
API Endpoints
Deploy a new smart contract to the blockchain.
{
"bytecode": "0x6080604052...",
"abi": [...],
"constructorArgs": ["arg1", "arg2"],
"gasLimit": 3000000,
"value": "0"
}
{
"status": "success",
"contractAddress": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"transactionHash": "0x9fc76417374aa880d4449a1f7f31ec597f00b1f6f3dd2d66f4c9c6c445836d8b",
"gasUsed": 2456789
}
Execute a contract method or send a transaction.
{
"to": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"method": "transfer",
"args": ["0xRecipient", "1000000000000000000"],
"gasPrice": "auto",
"priority": "high"
}
Read contract state without submitting a transaction.
method=balanceOf&args[]=0xAddress
Execute multiple transactions atomically.
{
"operations": [
{
"to": "0xContract1",
"method": "approve",
"args": ["0xSpender", "999999"]
},
{
"to": "0xContract2",
"method": "swap",
"args": ["amount", "minOut"]
}
],
"atomic": true
}
Subscribe to real-time contract events and transactions.
{
"action": "subscribe",
"channel": "contract_events",
"filter": {
"address": "0xContract",
"events": ["Transfer", "Approval"]
}
}
Integration Examples
const axios = require('axios');
const API_KEY = 'your_api_key_here';
const BASE_URL = 'https://api.axiomlabs.studio/v1';
// Deploy a smart contract
async function deployContract(bytecode, abi, args) {
const response = await axios.post(
`${BASE_URL}/contracts/deploy`,
{
bytecode,
abi,
constructorArgs: args,
gasLimit: 3000000
},
{
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json'
}
}
);
console.log('Contract deployed at:', response.data.contractAddress);
return response.data;
}
// Execute a contract method
async function executeMethod(contractAddress, method, args) {
const response = await axios.post(
`${BASE_URL}/transactions/execute`,
{
to: contractAddress,
method: method,
args: args,
gasPrice: 'auto',
priority: 'medium'
},
{
headers: { 'Authorization': `Bearer ${API_KEY}` }
}
);
return response.data.transactionHash;
}
import requests
import json
API_KEY = 'your_api_key_here'
BASE_URL = 'https://api.axiomlabs.studio/v1'
def deploy_contract(bytecode, abi, constructor_args):
"""Deploy a smart contract"""
url = f'{BASE_URL}/contracts/deploy'
headers = {
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json'
}
payload = {
'bytecode': bytecode,
'abi': abi,
'constructorArgs': constructor_args,
'gasLimit': 3000000
}
response = requests.post(url, headers=headers, json=payload)
result = response.json()
print(f"Contract deployed: {result['contractAddress']}")
return result
def call_contract(contract_address, method, args):
"""Read contract state"""
url = f'{BASE_URL}/contracts/{contract_address}/call'
headers = {'Authorization': f'Bearer {API_KEY}'}
params = {
'method': method,
'args[]': args
}
response = requests.get(url, headers=headers, params=params)
return response.json()
# Example usage
if __name__ == '__main__':
contract_addr = '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb'
balance = call_contract(contract_addr, 'balanceOf', ['0xAddress'])
print(f"Balance: {balance}")
const WebSocket = require('ws');
const API_KEY = 'your_api_key_here';
const ws = new WebSocket('wss://api.axiomlabs.studio/v1/stream', {
headers: {
'Authorization': `Bearer ${API_KEY}`
}
});
ws.on('open', () => {
console.log('Connected to Execution API stream');
// Subscribe to contract events
ws.send(JSON.stringify({
action: 'subscribe',
channel: 'contract_events',
filter: {
address: '0xYourContract',
events: ['Transfer', 'Approval']
}
}));
});
ws.on('message', (data) => {
const event = JSON.parse(data);
console.log('New event:', event);
if (event.type === 'Transfer') {
console.log(`Transfer: ${event.from} → ${event.to}`);
console.log(`Amount: ${event.value}`);
}
});
ws.on('error', (error) => {
console.error('WebSocket error:', error);
});
# Deploy contract
curl -X POST https://api.axiomlabs.studio/v1/contracts/deploy \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"bytecode": "0x6080604052...",
"abi": [...],
"constructorArgs": ["arg1", "arg2"],
"gasLimit": 3000000
}'
# Execute transaction
curl -X POST https://api.axiomlabs.studio/v1/transactions/execute \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "0xContract",
"method": "transfer",
"args": ["0xRecipient", "1000000000000000000"],
"gasPrice": "auto"
}'
# Query contract state
curl -X GET "https://api.axiomlabs.studio/v1/contracts/0xContract/call?method=balanceOf&args[]=0xAddress" \
-H "Authorization: Bearer YOUR_API_KEY"
Performance Formulas
Throughput Calculation
Theoretical TPS: 10,000 transactions/second
Gas Optimization Score
Average Gas Savings: 15-25%
Response Time SLA
Current Performance: 78ms (95th percentile)
Success Rate
Current Success Rate: 99.94%
Key Features
Smart Contract Deployment
Deploy Solidity contracts with automatic gas estimation, constructor parameter encoding, and deployment verification.
Atomic Batch Execution
Execute multiple transactions atomically with automatic rollback on failure. Perfect for complex DeFi operations.
Gas Price Oracle
Real-time gas price recommendations based on network congestion and priority level (low, medium, high, instant).
Event Subscriptions
WebSocket subscriptions for contract events, pending transactions, and block confirmations with filtering support.
Transaction Simulation
Test transactions before submission to prevent reverts and estimate accurate gas costs with state fork simulation.
Historical Data Access
Query historical blockchain state, contract events, and transaction history with full archive node support.
Rate Limiting & Authentication
API Key Authentication
All requests require Bearer token authentication:
Authorization: Bearer YOUR_API_KEY
Rate Limits
- ✓ Free Tier: 100 requests/minute
- ✓ Pro Tier: 1,000 requests/minute
- ✓ Enterprise: Custom limits
Response Headers
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 987
X-RateLimit-Reset: 1640000000
Interactive API Tester
Test API Endpoints
Test various API endpoints with demo data (no real blockchain transactions).
Base URLs
# REST API
https://api.axiomlabs.studio/v1
# WebSocket
wss://api.axiomlabs.studio/v1/stream
# Testnet
https://testnet-api.axiomlabs.studio/v1