Skip to main content

SignatureRequest

An EIP-712 payload the user should sign instead of sending the corresponding approval transaction.

permitIdstringrequired

Opaque, self-describing handle for this permit. Round-trip it verbatim: POST {permits: [{permitId, signature}]} back to the same endpoint.

kindstringrequired

Permit flavour

Possible values: [erc2612, dai, permit2, aaveCredit, morphoAuth, cometAuth]

typedData objectrequired

Ready for eth_signTypedData_v4 (domain, types incl. EIP712Domain, primaryType, message). All numeric fields are decimal strings.

property name*any

Ready for eth_signTypedData_v4 (domain, types incl. EIP712Domain, primaryType, message). All numeric fields are decimal strings.

replacesstringrequired

Which permissions entry this signature replaces (ERC20 | Lender)

spenderstring

Who the signature authorises. Match against the permission / quote (approvalTarget) it replaces — on multi-spender responses (x-chain) only routes whose approvalTarget equals this spender are covered by the signature.

descriptionstringrequired

Human-readable label for this entry.

unscopedbooleanrequired

True when the grant is NOT amount-scoped (full position control until revoked) — surface this to the user.

deadlinestringrequired

Unix seconds after which the signature is worthless (default: 30 minutes).

SignatureRequest
{
"permitId": "string",
"kind": "erc2612",
"typedData": {},
"replaces": "string",
"spender": "string",
"description": "string",
"unscoped": true,
"deadline": "string"
}