Transfers & Withdrawals

private/transfer_spot_external_debug

Takes the same params as private/transfer_spot_external and rebuilds the external transfer 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 transfer action data including the recipient address. Byte-compare these against your local computation to find why a signature is rejected. Requires a logged-in session; no transfer scope needed.

post/private/transfer_spot_external_debug

Request

  • Base URL: https://api.derive.xyz/v3
  • URL: https://api.derive.xyz/v3/private/transfer_spot_external_debug
  • Auth: none declared

Request body

amountstring decimal required

Transfer amount in units of the asset, as a decimal string (e.g. "1.5") or JSON number.

asset_namestring required
max_fee_usdstring decimal required

Maximum sequencer fee the signer authorises, in USD, as a decimal string (e.g. "1.5") or a JSON number. Must cover both the transfer fee and any subaccount-creation fee.

new_subaccount_managerinteger required

Manager id for the new subaccount when to_subaccount_id == 0.

noncestring required
recipient_addressstring required

Owner of the destination account/subaccount.

signaturestring required
signature_expiry_secinteger required
signerstring required
sub_idinteger required
subaccount_idinteger required
to_subaccount_idinteger required

Recipient's existing destination subaccount. 0 → create a new subaccount for recipient_address under new_subaccount_manager.

Response

Success

action_hashstring required

EIP-712 struct hash of the Action: keccak256(abi.encode(action_typehash, …, encoded_data_hashed, …)).

action_typehashstring required

ACTION_TYPEHASH — keccak of the Action struct type string; invariant across deployments.

domain_separatorstring required

EIP-712 domain separator of the Matching contract for this deployment.

encoded_datastring required

ABI-encoded, module-specific action payload (the data bytes), 0x-hex.

encoded_data_hashedstring required

keccak256(encoded_data) — the value packed into the struct hash.

expected_signerstring required

The signer the signature is checked against.

modulestring required

Per-action module contract address bound into the signed struct.

ownerstring required

Wallet that owns the subaccount the action applies to.

recovered_signerstring nullable

null on the debug routes (no signature is checked there); on a signature-mismatch error this is the address actually recovered.

typed_data_hashstring required

Final EIP-712 digest the client signs: keccak256(0x1901 || domain_separator || action_hash).

Changes

No recorded changes to this operation across all 1 revision of this API.