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

# Zap

> Obtain the tx data for a zap



## OpenAPI

````yaml post /zap
openapi: 3.0.3
info:
  title: '@soulsolidity/soul-zap-api'
  version: 1.0.0-beta.0
servers:
  - url: http://localhost:3000
security: []
paths:
  /zap:
    post:
      description: Obtain the tx data for a zap
      operationId: zap
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                recipient:
                  type: string
                user:
                  type: string
                chain:
                  type: string
                  enum:
                    - eth
                    - bnb
                    - pol
                    - arb
                    - lna
                rpc:
                  type: string
                lpData:
                  anyOf:
                    - type: object
                      properties:
                        lpType:
                          type: string
                          enum:
                            - univ2
                        fromToken:
                          type: string
                        fromAmount:
                          type: string
                        lpAddress:
                          type: string
                        router:
                          type: string
                        slippage:
                          type: number
                          maximum: 50
                          default: 1
                      required:
                        - lpType
                        - fromToken
                        - fromAmount
                        - lpAddress
                        - router
                      additionalProperties: false
                    - type: object
                      properties:
                        lpType:
                          type: string
                          enum:
                            - gamma
                        fromToken:
                          type: string
                        fromAmount:
                          type: string
                        toToken0:
                          type: string
                        toToken1:
                          type: string
                        uniProxy:
                          type: string
                        hypervisor:
                          type: string
                        slippage:
                          type: number
                          maximum: 50
                          default: 1
                      required:
                        - lpType
                        - fromToken
                        - fromAmount
                        - toToken0
                        - toToken1
                        - uniProxy
                        - hypervisor
                      additionalProperties: false
                    - type: object
                      properties:
                        lpType:
                          type: string
                          enum:
                            - ichi
                        fromToken:
                          type: string
                        fromAmount:
                          type: string
                        vault:
                          type: string
                        underlyingDex:
                          type: string
                          enum:
                            - Ascent
                            - Blueprint
                            - Cleo
                            - Equalizer
                            - Fenix
                            - Forge
                            - Henjin
                            - Kinetix
                            - Linehub
                            - Lynex
                            - Metavault
                            - Nile
                            - PancakeSwap
                            - QuickSwap
                            - Ramses
                            - Retro
                            - SaucerSwap
                            - SpiritSwap
                            - SushiSwap
                            - Thena
                            - Thirdfy
                            - Uniswap V3
                            - Velocore
                            - XSwap
                        depositGuard:
                          type: string
                        vaultDeployer:
                          type: string
                        slippage:
                          type: number
                          maximum: 50
                          default: 1
                      required:
                        - lpType
                        - fromToken
                        - fromAmount
                        - vault
                      additionalProperties: false
                    - type: object
                      properties:
                        lpType:
                          type: string
                          enum:
                            - solidly
                        fromToken:
                          type: string
                        fromAmount:
                          type: string
                        lpAddress:
                          type: string
                        router:
                          type: string
                        slippage:
                          type: number
                          maximum: 50
                          default: 1
                      required:
                        - lpType
                        - fromToken
                        - fromAmount
                        - lpAddress
                        - router
                      additionalProperties: false
                protocolData:
                  anyOf:
                    - type: object
                      properties:
                        protocol:
                          type: string
                          enum:
                            - ApeBond
                        bond:
                          type: string
                        slippage:
                          type: number
                          maximum: 20
                          default: 1
                      required:
                        - protocol
                        - bond
                      additionalProperties: false
              required:
                - recipient
                - user
                - chain
                - lpData
              additionalProperties: false
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  txData:
                    type: object
                    properties:
                      to:
                        type: string
                      data:
                        type: string
                      from:
                        type: string
                    required:
                      - to
                      - data
                    additionalProperties: false
                  swapQuote1: {}
                  swapQuote2: {}
                  lpQuote:
                    type: object
                    properties:
                      token0:
                        type: object
                        properties:
                          address:
                            type: string
                          fromAmountEstimate:
                            type: string
                          fromAmountMin:
                            type: string
                          fromAmountUSD:
                            type: string
                        required:
                          - address
                          - fromAmountEstimate
                          - fromAmountMin
                        additionalProperties: false
                      token1:
                        type: object
                        properties:
                          address:
                            type: string
                          fromAmountEstimate:
                            type: string
                          fromAmountMin:
                            type: string
                          fromAmountUSD:
                            type: string
                        required:
                          - address
                          - fromAmountEstimate
                          - fromAmountMin
                        additionalProperties: false
                      fromAmountUSD:
                        type: number
                      lpAddress:
                        type: string
                      toAmountEstimate:
                        type: string
                      toAmountUSD:
                        type: number
                    required:
                      - lpAddress
                    additionalProperties: false
                  protocolQuote:
                    anyOf:
                      - type: object
                        properties:
                          protocol:
                            type: string
                            enum:
                              - ApeBond
                        required:
                          - protocol
                        additionalProperties: false
                      - type: object
                        properties:
                          protocol:
                            type: string
                            enum:
                              - LynexGauge
                        required:
                          - protocol
                        additionalProperties: false
                required:
                  - txData
                additionalProperties: false
        default:
          $ref: '#/components/responses/error'
components:
  responses:
    error:
      description: Error response
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
              code:
                type: string
              issues:
                type: array
                items:
                  type: object
                  properties:
                    message:
                      type: string
                  required:
                    - message
                  additionalProperties: false
            required:
              - message
              - code
            additionalProperties: false

````