Back

Signatures messages and transactions

P03-L03 · P03 · P03-M01

Distinguish message signing from asset-changing instructions

ILLUSTRATIVE · needs_review

Prerequisites: P03-L02

Learning objectives

  • Distinguish message signing from asset-changing instructions
  • Read approval-bearing message fields.
  • Separate requested, signed, submitted and executed stages.

EN source master · P03-L03 · needs_review

Offline/read-only study only. Never provide secrets, passwords or authentication codes. No wallet connection, real approval, live revocation, transaction signature, transfer, funds or trade. Visuals are specifications only.

Why this matters

A request caption can say login while its fields authorize spending. The actual request and later execution evidence must be assessed separately.

Explanation

Classify the authorization

Transactions carry signed instructions [ETH_TX]. Messages can also authorize application actions. EIP-712 defines structured signing and domain context; replay handling remains an application responsibility [TYPED]. ERC-2612 provides a signed allowance mechanism using owner, spender, value, nonce and deadline [PERMIT]. No signature is created in this lesson.

Compare three offline summaries

R1 stipulates a login-style statement, R2 a permit-shaped request and R3 a transfer request. R2's login caption does not remove the spender/value fields. R1 lacks stipulated asset authority, but its harmlessness outside the simplified exercise is not established. A generic signature button cannot answer what an application will accept the signed content as.

Preserve scope

Read network/domain, verifying contract, authority, spender, amount, nonce and deadline where applicable. If missing, record UNKNOWN rather than borrowing fields from another card. A familiar domain name field is not independent project authentication. Nonce and expiry need the accepting application's rules; a format alone is not a complete safety policy.

A permit can be submitted by another party under the relevant contract rules. Therefore a lack of signer-submitted gas transaction does not prove that a message cannot authorize an allowance. Conversely, a displayed permit request does not prove any signature exists or has been consumed.

Keep stages in the report

Requested, signed, submitted and executed are separate rows. Here only requests are supplied. OBSERVED: the summaries and captions. INFERRED: classification under stipulated schemas. UNKNOWN: signature production and execution. INSUFFICIENT EVIDENCE: loss, malicious intent or human identity. Assess capability without asserting an accusation, and stop without signing anything.

Key terms

  • Typed message: structured signing content.
  • Permit: applicable signed approval mechanism.
  • Domain separation: scope context, not identity proof.
  • Nonce: a value checked against the accepting contract's state to distinguish authorizations; ERC-2612 increments its owner nonce on a successful permit.
  • Deadline: the last time an ERC-2612 permit may be accepted under its rules, not a guarantee of execution.
  • Consumption: application/contract use of authorization.

Historical example

ILLUSTRATIVE sanitized summaries, not signable payloads. R1 login/SIM-LOGIN/SIM-CHALLENGE, no asset permission stipulated. R2 caption login, type Permit, owner SIM-A, spender SIM-S, value 500 whole fixture units, nonce 4, deadline SIM-T3, domain SIM-N/contract SIM-C. R3 transfer request 7 SIM units to SIM-B on SIM-N. No signatures, calldata or receipts.

Visual specifications

Permissions matrix: caption/type/scope/execution evidence. Highlight R2 Permit/SIM-S/500 despite login caption. All cards stop before signing; no usable payload or transaction button.

What the evidence proves

Request fields and stipulated capability classifications.

What the evidence does not prove

Signing, inclusion, asset loss, full replay protection or malicious human intent.

Common mistakes

  • All messages called harmless login.
  • No gas interpreted as no authority.
  • Request display equated to execution.

Practical exercise

Classify R1–R3 and list R2's authority fields. Fill requested/signed/submitted/executed rows and specify a missing record needed for execution.

Submit a table and bounded conclusion using only supplied offline material. Editorial time allocation: study 12 min, exercise 8 min, correction/quiz 10 min.

Show worked correction

R1 is only a fixture login statement. R2 requests an allowance-bearing capability scoped to SIM-N/SIM-C, SIM-S, 500, nonce 4 and fictional expiry. R3 requests a transfer. Signing/submission/execution UNKNOWN. A consumed-signature/state or receipt record is needed for execution. Malicious intent is INSUFFICIENT EVIDENCE.

Rubric: exact scope, source provenance, reasoning, explicit limits and safe offline handling, one point each. Invented observations or unsupported identity attribution require correction regardless of score. Formative only.

Checklist

  • Read fields before caption.
  • Record contract/network/spender/amount.
  • Keep nonce/expiry context.
  • Separate four stages.
  • Never sign as exercise.

Summary

Message signing can authorize consequential actions. Capability inspection does not prove execution or independently establish malicious intent.

Summary

  • Distinguish message signing from asset-changing instructions
  • Read approval-bearing message fields.
  • Separate requested, signed, submitted and executed stages.

Next lesson

P03-L04 after prerequisite and correction review.

Tools

NONE in authoritative catalog. Provided offline data suffice; no product purchase or wallet operation required.

Sources & claim boundaries

Documentation explains mechanisms. Historical records retain their declared source class. Source inspection is not independent editorial acceptance.

Visual specifications

P03-L03-V01

SPECIFICATION_ONLY · ILLUSTRATIVE

Distinguish message signing from asset-changing instructions

ILLUSTRATIVE sanitized offline cards, not a live screen

Permissions matrix: caption/type/scope/execution evidence. Highlight R2 Permit/SIM-S/500 despite login caption. All cards stop before signing; no usable payload or transaction button.

Permissions matrix: caption/type/scope/execution evidence. Highlight R2 Permit/SIM-S/500 despite login caption. All cards stop before signing; no usable payload or transaction button.

390px stacked cards/text equivalent; 768px/desktop render acceptance pending

RTL prose; identifiers isolated LTR; factual edge directions preserved

FIX-P03-L03

Sources & claim boundaries

TYPED · PRIMARY_DOCUMENTATION

EIP-712 typed structured signing

Supported claim
Structured signing/domain fields; application replay protections remain separate.
Verification boundary
Primary source inspected for associated mechanism or attributed statement; no authentication of illustrative data.
Checked at
2026-10-01
Open primary source
https://eips.ethereum.org/EIPS/eip-712

PERMIT · PRIMARY_DOCUMENTATION

ERC-2612 signed approvals

Supported claim
Permit allowance authorization with owner, spender, value, nonce and deadline.
Verification boundary
Primary source inspected for associated mechanism or attributed statement; no authentication of illustrative data.
Checked at
2026-10-01
Open primary source
https://eips.ethereum.org/EIPS/eip-2612

Dataset provenance

id: FIX-P03-L03

dataStatus: ILLUSTRATIVE

source: Original embedded offline cards; no real observations

observedAt: null

timeBasis: SIM/T markers are fictional order, not UTC timestamps

Test your reasoning

P03-L03-Q1 · Login caption overrides Permit fields?
P03-L03-Q2 · Missing execution evidence?
P03-L03-Q3 · EIP-712 alone ensures replay protection?
P03-L03-Q4 · Direct spend scope fields?
P03-L03-Q5 · Approval request proves malicious intent?