Why Transaction Simulation Matters
Last Line of Defense
Users trust your app to protect them—make that trust count
Permit Protection
Catch EIP-712 signatures that can drain wallets without transactions
Approval Awareness
Show users their existing exposure before they add more
- Pre-signing simulation — Show users exactly what will happen before they approve
- EIP-712 signature analysis — Decode and risk-score permit/signature requests
- Approval risk detection — Identify dangerous existing approvals
- Recipient verification — Catch address poisoning before users confirm
- Multi-chain support — Same APIs for ETH, Polygon, Arbitrum, Base, and more
Prerequisites
Before implementing transaction simulation, ensure you have:- A Webacy API key (sign up here)
- Basic familiarity with REST APIs or the Webacy SDK
- Your application’s transaction signing flow identified for integration
Pre-Signing Protection
The moment before a user signs a transaction is your last chance to protect them.Transaction Simulation
Simulate every transaction before it gets signed.| Field | What It Means | Display Priority |
|---|---|---|
assetChanges[] | Tokens/ETH moving in or out | Always show |
riskLevel | Overall transaction risk | Show with color coding |
warnings[] | Specific threats detected | Show prominently if present |
EIP-712 Permit Signature Verification
Permit signatures are one of the most dangerous attack vectors. A single signature can authorize unlimited token spending without any on-chain transaction.| Red Flag | What It Means |
|---|---|
value = max uint256 | Unlimited token approval |
Unknown spender | Approving unknown contract |
Long deadline | Signature valid for extended period |
High riskLevel | Known malicious pattern detected |
Approval Risk Management
Users often have approvals they’ve forgotten about. Help them understand their exposure.Current Approval Scanning
Show users their existing approvals before they add more.Dangerous Approval Detection
Flag approvals that could be used to drain the wallet.Recipient Verification
Before a user sends funds, verify the recipient address isn’t part of an attack.Address Poisoning Check
Risk Profiling
Get a quick risk assessment of any recipient.Complete Integration Workflow
Pre-Signing Check Flow
Approval Health Check Flow
Full TypeScript Implementation
Complete Transaction Security Module
Complete Transaction Security Module
Example Addresses for Testing
Permit Phishing
| Address | Chain | Description |
|---|---|---|
0x84672cc56b6dad30cfa5f9751d9ccae6c39e29cd | ETH | AI Protocol user permit phishing |
0x624Fc3Dc249E37E8BFd3e834C4dF81Ff2dA1D0Ca | BSC | Malicious permit scammer |
Address Poisoning
| Address | Chain | Description |
|---|---|---|
0xd9A1C3788D81257612E2581A6ea0aDa244853a91 | ETH | $68M WBTC attack |
0x5f90e59d0a03fd2f8c56b8cc896c5b42594eb3a0 | ETH | $50M poisoning drain |
Known Drainers
| Address | Chain | Attribution |
|---|---|---|
0xe7d13137923142a0424771e1778865b88752b3c7 | ETH | WalletConnect phishing campaign |
0x1aDf5DAc035AE7FEC116e8345e005FB88d542f53 | ETH | Phishing scammer |
Clean Addresses (for comparison)
| Address | Chain | Description |
|---|---|---|
0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 | ETH | Vitalik’s wallet (low risk) |
0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 | ETH | USDC contract (verified) |
API Quick Reference
| Endpoint | Use Case | Response Time |
|---|---|---|
POST /scan/transaction | Transaction simulation | ~500ms |
POST /scan/eip712 | Signature analysis | ~300ms |
GET /addresses/{address}/poisoning | Address poisoning | ~300ms |
GET /addresses/{address}/quick-profile | Recipient risk | ~200ms |
GET /wallets/{address}/approvals | Approval list | ~400ms |
Next Steps
Get Your API Key
Start protecting your users
API Reference
Complete endpoint documentation
Install the SDK
TypeScript SDK for integration
Address Poisoning
Learn more about this attack vector
