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

# Submit a signed Hyperliquid abstraction mode change



## OpenAPI

````yaml https://vooi-api-app.fly.dev/swagger/json post /exchange/hyperliquid/set-abstraction/execute
openapi: 3.1.0
info:
  title: VOOI API
  description: Unified perps API
  version: '1.0'
  contact: {}
servers:
  - url: https://perps-api.vooi.io
security: []
tags: []
paths:
  /exchange/hyperliquid/set-abstraction/execute:
    post:
      tags:
        - Exchange / Hyperliquid
      summary: Submit a signed Hyperliquid abstraction mode change
      operationId: HyperliquidController_executeSetAbstraction
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExecuteHyperliquidSetAbstractionBodyDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HyperliquidSettingsDto'
      security:
        - bearer: []
components:
  schemas:
    ExecuteHyperliquidSetAbstractionBodyDto:
      type: object
      properties:
        pendingData:
          type: object
          properties:
            action:
              type: object
              properties:
                abstraction:
                  type: string
                  enum:
                    - disabled
                    - unifiedAccount
                    - portfolioMargin
                    - default
                    - dexAbstraction
                hyperliquidChain:
                  type: string
                  enum:
                    - Mainnet
                nonce:
                  type: number
                signatureChainId:
                  type: string
                  enum:
                    - '0xa4b1'
                type:
                  type: string
                  enum:
                    - userSetAbstraction
                user:
                  type: string
                  description: Ethereum address
                  example: '0x1234567890abcdef1234567890abcdef12345678'
              required:
                - abstraction
                - hyperliquidChain
                - nonce
                - signatureChainId
                - type
                - user
            nonce:
              type: number
          required:
            - action
            - nonce
          description: The pendingData payload returned by the prepare step.
        signature:
          type: string
          description: EIP-712 signature produced by the main wallet.
          example: 0xabcdef...
      required:
        - pendingData
        - signature
      title: ExecuteHyperliquidSetAbstractionBody
    HyperliquidSettingsDto:
      type: object
      properties:
        abstractionMode:
          type: string
          enum:
            - disabled
            - unifiedAccount
            - portfolioMargin
            - default
            - dexAbstraction
          description: >-
            Your current Hyperliquid account abstraction mode: disabled
            (perps-only), unifiedAccount and portfolioMargin (spot+perp unified
            collateral), dexAbstraction (legacy), or default (mode not yet set).
      required:
        - abstractionMode
      title: HyperliquidSettings
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.