Programmatically create, deploy, and manage ERC20 tokens across Ethereum, Optimism, and Base networks. Build powerful blockchain applications with our RESTful API.
The ERC20 Token Creator API provides a comprehensive suite of endpoints for programmatic token creation and management. Built on RESTful principles, our API enables developers to integrate blockchain token deployment directly into their applications, platforms, or services.
Average response time under 200ms. 99.9% uptime SLA with automatic failover and redundancy across multiple regions.
Enterprise-grade security with API key authentication, request signing, IP whitelisting, and encrypted data transmission.
Deploy tokens on Ethereum mainnet, Optimism, and Base networks with a single unified API interface.
https://api.erc20tokencreator.net/v1All API requests must be made over HTTPS. Requests made over plain HTTP will be rejected.
The API uses API key authentication. Include your API key in the request header for all API calls. You can obtain your API key by contacting api@erc20tokencreator.net.
Authorization: Bearer YOUR_API_KEYcurl -X POST https://api.erc20tokencreator.net/v1/tokens \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "My Token",
"symbol": "MTK",
"totalSupply": "1000000",
"network": "ethereum"
}'/tokensDeploy a new ERC20 token to the specified blockchain network.
namerequiredType: string
Description: The full name of the token (e.g., "My Awesome Token")
symbolrequiredType: string
Description: Token ticker symbol, 3-5 characters (e.g., "MAT")
totalSupplyrequiredType: string
Description: Total token supply (e.g., "1000000")
decimalsoptionalType: number
Default: 18
Description: Number of decimal places (0-18)
networkrequiredType: string
Options: "ethereum" | "optimism" | "base"
Description: Target blockchain network for deployment
tokenTyperequiredType: string
Options: "standard" | "community" | "defi" | "enterprise" | "gaming" | "premium"
Description: Token template type with specific features
walletAddressrequiredType: string
Description: Ethereum address to receive the tokens (must be valid EVM address)
metadataoptionalType: object
Description: Additional token metadata (description, website, social links)
{
"name": "My Awesome Token",
"symbol": "MAT",
"totalSupply": "1000000",
"decimals": 18,
"network": "ethereum",
"tokenType": "defi",
"walletAddress": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"metadata": {
"description": "A revolutionary DeFi token",
"website": "https://mytoken.com",
"twitter": "https://twitter.com/mytoken"
}
}{
"success": true,
"data": {
"tokenId": "tok_1a2b3c4d5e6f",
"contractAddress": "0x1234567890abcdef1234567890abcdef12345678",
"transactionHash": "0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890",
"network": "ethereum",
"name": "My Awesome Token",
"symbol": "MAT",
"totalSupply": "1000000",
"decimals": 18,
"deployedAt": "2025-01-15T10:30:00Z",
"explorerUrl": "https://etherscan.io/address/0x1234567890abcdef1234567890abcdef12345678"
}
}/tokens/:tokenIdRetrieve detailed information about a specific token.
tokenIdThe unique identifier of the token returned during creation
{
"success": true,
"data": {
"tokenId": "tok_1a2b3c4d5e6f",
"contractAddress": "0x1234567890abcdef1234567890abcdef12345678",
"network": "ethereum",
"name": "My Awesome Token",
"symbol": "MAT",
"totalSupply": "1000000",
"decimals": 18,
"tokenType": "defi",
"status": "deployed",
"deployedAt": "2025-01-15T10:30:00Z",
"holders": 42,
"transactions": 156
}
}/tokensRetrieve a paginated list of all tokens created with your API key.
pageType: number | Default: 1 | Page number for pagination
limitType: number | Default: 20 | Max: 100 | Items per page
networkType: string | Optional: Filter by network (ethereum, optimism, base)
{
"success": true,
"data": {
"tokens": [
{
"tokenId": "tok_1a2b3c4d5e6f",
"name": "My Awesome Token",
"symbol": "MAT",
"network": "ethereum",
"deployedAt": "2025-01-15T10:30:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 42,
"pages": 3
}
}
}/networks/statusCheck the current status and gas prices of supported networks.
{
"success": true,
"data": {
"networks": [
{
"name": "ethereum",
"status": "operational",
"gasPrice": {
"slow": "25",
"standard": "30",
"fast": "35",
"unit": "gwei"
},
"blockNumber": 18500000
},
{
"name": "optimism",
"status": "operational",
"gasPrice": {
"slow": "0.001",
"standard": "0.002",
"fast": "0.003",
"unit": "gwei"
},
"blockNumber": 112000000
},
{
"name": "base",
"status": "operational",
"gasPrice": {
"slow": "0.001",
"standard": "0.002",
"fast": "0.003",
"unit": "gwei"
},
"blockNumber": 8500000
}
]
}
}Here are practical examples of using the API in different programming languages.
const axios = require('axios');
const API_KEY = 'your_api_key_here';
const BASE_URL = 'https://api.erc20tokencreator.net/v1';
async function createToken() {
try {
const response = await axios.post(
`${BASE_URL}/tokens`,
{
name: 'My Token',
symbol: 'MTK',
totalSupply: '1000000',
decimals: 18,
network: 'ethereum',
tokenType: 'standard',
walletAddress: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb',
metadata: {
description: 'My awesome token',
website: 'https://mytoken.com'
}
},
{
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json'
}
}
);
console.log('Token created:', response.data);
return response.data;
} catch (error) {
console.error('Error creating token:', error.response?.data || error.message);
throw error;
}
}
createToken();import requests
import json
API_KEY = 'your_api_key_here'
BASE_URL = 'https://api.erc20tokencreator.net/v1'
def create_token():
headers = {
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json'
}
payload = {
'name': 'My Token',
'symbol': 'MTK',
'totalSupply': '1000000',
'decimals': 18,
'network': 'ethereum',
'tokenType': 'standard',
'walletAddress': '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb',
'metadata': {
'description': 'My awesome token',
'website': 'https://mytoken.com'
}
}
try:
response = requests.post(
f'{BASE_URL}/tokens',
headers=headers,
json=payload
)
response.raise_for_status()
print('Token created:', json.dumps(response.json(), indent=2))
return response.json()
except requests.exceptions.RequestException as e:
print(f'Error creating token: {e}')
raise
if __name__ == '__main__':
create_token()<?php
$apiKey = 'your_api_key_here';
$baseUrl = 'https://api.erc20tokencreator.net/v1';
function createToken($apiKey, $baseUrl) {
$data = [
'name' => 'My Token',
'symbol' => 'MTK',
'totalSupply' => '1000000',
'decimals' => 18,
'network' => 'ethereum',
'tokenType' => 'standard',
'walletAddress' => '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb',
'metadata' => [
'description' => 'My awesome token',
'website' => 'https://mytoken.com'
]
];
$ch = curl_init($baseUrl . '/tokens');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json'
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode === 201) {
echo "Token created: " . $response . "\n";
return json_decode($response, true);
} else {
echo "Error creating token: " . $response . "\n";
return null;
}
}
createToken($apiKey, $baseUrl);
?>The API uses standard HTTP status codes to indicate success or failure. All error responses include a JSON body with details about the error.
{
"success": false,
"error": {
"code": "INVALID_PARAMETER",
"message": "The 'symbol' parameter must be 3-5 characters",
"field": "symbol",
"timestamp": "2025-01-15T10:30:00Z"
}
}OK
Request succeeded
Created
Resource created successfully
Bad Request
Invalid request parameters or malformed JSON
Unauthorized
Invalid or missing API key
Forbidden
API key doesn't have permission for this action
Not Found
Requested resource doesn't exist
Too Many Requests
Rate limit exceeded
Internal Server Error
Something went wrong on our end
INVALID_PARAMETEROne or more request parameters are invalid
INSUFFICIENT_FUNDSWallet doesn't have enough ETH for deployment
NETWORK_ERRORBlockchain network is temporarily unavailable
DUPLICATE_SYMBOLToken symbol already exists on this network
RATE_LIMIT_EXCEEDEDToo many requests in a short time period
To ensure fair usage and system stability, the API implements rate limiting. Rate limits vary based on your subscription tier.
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1642262400Webhooks allow you to receive real-time notifications about events related to your tokens. Configure webhook endpoints to be notified when tokens are deployed, transactions occur, or errors happen.
token.deployedTriggered when a token is successfully deployed to the blockchain
token.verifiedTriggered when a token contract is verified on the block explorer
token.failedTriggered when token deployment fails for any reason
token.transferTriggered when tokens are transferred (optional, high volume)
{
"event": "token.deployed",
"timestamp": "2025-01-15T10:30:00Z",
"data": {
"tokenId": "tok_1a2b3c4d5e6f",
"contractAddress": "0x1234567890abcdef1234567890abcdef12345678",
"transactionHash": "0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890",
"network": "ethereum",
"name": "My Awesome Token",
"symbol": "MAT"
}
}X-Webhook-Signature) that you should verify to ensure the request came from our servers. Contact api@erc20tokencreator.net for webhook setup and signature verification details.Need help with the API? Have questions about integration? Want to discuss enterprise solutions? We're here to help.
For API access requests, technical support, or integration assistance:
api@erc20tokencreator.netWe typically respond within 24 hours on business days. Enterprise customers receive priority support.
Get your API credentials today and start creating tokens programmatically. Join developers building the future of blockchain applications.