Rocket Pool Wallet API

The Wallet API from Rocket Pool — 4 operation(s) for wallet.

OpenAPI Specification

rocket-pool-wallet-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Rocket Pool Protocol API (rocketpool-go) Auction Wallet API
  description: Read-oriented protocol surface exposed by the rocketpool-go Golang library on top of the Rocket Pool smart contracts deployed on Ethereum. The API described here is a logical mapping of rocketpool-go packages — auction, deposit, minipool, network, node, rewards, settings, tokens, dao/protocol, dao/trustednode — onto HTTP-style operations. There is no hosted HTTP endpoint for this API; integrators read the equivalent state via Ethereum JSON-RPC eth_call requests against the deployed contracts using the Go library, the rocketpool-js library, or directly via web3 clients.
  version: 1.0.0
  license:
    name: GPL-3.0
    url: https://github.com/rocket-pool/rocketpool-go/blob/master/LICENSE
  contact:
    name: Rocket Pool
    url: https://github.com/rocket-pool/rocketpool-go
servers:
- url: https://protocol.rocketpool.example/v1
  description: Logical base path — actual access is via Ethereum smart contracts
tags:
- name: Wallet
paths:
  /wallet/status:
    get:
      tags:
      - Wallet
      summary: Get Wallet Status
      operationId: getWalletStatus
      responses:
        '200':
          description: Wallet status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WalletStatus'
  /wallet/init:
    post:
      tags:
      - Wallet
      summary: Initialize Node Wallet
      operationId: initWallet
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WalletInitRequest'
      responses:
        '200':
          description: Wallet initialized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WalletStatus'
  /wallet/recover:
    post:
      tags:
      - Wallet
      summary: Recover Node Wallet From Mnemonic
      operationId: recoverWallet
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WalletRecoverRequest'
      responses:
        '200':
          description: Wallet recovered
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WalletStatus'
  /wallet/export:
    get:
      tags:
      - Wallet
      summary: Export Node Wallet
      operationId: exportWallet
      responses:
        '200':
          description: Wallet export payload
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WalletExport'
components:
  schemas:
    WalletInitRequest:
      type: object
      required:
      - password
      properties:
        password:
          type: string
          format: password
        derivationPath:
          type: string
          example: m/44'/60'/0'/0/0
        walletIndex:
          type: integer
    WalletStatus:
      type: object
      properties:
        accountAddress:
          $ref: '#/components/schemas/Address'
        walletInitialized:
          type: boolean
        passwordSet:
          type: boolean
        ensName:
          type: string
    Address:
      type: string
      pattern: ^0x[a-fA-F0-9]{40}$
      example: '0x0000000000000000000000000000000000000000'
    WalletExport:
      type: object
      properties:
        password:
          type: string
        wallet:
          type: string
          description: Encrypted JSON keystore
        accountPrivateKey:
          type: string
    WalletRecoverRequest:
      type: object
      required:
      - mnemonic
      - password
      properties:
        mnemonic:
          type: string
          description: BIP-39 mnemonic phrase
        password:
          type: string
          format: password
        derivationPath:
          type: string
        walletIndex:
          type: integer