A powerful EVM transaction toolkit built with React, RainbowKit, and Viem. Simulate, craft, and send transactions across multiple chains with advanced validation and gas analysis.
- π Connect Wallet - RainbowKit integration for seamless wallet connection
- π Dual Input Modes - Paste ABI JSON or type function signatures directly
- π§ͺ Advanced Simulation - Comprehensive gas analysis with balance checking
- ποΈ Smart Read Functions - Automatic detection of view/pure functions with free calls
β οΈ Contract Validation - Verifies contracts exist before simulation- π° Real-time Gas - Live gas price tracking with cost calculations
- π Refresh Controls - Easy re-parsing and parameter clearing
- π Built-in Documentation - Interactive "How to Use" guide
- π Multi-chain Support - Ethereum, Polygon, Optimism, Arbitrum, Base, Celo + testnets
- Node.js 18+
- A wallet (MetaMask, etc.)
npm install- Get a WalletConnect Project ID from WalletConnect Cloud
- Update the
projectIdinsrc/wagmi.js:
export const config = getDefaultConfig({
appName: 'TxForge',
projectId: 'YOUR_WALLETCONNECT_PROJECT_ID', // Replace this
// ...
})npm run devOpen http://localhost:5173 in your browser.
- Connect Wallet - Click "Connect Wallet" in the top-right
- Choose Input Mode - Toggle between "ABI JSON" or "Function Interface"
- Enter Function - Paste ABI or type signature like
function transfer(address to, uint256 amount) returns (bool) - Fill Parameters - Enter contract address and function arguments
- Simulate First - Always test before sending to check gas costs
- Send or Read - Execute transaction or call view functions for free
- Dual Input Modes - Choose between full ABI JSON or simple function signatures
- Smart Function Detection - Automatically handles read vs write functions differently
- Real Gas Cost Analysis - Shows actual costs, not just estimates
- Contract Validation - Prevents wasted gas on invalid addresses
- Built-in Documentation - No need to leave the app to learn how to use it
- Beautiful UI - Modern, responsive design with dark theme
- Type-Safe - Full TypeScript support for reliable operation
Paste complete ABI from Etherscan or build artifacts:
{
"type": "function",
"name": "transfer",
"inputs": [
{ "name": "to", "type": "address" },
{ "name": "amount", "type": "uint256" }
],
"outputs": [{ "name": "", "type": "bool" }],
"stateMutability": "nonpayable"
}Just type the function signature:
function transfer(address to, uint256 amount) returns (bool)
function balanceOf(address account) view returns (uint256)
function approve(address spender, uint256 amount) external returns (bool)
TxForge automatically detects function types:
- ποΈ Read Functions (view/pure): Free calls, no wallet needed, instant results
- β‘ Write Functions (payable/nonpayable): Require simulation, show gas analysis, need wallet for sending
When simulating transactions, TxForge provides:
- Gas Limit: Base gas units needed
- Safety Buffer: 20% extra for reliability
- Current Gas Price: Live network pricing (updates every 30s)
- Total Cost: Actual fee in native token (ETH, MATIC, etc.)
- Balance Check: Warns if insufficient funds for gas
Before any operation, TxForge:
- β Verifies contract exists at the address
- β Confirms it's deployed on the current network
- β Shows clear errors for invalid/undeployed contracts
TxForge handles all Solidity types with smart parsing:
| Type | Example Input | Notes |
|---|---|---|
address |
0x742d35Cc6634C0532925a3b844Bc9e7595f... |
Auto-validates checksum |
uint256 |
1000000000000000000 |
BigInt conversion |
int256 |
-500 |
Signed integer support |
bool |
true or false |
Case-insensitive |
bytes |
0x1234... |
Auto 0x prefix |
bytes32 |
0x1234... |
Fixed-size bytes |
string |
Hello World |
UTF-8 support |
| Arrays | ["value1", "value2"] or value1, value2 |
JSON or CSV format |
| Structs | {"field": "value"} |
Nested object support |
Mainnets:
- Ethereum (ETH)
- Polygon (MATIC)
- Optimism (OP)
- Arbitrum One (ARB)
- Base (ETH)
- Celo (CELO)
Testnets:
- Sepolia
- Goerli
- Amoy (Polygon)
- Arbitrum Sepolia
- Optimism Sepolia
- Base Sepolia
- Celo Alfajores
All networks support real-time gas price tracking and automatic contract validation.
- Interactive Guide - Click "How to Use" for step-by-step instructions
- Example ABIs - Copy common contract functions to try
- Pro Tips - Advanced usage patterns and best practices
- Type Safety - Full TypeScript support with Viem
- Error Handling - Comprehensive validation and user feedback
- Real-time Updates - Live gas prices and network status
- Responsive Design - Works on desktop and mobile
- React 18 - Modern UI framework with hooks
- Vite - Lightning-fast build tool and dev server
- RainbowKit - Beautiful wallet connection UI
- Wagmi - Powerful React hooks for Ethereum
- Viem - Type-safe TypeScript interface for Ethereum
- TanStack Query - Robust async state management
- CSS Variables - Maintainable theming system
TxForge is actively developed and evolving. As an open-source project, we welcome contributions, bug reports, and feature requests!
- π Current Version: In active development
- π Bug Reports: GitHub Issues
- π‘ Feature Requests: GitHub Discussions
TxForge is a powerful tool that can interact with any smart contract. While we've built in many safety features, blockchain transactions are irreversible and can result in permanent loss of funds.
- β Contract existence validation
- β Comprehensive gas cost analysis
- β Balance verification before transactions
- β Clear warnings for high-risk operations
- β Educational documentation
- Report it: GitHub Issues
- Include details: Browser, network, steps to reproduce
- Read the Terms of Service (
/terms-of-service.html) - Understand the Privacy Policy (
/privacy-policy.html) - Start with test networks (Sepolia, etc.)
- Only use funds you can afford to lose
- Always simulate transactions first
If you're hosting TxForge publicly, consider:
- Adding rate limiting to prevent abuse
- Monitoring for suspicious activity
- Educating users about blockchain risks
- Having a clear disclaimer and terms of service
Found a bug or have a feature request? Open an issue on GitHub!
MIT License - feel free to use TxForge in your projects.