Enso wallet API

The wallet API from Enso — 2 operation(s) for wallet.

OpenAPI Specification

enso-wallet-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Enso ccip wallet API
  description: '#### Enso API

    - Find detailed documentation on [docs.enso.finance](https://docs.enso.finance).

    - To use the API, **you must include your API Key in the Authorization header** (Bearer format).

    - For testing, Swagger pre-authorizes you using the key: `1e02632d-6feb-4a75-a157-documentation` (1rps).

    - Get your own API Key at [enso.finance/developers](https://developers.enso.build/).'
  version: '1.0'
  contact: {}
servers:
- url: https://api.enso.finance
security:
- bearer: []
tags:
- name: wallet
paths:
  /api/v1/wallet/approve:
    get:
      operationId: WalletController_createApproveTransaction
      summary: Returns transaction that approves your EnsoWallet-v2 to spend tokens
      parameters:
      - name: chainId
        required: true
        in: query
        description: Chain ID of the network to execute the transaction on
        schema:
          default: 1
          type: number
      - name: fromAddress
        required: true
        in: query
        description: Ethereum address of the wallet to send the transaction from
        schema:
          default: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045'
          type: string
      - name: routingStrategy
        required: false
        in: query
        description: Routing strategy to use
        schema:
          nullable: true
          enum:
          - ensowallet-v2
          - router
          - delegate
          - router-legacy
          - delegate-legacy
          type: string
      - name: tokenAddress
        required: true
        in: query
        description: ERC20 token address of the token to approve
        schema:
          default: '0x6b175474e89094c44da98b954eedeac495271d0f'
          type: string
      - name: amount
        required: true
        in: query
        description: Amount of tokens to approve in wei
        schema:
          default: '1000000000000000000000000000'
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WalletApproveTransaction'
      tags:
      - wallet
  /api/v1/wallet/balances:
    get:
      operationId: WalletController_walletBalances
      summary: Returns all balances for a given wallet
      parameters:
      - name: eoaAddress
        required: true
        in: query
        description: Address of the eoa with which to associate the ensoWallet-v2 for balances
        schema:
          default: '0x93621DCA56fE26Cdee86e4F6B18E116e9758Ff11'
          type: string
      - name: useEoa
        required: true
        in: query
        description: If true returns balances for the provided address, instead of the associated ensoWallet-v2
        schema:
          type: boolean
      - name: chainId
        required: true
        in: query
        schema:
          oneOf:
          - type: integer
          - type: string
            enum:
            - all
          example: all
        description: Chain ID (or 'all') to fetch balances for specified network
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WalletBalance'
      tags:
      - wallet
components:
  schemas:
    WalletApproveTransaction:
      type: object
      properties:
        tx:
          description: The transaction object to use in `ethers`
          allOf:
          - $ref: '#/components/schemas/WalletTransaction'
        gas:
          type: string
          description: The gas estimate for the transaction
        token:
          type: string
          description: The token address to approve
        amount:
          type: string
          description: The amount of tokens to approve
        spender:
          type: string
          description: The spender address to approve
      required:
      - tx
      - gas
      - token
      - amount
      - spender
    WalletBalance:
      type: object
      properties:
        token:
          type: string
          description: The address of the token
        amount:
          type: string
          description: The unformatted balance of the token
          example: '0x0000000'
        chainId:
          type: integer
          description: Chain ID of the network
        decimals:
          type: number
          description: The unformatted balance of the token
          example: 18
        price:
          type: string
          description: Price of the token in usd
          example: '0.0'
          nullable: true
        name:
          type: string
          description: Name of the token
          nullable: true
        symbol:
          type: string
          description: Symbol of the token
          nullable: true
        logoUri:
          type: string
          description: Logo of the token
          nullable: true
      required:
      - token
      - amount
      - chainId
      - decimals
      - price
      - name
      - symbol
      - logoUri
    WalletTransaction:
      type: object
      properties:
        data:
          type: string
          example: 0x
        to:
          type: string
          example: '0x1111111111111111111111111111111111111111'
        from:
          type: string
          example: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045'
        value:
          type: string
          example: '0'
      required:
      - data
      - to
      - from
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: apiKey
      type: http