Understand What You Sign
Learn approvals, calldata, EIP-712, Permit and Permit2 so wallet prompts stop being opaque.
What you will be able to do
Move from button labels to the actual destination, value and method encoded in the request.
Understand how approvals create persistent authority that can outlive the transaction that created them.
Read typed-data signatures as authorization objects, not harmless off-chain messages.
Combine origin, payload, authority and context into a decision the user can understand before signing.
Curriculum
This course includes
- ·8 lessons · 16 guided hours
- ·4 Lab · Practical scenarios
- ·8 Applied case files · 8 Knowledge checks
- ·52 Item exam bank · 80% pass mark
- ·Completion credential: UTXO Certified · Signing & Approval Literacy
What this course expects of you
- ·Translate a signing request into permissions, spend authority and risk.
- ·Passing score: 80%
- ·Wallet Security & Self-Custody
Training contract
Translate a signing request into permissions, spend authority and risk.
Transaction intent & calldata
Move from button labels to the actual destination, value and method encoded in the request.
Evidence memo · APPROVALToken approvals & spend authority
Understand how approvals create persistent authority that can outlive the transaction that created them.
Evidence memo · APPROVALEIP-712, Permit & Permit2
Read typed-data signatures as authorization objects, not harmless off-chain messages.
Evidence memo · TYPED-DATAIntent reconstruction & decision
Combine origin, payload, authority and context into a decision the user can understand before signing.
Evidence memo · APPROVALUnderstand What You Sign
Review the full curriculum, competencies and assessment path before starting.
Transaction intent & calldata
Move from button labels to the actual destination, value and method encoded in the request.
Token approvals & spend authority
Understand how approvals create persistent authority that can outlive the transaction that created them.
EIP-712, Permit & Permit2
Read typed-data signatures as authorization objects, not harmless off-chain messages.
Intent reconstruction & decision
Combine origin, payload, authority and context into a decision the user can understand before signing.
- Decode the selector and parameters.
- Compare decoded action with stated user intent.
- Confirm chain, destination and native value.
- Intermediary contracts expand the trust surface.
- No immediate transfer does not mean no economic risk.
- Review spender identity and allowance size.
- Unlimited approvals deserve explicit disclosure.
- Prefer scoped amounts when workflows allow it.
- Read primary type, domain, chain and verifying contract.
- Treat a typed signature as an authorization object.
- Off-chain signatures can create on-chain spending authority.
- Inspect spender, amount, token, nonce and deadline.
- Written field exercise × 8
- Knowledge checks × 8
- Module practical lab × 4
- Timed final exam · 20 · ≥ 80%
- Deep technical lesson · 360 min
- Written field exercise · 160 min
- Module practical lab · 140 min
- Specialist units · 105 min
- Timed final exam · 35 min
Scope, outcomes and study standard
Learn approvals, calldata, EIP-712, Permit and Permit2 so wallet prompts stop being opaque.
Recommended prior study
- Crypto & Blockchain Foundations
- Wallet Security & Self-Custody
- Decode the selector and parameters.
- Compare decoded action with stated user intent.
- Unknown calldata deserves more scrutiny, not blind confirmation.
- Confirm chain, destination and native value.
- Intermediary contracts expand the trust surface.
- A zero-value call can still grant powerful token authority.
- No immediate transfer does not mean no economic risk.
- Review spender identity and allowance size.
- Revoke obsolete permissions when appropriate.
- Unlimited approvals deserve explicit disclosure.
- 01
Read the six-part technical chapter
- 02
Inspect the unique visual and protocol model
- 03
Work through the case file and evidence map
- 04
Submit the written field exercise
- 05
Pass the knowledge check and module lab
- 06
Complete the timed final assessment
Claims should be tied to observable fields, protocol behavior, primary references or clearly stated assumptions. Unknowns must remain explicit instead of being silently treated as safe.
Completion requires the written work, knowledge checks, all module labs and a final exam score of at least 80%. Professional level also requires the capstone.
- The button label is not the transaction
- On EVM chains, calldata specifies which function is called and with which parameters. A UI can say swap while the payload authorizes a different contract or action. Transaction security reconstructs the method and parameters from the payload rather than trusting the page label.
- Destination and value are the first invariants
- Before deeper analysis, establish which address receives native value, which contracts are called and which chain is active. Many attacks exploit chain switches, hidden value fields or unexpected intermediary contracts.
- An approval delegates future spending authority
- ERC-20 approval typically allows a spender contract to transfer tokens later up to an allowance. The approval transaction may move no tokens, yet it can create persistent authority that becomes exploitable later if the spender is malicious or compromised.
- Unlimited approvals trade convenience for blast radius
- Applications often request the maximum integer as an allowance so users do not approve repeatedly. That convenience means the spender can potentially move the entire future balance of that token while the approval remains valid.
- Typed data is readable structure, but still authorization
- EIP-712 gives signed data a typed structure and domain separator, improving display and replay resistance. It does not make a message safe. The fields can encode orders, permits or other rights that produce later on-chain effects.
- Permit and Permit2 can move approval off-chain
- Permit-style systems let a signature authorize token spending without a traditional approval transaction first. Permit2 can centralize allowance mechanics across tokens. The security question becomes who the spender is, what amount and deadline are granted, and which verifying contract enforces the signature.
- Reconstruct intent from multiple independent fields
- A useful pre-signature layer compares what the user intended with the origin, chain, destination, method, parameters, approvals and expected asset changes. No single field proves safety; consistency across independent signals increases confidence.
- Risk scoring must end in an understandable decision
- A score without evidence encourages automation bias. The useful output is a decision context: what is unusual, what authority is granted, what could be lost and which uncertainty remains. Final execution should remain explicit unless an organization has deliberately configured policy automation.
Modern protocol and operational topics
These extensions broaden the core curriculum with current standards and security boundaries that practitioners are expected to recognize.
Replay protection, nonces and domain separation
Authorization must be scoped to the intended chain, contract, account state and lifetime. Transaction nonces, EIP-155 chain binding and EIP-712 domains reduce replay in different ways but still require correct application design.
ERC-4337 UserOperations and account abstraction
UserOperations move validation into smart-account logic and introduce bundlers, EntryPoint, paymasters and simulation rules. Review therefore shifts from one transaction envelope to a larger validation and sponsorship pipeline.
EIP-7702 delegated EOAs
EIP-7702 lets an EOA persistently delegate code execution through signed authorization tuples. Review chain binding, nonce, delegate implementation, initialization and revocation because a weak delegate can greatly expand account authority.
Transaction intent & calldata
Move from button labels to the actual destination, value and method encoded in the request.

The button label is not the transaction
The button label is not the transaction
On EVM chains, calldata specifies which function is called and with which parameters. A UI can say swap while the payload authorizes a different contract or action. Transaction security reconstructs the method and parameters from the payload rather than trusting the page label.
This concept matters because Decode the selector and parameters.
Calldata is the executable request; the frontend description is merely a claim about that request.
Decode selector and parameters before trusting the UI action label.
At protocol and execution level, inspect selector and arguments and target and native value and nested execution. Protocol identifiers remain untranslated because they are part of the technical payload.
selectorcalldata[0:4]
argumentsABI-decoded parameters
targettransaction.to
native valuetransaction.value
nested executionmulticall / router subcalls
A swap button can submit approve(), transferFrom() or arbitrary multicall logic while looking visually normal.
The practical consequence is that Compare decoded action with stated user intent. Unknown is not equivalent to safe.
- UI intent != decoded method
- unknown selector
- unexpected recipient
- hidden native value
- nested call changes authority
Block or review whenever decoded behavior materially diverges from declared intent.
The practical consequence is that Compare decoded action with stated user intent.
Escalate when evidence is contradictory, incomplete or the consequence exceeds routine policy.
Verify the request through independent evidence before irreversible authorization.
- 01
capture exact payload
- 02
resolve selector / ABI
- 03
decode every material parameter
- 04
trace nested calls when present
- 05
compare decoded action with user intent
Record the facts, assumptions, unknowns and decision so another analyst can reproduce the review.
Decode the selector and parameters. and Unknown calldata deserves more scrutiny, not blind confirmation.
Analyst objective
Decode the selector and parameters.
Mechanics
calldata[0:4]ABI-decoded parameterstransaction.totransaction.valuemulticall / router subcallsFailure signals
- 01
UI intent != decoded method
- 02
unknown selector
- 03
unexpected recipient
- 04
hidden native value
- 05
nested call changes authority
Verification procedure
- 01
capture exact payload
- 02
resolve selector / ABI
- 03
decode every material parameter
- 04
trace nested calls when present
- 05
compare decoded action with user intent
Reasoning chain
- 01
facts → material evidence
- 02
evidence → consequence / authority
- 03
consequence → explicit decision + next action
decoded-intent record + mismatch listFollow the security decision path
calldata / intent- selector: calldata[0:4]
- arguments: ABI-decoded parameters
- target: transaction.to
- native value: transaction.value
- nested execution: multicall / router subcalls
- UI intent != decoded method
- unknown selector
- unexpected recipient
- capture exact payload
- resolve selector / ABI
- decode every material parameter
- decoded-intent record + mismatch list
Swap 1 ETH0x095ea7b3approve(address,uint256)0xNew...MAX_UINT2560Before answering the checkpoint, identify the authority being granted, the trust boundary that can fail, and the consequence that becomes irreversible.
Organize before you decide
Separate identity, authority, execution and context before reaching a security decision.
Identity
Who or what is requesting, receiving or representing authority?
Authority
What capability can be granted, retained or exercised?
0xNew...Execution
What will the payload, route or system actually do?
0x095ea7b3approve(address,uint256)MAX_UINT2560Context
Which surrounding facts can materially change the decision?
Swap 1 ETHProduce an analyst-ready finding
Do not answer from memory. Use the case, protocol fields and verification procedure above to write a reproducible finding.
- Cites material evidence, not UI appearance.
- Names the authority, state transition or consequence.
- Provides a reproducible next action or decision.
- 01
Decode the selector and parameters.
- 02
Compare decoded action with stated user intent.
- 03
Unknown calldata deserves more scrutiny, not blind confirmation.
Build your evidence memo
Record your reasoning before the checkpoint. Finish with an explicit decision or next action. Notes stay on this device.
Develop all three sections before completion.
Destination and value are the first invariants
Destination and value are the first invariants
Before deeper analysis, establish which address receives native value, which contracts are called and which chain is active. Many attacks exploit chain switches, hidden value fields or unexpected intermediary contracts.
This concept matters because Confirm chain, destination and native value.
Routers and intermediary contracts separate the visible call target from the entity that ultimately receives value or authority.
Confirm chain, top-level destination, native value and final value receiver.
At protocol and execution level, inspect chain and recipient and native value and token movement and intermediary. Protocol identifiers remain untranslated because they are part of the technical payload.
chainchainId / network context
recipientto / resolved destination
native valuemsg.value / value
token movementdecoded transfer / transferFrom
intermediaryrouter / bridge / proxy
Wrong-chain or newly deployed intermediary contracts can redirect otherwise plausible transactions.
The practical consequence is that Intermediary contracts expand the trust surface. Unknown is not equivalent to safe.
- chain switch
- new destination
- clipboard substitution
- visible recipient != payload target
- zero-value call grants authority
Do not proceed until value path and destination identity are explainable.
The practical consequence is that Intermediary contracts expand the trust surface.
Escalate when evidence is contradictory, incomplete or the consequence exceeds routine policy.
Verify the request through independent evidence before irreversible authorization.
- 01
confirm chainId
- 02
resolve full destination
- 03
inspect native value
- 04
decode token movements
- 05
verify intermediary purpose
Record the facts, assumptions, unknowns and decision so another analyst can reproduce the review.
Confirm chain, destination and native value. and A zero-value call can still grant powerful token authority.
Analyst objective
Confirm chain, destination and native value.
Mechanics
chainId / network contextto / resolved destinationmsg.value / valuedecoded transfer / transferFromrouter / bridge / proxyFailure signals
- 01
chain switch
- 02
new destination
- 03
clipboard substitution
- 04
visible recipient != payload target
- 05
zero-value call grants authority
Verification procedure
- 01
confirm chainId
- 02
resolve full destination
- 03
inspect native value
- 04
decode token movements
- 05
verify intermediary purpose
Reasoning chain
- 01
facts → material evidence
- 02
evidence → consequence / authority
- 03
consequence → explicit decision + next action
destination-integrity recordFollow the security decision path
value / destination- chain: chainId / network context
- recipient: to / resolved destination
- native value: msg.value / value
- token movement: decoded transfer / transferFrom
- intermediary: router / bridge / proxy
- chain switch
- new destination
- clipboard substitution
- confirm chainId
- resolve full destination
- inspect native value
- destination-integrity record
ArbitrumEthereum0.3 ETH0xRouter...unknown2 hoursBefore answering the checkpoint, identify the authority being granted, the trust boundary that can fail, and the consequence that becomes irreversible.
Organize before you decide
Separate identity, authority, execution and context before reaching a security decision.
Identity
Who or what is requesting, receiving or representing authority?
unknownAuthority
What capability can be granted, retained or exercised?
Execution
What will the payload, route or system actually do?
0.3 ETHContext
Which surrounding facts can materially change the decision?
ArbitrumEthereum0xRouter...2 hoursProduce an analyst-ready finding
Do not answer from memory. Use the case, protocol fields and verification procedure above to write a reproducible finding.
- Cites material evidence, not UI appearance.
- Names the authority, state transition or consequence.
- Provides a reproducible next action or decision.
- 01
Confirm chain, destination and native value.
- 02
Intermediary contracts expand the trust surface.
- 03
A zero-value call can still grant powerful token authority.
Build your evidence memo
Record your reasoning before the checkpoint. Finish with an explicit decision or next action. Notes stay on this device.
Develop all three sections before completion.
Pass both lesson knowledge checks in this module before attempting the practical lab.
Token approvals & spend authority
Understand how approvals create persistent authority that can outlive the transaction that created them.
Complete the previous module, including its practical lab, before continuing.
EIP-712, Permit & Permit2
Read typed-data signatures as authorization objects, not harmless off-chain messages.

Complete the previous module, including its practical lab, before continuing.
Intent reconstruction & decision
Combine origin, payload, authority and context into a decision the user can understand before signing.
Complete the previous module, including its practical lab, before continuing.
Final examination
This is a cumulative assessment. Questions are rebuilt from the course concepts and practical scenarios on every attempt.
You must score at least 80% to pass. Completing theory alone does not issue a credential.