Meter Accounts API

Access to account objects

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/meter-accounts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

meter-accounts-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Meterest Accounts API
  description: 'RESTful API to access Meter.io


    [Project Home](https://github.com/meterio)

    '
  license:
    name: LGPL 3.0
    url: https://www.gnu.org/licenses/lgpl-3.0.en.html
  version: 1.2.2
servers:
- url: /
  description: local meter node
tags:
- name: Accounts
  description: Access to account objects
paths:
  /accounts/{address}:
    parameters:
    - $ref: '#/components/parameters/AddressInPath'
    - $ref: '#/components/parameters/RevisionInQuery'
    get:
      tags:
      - Accounts
      summary: Retrieve account detail
      description: 'includes `balance`, `energy` and `hasCode`, by account `address`. An account with `hasCode` be *true* is a contract.


        Historical account detail can be queried by specifying `revision` query string.

        '
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
    post:
      tags:
      - Accounts
      summary: Execute account code
      description: 'to simulate contract method call, without sending transaction to block chain.


        It''s useful to estimate gas usage and execution result of a clause.

        '
      requestBody:
        description: arguments and environment
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallData'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallResult'
  /accounts/*:
    post:
      parameters:
      - $ref: '#/components/parameters/RevisionInQuery'
      tags:
      - Accounts
      summary: Execute a batch of codes
      description: 'to simulate execution of a transaction.

        '
      requestBody:
        description: arguments and environment
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchCallData'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchCallResult'
  /accounts:
    post:
      parameters:
      - $ref: '#/components/parameters/RevisionInQuery'
      tags:
      - Accounts
      summary: Execute bytecodes
      description: "to simulate contract deployment without sending transaction to block chain.\n\nIt's useful to estimate gas usage and contract deployment result of a clause.\n\n### TIPS:\n  - `data` in request body is the bytecodes of a contract\n  - `data` in response body is the runtime bytecodes assigned to account which the contract to be deployed\n"
      requestBody:
        description: arguments and environment
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallData'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallResult'
  /accounts/{address}/code:
    parameters:
    - $ref: '#/components/parameters/AddressInPath'
    - $ref: '#/components/parameters/RevisionInQuery'
    get:
      tags:
      - Accounts
      summary: Retrieve account code
      description: 'if any. Here the code is runtime bytecodes.

        '
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Code'
  /accounts/{address}/storage/{key}:
    parameters:
    - $ref: '#/components/parameters/AddressInPath'
    - $ref: '#/components/parameters/StorageKeyInPath'
    - $ref: '#/components/parameters/RevisionInQuery'
    get:
      tags:
      - Accounts
      summary: Retrieve account storage value
      description: 'for given key.

        '
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Storage'
components:
  schemas:
    Code:
      properties:
        code:
          type: string
          example: '0x6060604052600080fd00a165627a7a72305820c23d3ae2dc86ad130561a2829d87c7cb8435365492bd1548eb7e7fc0f3632be90029'
    BatchCallResult:
      type: array
      items:
        $ref: '#/components/schemas/CallResult'
    Clause:
      properties:
        to:
          type: string
          description: recipient of clause, null for contract deployment (bytes32)
          example: '0x5034aa590125b64023a0262112b98d72e3c8e40e'
        value:
          type: string
          description: hex form of token to be transferred
          example: '0x47fdb3c3f456c0000'
        data:
          type: string
          description: input data (bytes)
          example: 0x
    CallResult:
      properties:
        data:
          type: string
          description: the output data
          example: '0x103556a73c10e38ffe2fc4aa50fc9d46ad0148f07e26417e117bd1ece9d948b5'
        events:
          type: array
          items:
            $ref: '#/components/schemas/Event'
        transfers:
          type: array
          items:
            $ref: '#/components/schemas/Transfer'
        gasUsed:
          type: integer
          format: uint64
          description: gas used during execution
          example: 21000
        reverted:
          type: boolean
          example: false
        vmError:
          type: string
          example: ''
    Transfer:
      properties:
        sender:
          type: string
          description: address that sends tokens
          example: '0xdb4027477b2a8fe4c83c6dafe7f86678bb1b8a8d'
        recipient:
          type: string
          description: address that receives tokens
          example: '0x5034aa590125b64023a0262112b98d72e3c8e40e'
        amount:
          type: string
          description: amount of tokens
          example: '0x47fdb3c3f456c0000'
    Storage:
      properties:
        value:
          type: string
          example: '0x0000000000000000000000000000000000000000000000000000000000000001'
    Account:
      properties:
        balance:
          type: string
          description: balance in unit WEI, presented with hex string
          example: '0x47ff1f90327aa0f8e'
        energy:
          type: string
          description: energy in uint WEI, presented with hex string
          example: '0xcf624158d591398'
        hasCode:
          type: boolean
          description: whether the account has code
          example: false
    Event:
      properties:
        address:
          type: string
          description: the address of contract which produces the event (bytes20)
          example: '0x7567d83b7b8d80addcb281a71d54fc7b3364ffed'
        topics:
          type: array
          items:
            type: string
            example: '0x4de71f2d588aa8a1ea00fe8312d92966da424d9939a511fc0be81e65fad52af8'
        data:
          type: string
          example: '0x4de71f2d588aa8a1ea00fe8312d92966da424d9939a511fc0be81e65fad52af8'
    BatchCallData:
      properties:
        clauses:
          type: array
          items:
            $ref: '#/components/schemas/Clause'
        gas:
          type: integer
          format: uint64
          description: max allowed gas for execution
        gasPrice:
          type: string
          description: absolute gas price
        caller:
          type: string
          description: caller address (msg.sender)
      example:
        clauses:
        - to: '0x5034aa590125b64023a0262112b98d72e3c8e40e'
          value: '0xde0b6b3a7640000'
          data: '0x5665436861696e2054686f72'
    CallData:
      properties:
        value:
          type: string
          description: amount of token to be transferred
        data:
          type: string
          description: input data for contract call
        gas:
          type: integer
          format: uint64
          description: max allowed gas for execution
        gasPrice:
          type: string
          description: absolute gas price
        caller:
          type: string
          description: caller address (msg.sender)
      example:
        value: '0xde0b6b3a7640000'
        data: '0x5665436861696e2054686f72'
  parameters:
    RevisionInQuery:
      name: revision
      in: query
      description: can be block number or ID. best block is assumed if omitted.
      schema:
        type: string
    StorageKeyInPath:
      in: path
      description: the key(position) to access account storage
      required: true
      name: key
      schema:
        type: string
      example: '0x0000000000000000000000000000000000000000000000000000000000000001'
    AddressInPath:
      name: address
      in: path
      description: address of account
      required: true
      schema:
        type: string
        format: bytes20
      example: '0x5034aa590125b64023a0262112b98d72e3c8e40e'