private/set_session_key_debug
Takes the same params as private/set_session_key and rebuilds the session-key Action without executing anything, returning the EIP-712 encoded_data, encoded_data_hashed, action_hash, typed_data_hash, domain_separator, action_typehash, module, owner and expected_signer, plus the decoded session key, expiry, protocol scopes and subaccounts. Byte-compare these against your local computation to find why a signature is rejected. Requires a logged-in session.
Body
Request parameters for registering a scoped session key. Address fields are 0x-prefixed hex strings.
x >= 0Off-chain scopes which are validated in backend only
Scopes granted to the session key, validated by the protocol. Each is a string like "trade:orderbook:all".
Session key address being authorized.
0x-prefixed hex, 65-byte r||s||v.
x >= 0Wallet the session key is being registered for.
x >= 0Response
Success
Debug-route payload for one rebuilt action: the EIP-712 hashes plus the action input fields.
EIP-712 struct hash of the Action: keccak256(abi.encode(action_typehash, …, encoded_data_hashed, …)).
ACTION_TYPEHASH — keccak of the Action struct type string; invariant across deployments.
EIP-712 domain separator of the Matching contract for this deployment.
ABI-encoded, module-specific action payload (the data bytes), 0x-hex.
keccak256(encoded_data) — the value packed into the struct hash.
The signer the signature is checked against.
The rebuilt Action envelope and its decoded module-specific data.
Per-action module contract address bound into the signed struct.
Wallet that owns the subaccount the action applies to.
Final EIP-712 digest the client signs: keccak256(0x1901 || domain_separator || action_hash).
null on the debug routes (no signature is checked there); on a signature-mismatch error this is the address actually recovered.
