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

# Withdraw from social smart wallets

> Withdraw funds from a smart wallet. Supports both native ETH and USDC tokens. If amount is not provided, the full balance will be withdrawn. The withdrawal may span multiple smart wallets associated with the artist.



## OpenAPI

````yaml POST /smartwallet/withdraw
openapi: 3.1.0
info:
  title: In•Process API
  description: >-
    The In•Process API enables browsing and managing moments from timelines.
    Retrieve moments from a specific artist's timeline, browse the in•process
    collective timeline, or filter by collection. The API supports creating
    moments, managing collections, handling payments, and interacting with the
    In•Process protocol ecosystem.
  version: 1.0.0
servers:
  - url: https://api.inprocess.world/api
    description: Production server
security: []
paths:
  /smartwallet/withdraw:
    post:
      summary: Withdraw from social smart wallets
      description: >-
        Withdraw funds from a smart wallet. Supports both native ETH and USDC
        tokens. If amount is not provided, the full balance will be withdrawn.
        The withdrawal may span multiple smart wallets associated with the
        artist.
      operationId: withdrawFromSmartWallet
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WithdrawRequest'
            example:
              currency: eth
              amount: '0.1'
              to: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0'
              chainId: 8453
      responses:
        '200':
          description: Successful withdrawal
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WithdrawResponse'
              example:
                withdrawals:
                  - hash: >-
                      0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
                    chainId: 8453
                    walletAddress: '0x1234567890123456789012345678901234567890'
                    withdrawnAmount: '0.1'
                    remainingAmount: '0.05'
                remainingTotalEthBalance: '0.05'
                remainingTotalUsdcBalance: '0'
        '400':
          description: Bad request - Invalid input parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                status: error
                message: Invalid input
                errors:
                  - field: amount
                    message: Amount must be a valid positive number
        '401':
          description: Unauthorized - Missing or invalid bearer token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                properties:
                  message:
                    type: string
                    description: Error message
              example:
                message: Failed to withdraw from smart wallet
      security:
        - apiKeyAuth: []
components:
  schemas:
    WithdrawRequest:
      type: object
      required:
        - currency
        - to
      properties:
        currency:
          type: string
          enum:
            - eth
            - usdc
          description: >-
            The currency to withdraw. Use "eth" for native ETH or "usdc" for
            USDC tokens.
        amount:
          type: string
          description: >-
            The amount to withdraw in human-readable token units (not base
            units/wei). Must be a valid positive number as a string. For
            example, use "0.1" for 0.1 ETH, not "100000000000000000" (which is
            0.1 ETH in wei). For ERC20 tokens, use the token's decimal precision
            (e.g., "100.5" for 100.5 USDC if USDC has 6 decimals). If not
            provided, the full balance will be withdrawn.
        to:
          type: string
          description: The recipient address where the funds will be sent
        chainId:
          type: integer
          description: >-
            Chain ID where the withdrawal will be executed. Optional parameter -
            if not provided, defaults to Base (8453).
          default: 8453
    WithdrawResponse:
      type: object
      required:
        - withdrawals
        - remainingTotalEthBalance
        - remainingTotalUsdcBalance
      properties:
        withdrawals:
          type: array
          description: Array of withdrawal results, one for each smart wallet that was used
          items:
            $ref: '#/components/schemas/WithdrawResult'
        remainingTotalEthBalance:
          type: string
          description: >-
            Total remaining ETH balance across all smart wallets after
            withdrawal
        remainingTotalUsdcBalance:
          type: string
          description: >-
            Total remaining USDC balance across all smart wallets after
            withdrawal
    Error:
      type: object
      required:
        - status
        - message
      properties:
        status:
          type: string
          enum:
            - error
          description: Error status
        message:
          type: string
          description: Error message
        errors:
          type: array
          description: >-
            Optional array of field-level validation errors. Typically included
            in 400 Bad Request responses for validation errors.
          items:
            type: object
            required:
              - field
              - message
            properties:
              field:
                type: string
                description: The field name that failed validation
              message:
                type: string
                description: The validation error message for this field
    WithdrawResult:
      type: object
      required:
        - hash
        - chainId
        - walletAddress
        - withdrawnAmount
        - remainingAmount
      properties:
        hash:
          type: string
          nullable: true
          description: >-
            Transaction hash of the withdrawal. May be null if the withdrawal
            failed or was skipped.
        chainId:
          type: integer
          description: Chain ID where the transaction was executed
        walletAddress:
          type: string
          description: Address of the smart wallet from which funds were withdrawn
        withdrawnAmount:
          type: string
          description: Amount withdrawn from this wallet in human-readable token units
        remainingAmount:
          type: string
          description: >-
            Remaining balance in this wallet after withdrawal in human-readable
            token units
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Artist API key for authentication. Get your API key from
        https://inprocess.world/manage/api-keys

````