AI Web3 Invoicer.

Paste complex blockchain machine code. Get human-readable security analysis in milliseconds powered by AI.

Network
Sender (From)
Target / Program ID
Raw Hex Calldata / Instruction Data
Awaiting Data
Run an analysis to see the human-readable translation.
No assets identified yet.

How It Works

1

Paste the Data

Grab the unreadable calldata or instruction payload from your wallet before you hit sign.

2

AI Analysis

Our edge functions query Gemini AI to cross-reference addresses and decode the smart contract intent.

3

Sign Safely

Review the color-coded risk assessment. Green means safe transfer, Red means potential drainer.

Frequently Asked Questions

Is this safe? Do you need my private keys?

Readable Receipt is a 100% read-only tool. We never ask for your private keys or seed phrase. We only analyze public blockchain transaction data.

What is "Calldata"?

Calldata is the raw, machine-readable hex code (like 0x095e...) that tells a smart contract what to do. Scammers hide malicious commands inside this unreadable data.

Why do you need the From and To addresses?

Context is everything. By knowing the target contract address, our AI can tell you "You are approving USDC" instead of just "You are approving a token."

Developer Integrations

Integrate the Readable Receipt translation engine directly into your own dApps, wallets, or backend security pipelines.

Response Schema

Our AI engine returns a standardized JSON object you can easily parse in your frontend UI to block malicious transactions automatically.

{ "summary": "Granting permission to transfer all your NFTs.", "actionType": "escalate", // ignore | review | escalate "riskLevel": "high", "assets": [ { "name": "BoredApeYachtClub", "amount": "All" } ] }

Backend Integration (Python)

Example showing how to route calldata through a Python backend to keep security checks server-side before serving to the client.

import requests def analyze_transaction(calldata, from_addr, to_addr): url = "https://api.readablereceipt.dev/v1/analyze" payload = { "network": "EVM", "calldata": calldata, "from": from_addr, "to": to_addr } response = requests.post(url, json=payload) return response.json()

Frontend Integration (Next.js / Vanilla TS)

Intercept a user's transaction before it reaches the wallet provider.

const response = await fetch('https://api.readablereceipt.dev/v1/analyze', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ network: "Solana", calldata: "Base58_Instruction_Data...", from: "UserPublicKey", to: "TargetProgramID" }) }); const analysis = await response.json(); if (analysis.actionType === 'escalate') { // Block transaction and trigger Red Warning UI showWarningModal(analysis.summary); }