> ## Documentation Index
> Fetch the complete documentation index at: https://v3.docs.derive.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Preview EIP-712 encoding for a withdrawal

> Dry-run helper that returns the EIP-712 typed data and hashes that would be computed for the given withdrawal parameters, so clients can verify their own signing and hashing before submitting. Takes the same inputs as private/withdraw (subaccount, signer, nonce, amount, max fee, expiry, asset) but performs no state change and needs no signature.



## OpenAPI

````yaml /openapi.json post /public/withdraw_debug
openapi: 3.1.0
info:
  title: Derive v3 API
  version: 0.2.0
  description: JSON-RPC 2.0 methods, served over WebSocket and HTTP POST.
servers:
  - url: https://api.derive.xyz/v3
    description: Production (HTTP POST base)
  - url: https://testnet.api.derive.xyz/v3
    description: Testnet (HTTP POST base)
security: []
tags:
  - name: Subaccounts
    description: >-
      List, inspect, and label subaccounts, portfolios, positions, and
      collateral.
  - name: Session Keys
    description: Register, edit, and list delegated signing keys.
  - name: Account
    description: Wallet-level account information and settings.
  - name: Orderbook
    description: Place, replace, cancel, and query orders, trigger orders, and algos.
  - name: RFQ
    description: 'Request-for-quote: send RFQs, quote, and execute block trades.'
  - name: Vault Shareholders
    description: >-
      Deposit into and withdraw from vaults, and track shares, requests, and
      performance.
  - name: Vault Curators
    description: >-
      Create and operate curated vaults: settle deposit and withdrawal requests,
      and manage vault metadata.
  - name: History
    description: >-
      Per-account historical records: orders, trades, transfers, and
      settlements.
  - name: Market Maker Protection
    description: Configure, read, and reset market-maker protection.
  - name: Transfers & Withdrawals
    description: Move collateral between subaccounts, to other wallets, and on-chain.
  - name: System
    description: Rate limits and transaction lookups.
  - name: Market Data
    description: Instruments, currencies, tickers, and market-wide feeds.
  - name: Referrals
    description: Referral codes and program performance.
  - name: Other
    description: Uncategorized.
paths:
  /public/withdraw_debug:
    post:
      tags:
        - Transfers & Withdrawals
      summary: Preview EIP-712 encoding for a withdrawal
      description: >-
        Dry-run helper that returns the EIP-712 typed data and hashes that would
        be computed for the given withdrawal parameters, so clients can verify
        their own signing and hashing before submitting. Takes the same inputs
        as private/withdraw (subaccount, signer, nonce, amount, max fee, expiry,
        asset) but performs no state change and needs no signature.
      operationId: public_withdraw_debug
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicWithdrawDebugRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema: {}
        default:
          description: JSON-RPC error (see Error Codes)
components:
  schemas:
    PublicWithdrawDebugRequest:
      type: object
      required:
        - amount_in_underlying
        - asset_name
        - force_batch
        - max_fee_usd
        - nonce
        - signature_expiry_sec
        - signer
        - subaccount_id
      properties:
        amount_in_underlying:
          type: string
        asset_name:
          type: string
        force_batch:
          type: boolean
        max_fee_usd:
          description: >-
            Maximum sequencer fee the signer authorises, in USD, as a decimal
            string (e.g. `"1.5"`) or a JSON number.
          type: string
          format: decimal
        nonce:
          type: integer
          format: int64
        signature_expiry_sec:
          type: integer
          format: uint64
          minimum: 0
        signer:
          type: string
        subaccount_id:
          type: integer
          format: uint64
          minimum: 0

````

## Related topics

- [Preview EIP-712 signing data for a quote](/api-reference/rfq/preview-eip-712-signing-data-for-a-quote.md)
- [Preview EIP-712 signing data for a quote execution](/api-reference/rfq/preview-eip-712-signing-data-for-a-quote-execution.md)
- [Preview an order's EIP-712 signing data](/api-reference/orderbook/preview-an-orders-eip-712-signing-data.md)
