ACTUAL DEFI DEVELOPER PAIN · FREE OFFLINE DIAGNOSIS

Permit2 call reverts?
Check the scope first.

Is your app mixing AllowanceTransfer and SignatureTransfer? Does your signed spender differ from the contract actually calling Permit2? Before debugging gas, compare the required fields and function names using private browser-local JSON checks.

No wallet, signing, RPC, onchain approval lookup, secrets, balances, transaction submission or third-party analytics. No payment is made by viewing, typing, or analyzing this page. Never paste private keys, signed messages, API tokens or personal data.

The bug is often in the interface.
AllowanceTransferpermit()
Reusable spenderpermit.spender
Later spend callermsg.sender
SignatureTransferpermitTransferFrom()
Spender bindingcalling contract
Actual recipienttransferDetails.to
Do not infer onchain validity from this diagram.
0connected wallets
0RPC requests
2specific Permit2 flows
$0for local checks

Review the call before gas estimation.

Load a fictional example or paste a nonsecret, unsigned JSON planning envelope. This tool reads declared caller, spender, token, transfer amount and expected chain; it cannot run the contract or decode a revert.

Local-only JSON
Permit2 call planmax 40KB

No signed data. No real wallet history. Examples are fictional. If unsure what to paste, use the buttons above.

No private signing key, wallet extension, gas, escrow or payment. The browser does not upload your pasted JSON.

Local explanationnot a safety verdict
WHAT CAN WE INFER?No input inspected

Run the fictional broken case first.

Differences in method names, caller, spender, signed amount, expiry and chain are often more useful than a generic estimateGas error.

—Needs attention
0USDC charged

Scope findings

  • Inspect a sample; no signing or chain state is available.
Ready to check locally. No network requests.

An unknown or unflagged field never implies a safe call. Check the actual ABI, EIP-712 hash, nonce state and revert separately.

Two mechanisms, two different calls.

ALLOWANCE

PermitSingle / PermitBatch

Use permit(address owner, PermitSingle|PermitBatch, bytes signature), then a separate transferFrom. The signed spender should match the contract that later invokes transferFrom; a relayer may submit the original permit.

SIGNATURE

PermitTransferFrom

Use permitTransferFrom(permit, transferDetails, owner, signature). Signed permission includes token/amount, nonce and deadline; actual caller is incorporated in contract authorization, while transferDetails.to is supplied by the call.

SEPARATE LAYERS

ERC-20 → Permit2

The token's ERC-20 approval of the Permit2 contract differs from the spender's Permit2-level permission. A checkbox or copied JSON does not independently prove either live allowance.

UNKNOWN

No gas or revert simulation

We don't sign, broadcast, estimate gas, fetch allowance state, inspect deployed bytecode, recover a signature, decode custom errors or certify a protocol. Use a verified testnet/local fork for execution debugging.

!
Specific outside-user context:

This tool addresses a class of mistakes illustrated by a real public Uniswap Permit2 debugging question. No affiliation, endorsement, actual remediation result, paying user or verified signature is implied.

Explain the issue before asking for money.

FREE LOCAL CHECKER

Use the app yourself

No account, wallet, token approval, key, API key or payment. For deeper EIP-712 declaration inspection also use the original SignScope free inspector.

Run free checks ↗

OPTIONAL / EXISTING ORIGINAL SELLER

15 Circle Base USDC scope review

One independently funded, nonsecret unsigned Permit2/EIP-712 specimen. The original same-owner VM2 Clawlancer seller offers a bounded AI-assisted field-by-field technical review with documented unknowns, subject to order and mutual written scope acceptance. No live contract audit, account access, wallet signing or safety guarantee.

View real 15 USDC fixed offer ↗

As of launch, no independent paid customer, USDC payment or testimonial is verified. Published price does not equal realized earnings.