swagger.json


Overview

The [swagger.json](/projects/291/68851) file defines the OpenAPI 3.0 specification for the **@shapeshiftoss/arbitrum-nova-api**, version 10.0.0. This API provides a comprehensive interface to interact with the Arbitrum Nova blockchain coinstack, focusing on Ethereum Virtual Machine (EVM) compatible account and transaction operations.

The specification details the available RESTful endpoints, their request and response schemas, parameters, and error handling models. It enables clients to query blockchain state, retrieve account information, send transactions, estimate gas costs, and perform JSON-RPC calls to the underlying node.

This file is primarily used for:


Components

Schemas

The file defines multiple JSON schemas under [components/schemas](/projects/291/69205) that describe the data structures used in requests and responses.

BaseInfo

TokenBalance

Account

BadRequestError

ValidationError

InternalServerError

TokenTransfer

InternalTx

Tx

BaseTxHistory_Tx_

TxHistory

SendTxBody

RPCRequest & RPCResponse

TokenMetadata

TokenType

GasEstimate

EstimateGasBody

Fees

GasFees


Paths (Endpoints)

/api/v1/info [GET]

/api/v1/account/{pubkey} [GET]

/api/v1/account/{pubkey}/txs [GET]

/api/v1/tx/{txid} [GET]

/api/v1/send [POST]

/api/v1/jsonrpc [POST]

/api/v1/metadata/token [GET]

/api/v1/gas/estimate [POST]

/api/v1/gas/fees [GET]


Important Implementation Details


Integration and Interactions


Mermaid Flowchart Diagram

The following flowchart illustrates the primary REST API endpoints and their relationships with key data schemas and operations:

flowchart TD
    Info["GET /api/v1/info"]
    Account["GET /api/v1/account/{pubkey}"]
    TxHistory["GET /api/v1/account/{pubkey}/txs"]
    TxDetail["GET /api/v1/tx/{txid}"]
    SendTx["POST /api/v1/send"]
    JsonRpc["POST /api/v1/jsonrpc"]
    TokenMeta["GET /api/v1/metadata/token"]
    GasEstimate["POST /api/v1/gas/estimate"]
    GasFees["GET /api/v1/gas/fees"]

    Info -->|returns| BaseInfo["BaseInfo"]
    Account -->|returns| AccountSchema["Account"]
    TxHistory -->|returns| TxHistorySchema["TxHistory"]
    TxDetail -->|returns| TxSchema["Tx"]
    SendTx -->|accepts| SendTxBody["SendTxBody"]
    SendTx -->|returns| TxId["Transaction ID (string)"]
    JsonRpc -->|accepts| RPCRequest["RPCRequest or batch"]
    JsonRpc -->|returns| RPCResponse["RPCResponse or batch"]
    TokenMeta -->|returns| TokenMetadataSchema["TokenMetadata"]
    GasEstimate -->|accepts| EstimateGasBodySchema["EstimateGasBody"]
    GasEstimate -->|returns| GasEstimateSchema["GasEstimate"]
    GasFees -->|returns| GasFeesSchema["GasFees"]

    %% Error responses shared by many endpoints
    Error400["400 BadRequestError"]
    Error422["422 ValidationError"]
    Error500["500 InternalServerError"]

    Account -->|errors| Error400
    Account -->|errors| Error422
    Account -->|errors| Error500

    TxHistory -->|errors| Error400
    TxHistory -->|errors| Error422
    TxHistory -->|errors| Error500

    TxDetail -->|errors| Error400
    TxDetail -->|errors| Error422
    TxDetail -->|errors| Error500

    SendTx -->|errors| Error400
    SendTx -->|errors| Error422
    SendTx -->|errors| Error500

    TokenMeta -->|errors| Error422
    TokenMeta -->|errors| Error500

    GasEstimate -->|errors| Error422
    GasEstimate -->|errors| Error500

    GasFees -->|errors| Error500

Summary

This [swagger.json](/projects/291/68851) OpenAPI specification precisely defines the REST endpoints and data models for interacting with the Arbitrum Nova EVM-compatible blockchain node. It enables querying account balances, transaction histories, transaction details, sending raw transactions, calling JSON-RPC methods, retrieving token metadata, and managing gas fee estimations.

The strict schema definitions and standardized error handling ensure robust client-server integration, while endpoints like JSON-RPC proxying and token metadata enrich the API's flexibility and utility for diverse blockchain applications.


End of Documentation for swagger.json