{
  "openapi": "3.0.0",
  "info": {
    "title": "REST API",
    "version": "1.0",
    "contact": {
      "name": "MinaExplorer ",
      "email": "support@minaexplorer.com",
      "url": "https://docs.minaexplorer.com/minaexplorer/get-help"
    },
    "termsOfService": "https://docs.minaexplorer.com/minaexplorer/website-terms-of-service",
    "description": "A REST API for the latest Mina Blockchain Data. For all archived data, use the GraphQL API."
  },
  "servers": [
    {
      "url": "https://api.minaexplorer.com"
    }
  ],
  "paths": {
    "/broadcast/transaction": {
      "post": {
        "summary": "Broadcast Transaction",
        "operationId": "post-broadcast",
        "responses": {
          "201": {
            "description": "Sucessfully broadcast transaction",
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "minLength": 1
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "payment": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "string",
                              "minLength": 1
                            },
                            "fee": {
                              "type": "string",
                              "minLength": 1
                            },
                            "feePayer": {
                              "type": "object",
                              "properties": {
                                "publicKey": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "token": {
                                  "type": "string",
                                  "minLength": 1
                                }
                              },
                              "required": [
                                "publicKey",
                                "token"
                              ]
                            },
                            "feeToken": {
                              "type": "string",
                              "minLength": 1
                            },
                            "from": {
                              "type": "string",
                              "minLength": 1
                            },
                            "fromAccount": {
                              "type": "object",
                              "properties": {
                                "publicKey": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "token": {
                                  "type": "string",
                                  "minLength": 1
                                }
                              },
                              "required": [
                                "publicKey",
                                "token"
                              ]
                            },
                            "hash": {
                              "type": "string",
                              "minLength": 1
                            },
                            "id": {
                              "type": "string",
                              "minLength": 1
                            },
                            "isDelegation": {
                              "type": "boolean"
                            },
                            "kind": {
                              "type": "string",
                              "minLength": 1
                            },
                            "memo": {
                              "type": "string",
                              "minLength": 1
                            },
                            "nonce": {
                              "type": "number"
                            },
                            "receiver": {
                              "type": "object",
                              "properties": {
                                "publicKey": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "token": {
                                  "type": "string",
                                  "minLength": 1
                                }
                              },
                              "required": [
                                "publicKey",
                                "token"
                              ]
                            },
                            "source": {
                              "type": "object",
                              "properties": {
                                "publicKey": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "token": {
                                  "type": "string",
                                  "minLength": 1
                                }
                              },
                              "required": [
                                "publicKey",
                                "token"
                              ]
                            },
                            "to": {
                              "type": "string",
                              "minLength": 1
                            },
                            "token": {
                              "type": "string",
                              "minLength": 1
                            },
                            "toAccount": {
                              "type": "object",
                              "properties": {
                                "token": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "publicKey": {
                                  "type": "string",
                                  "minLength": 1
                                }
                              },
                              "required": [
                                "token",
                                "publicKey"
                              ]
                            }
                          },
                          "required": [
                            "amount",
                            "fee",
                            "feePayer",
                            "feeToken",
                            "from",
                            "fromAccount",
                            "hash",
                            "id",
                            "isDelegation",
                            "kind",
                            "memo",
                            "nonce",
                            "receiver",
                            "source",
                            "to",
                            "token",
                            "toAccount"
                          ]
                        }
                      },
                      "required": [
                        "payment"
                      ]
                    }
                  },
                  "required": [
                    "message",
                    "result"
                  ]
                },
                "examples": {
                  "Successful payment": {
                    "value": {
                      "message": "Transaction broadcast sucessfully",
                      "result": {
                        "payment": {
                          "amount": "1000000000",
                          "fee": "1000000000",
                          "feePayer": {
                            "publicKey": "B62qogU1qY33L8jwRmkwjN42xpSNrv8UkxaKrRFZxJSgbaNRMtpMTg7",
                            "token": "1"
                          },
                          "feeToken": "1",
                          "from": "B62qogU1qY33L8jwRmkwjN42xpSNrv8UkxaKrRFZxJSgbaNRMtpMTg7",
                          "fromAccount": {
                            "publicKey": "B62qogU1qY33L8jwRmkwjN42xpSNrv8UkxaKrRFZxJSgbaNRMtpMTg7",
                            "token": "1"
                          },
                          "hash": "Ckpa3UpAHUkY9Y11fMWevSvK8maoJJMSu4vXJjs7jmSVTHUNDU9Tg",
                          "id": "PSJ6tbskxprEcubiji3k6ueCoJZpvvY7sD7Tp3RC4heN2TmMeXpZNchEyHZB4oMBnpF6DgLUZiYiZzMRsuS9tGgRvWfRXpKL2jxzsxtPxobePkTS86jE5xvKjeQYWqNNYHfyTRLdT1ScrbtZ45gu1Ldn3g25MFm4Xz2cEFmhyAojkea3tbkANjq3suntmKxiXMQEKrgrutELSQhxL84yQYQ3tcvwjPuPJ73Qg6tDNq1VQVxRmvYMQycxP7YWJEkG7zJhnpgpgHoDjvkLCeZnhn7ZeFCymCKFCPPviwaMSMDJydNLCmXUPzk59Tb7pZjTLX7XdCqDtp1XYCG86Af5BBDFL3QiSzTogRAqS3UTCYXb29u6MtrRBZ9UdAYWmtKLhqjoxCc3Grg3x",
                          "isDelegation": false,
                          "kind": "PAYMENT",
                          "memo": "E4Ynos3grz8wHZ8KeSxi9phNNveszXa86qYm3ZuQUZvRyafwZQ1ND",
                          "nonce": 1329,
                          "receiver": {
                            "publicKey": "B62qpge4uMq4Vv5Rvc8Gw9qSquUYd6xoW1pz7HQkMSHm6h1o7pvLPAN",
                            "token": "1"
                          },
                          "source": {
                            "publicKey": "B62qogU1qY33L8jwRmkwjN42xpSNrv8UkxaKrRFZxJSgbaNRMtpMTg7",
                            "token": "1"
                          },
                          "to": "B62qpge4uMq4Vv5Rvc8Gw9qSquUYd6xoW1pz7HQkMSHm6h1o7pvLPAN",
                          "token": "1",
                          "toAccount": {
                            "token": "1",
                            "publicKey": "B62qpge4uMq4Vv5Rvc8Gw9qSquUYd6xoW1pz7HQkMSHm6h1o7pvLPAN"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "minLength": 1
                    },
                    "error": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "required": [
                    "message",
                    "error"
                  ]
                },
                "examples": {
                  "Failed Payment": {
                    "value": {
                      "message": "Error in sending transaction",
                      "error": "Query failed -- returned code 200. mutation($from:PublicKey!, $to:PublicKey!, $amount:UInt64!, $fee:UInt64!, $memo:String, $scalar:String, $field:String){ sendPayment(input: { from:$from, to:$to, amount:$amount, fee:$fee, memo:$memo, }, signature:{ scalar: $scalar, field: $field, }) { payment { id, isDelegation, nonce, from, to, amount, fee, memo } } }"
                    }
                  }
                }
              },
              "application/xml": {
                "schema": {
                  "type": "object",
                  "properties": {}
                },
                "examples": {}
              }
            }
          }
        },
        "description": "Broadcasts a signed transaction to the Mina blockchain",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "description": "",
                "type": "object",
                "properties": {
                  "publicKey": {
                    "type": "string",
                    "minLength": 1
                  },
                  "signature": {
                    "type": "object",
                    "properties": {
                      "field": {
                        "type": "string",
                        "minLength": 1
                      },
                      "scalar": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "required": [
                      "field",
                      "scalar"
                    ]
                  },
                  "payload": {
                    "type": "object",
                    "properties": {
                      "to": {
                        "type": "string",
                        "minLength": 1
                      },
                      "from": {
                        "type": "string",
                        "minLength": 1
                      },
                      "fee": {
                        "type": "string",
                        "minLength": 1
                      },
                      "amount": {
                        "type": "string",
                        "minLength": 1
                      },
                      "nonce": {
                        "type": "string",
                        "minLength": 1
                      },
                      "memo": {
                        "type": "string",
                        "minLength": 1
                      },
                      "validUntil": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "required": [
                      "to",
                      "from",
                      "fee",
                      "amount",
                      "nonce",
                      "memo",
                      "validUntil"
                    ]
                  }
                },
                "required": [
                  "publicKey",
                  "signature",
                  "payload"
                ]
              },
              "examples": {
                "Send Payment": {
                  "value": {
                    "publicKey": "B62qogU1qY33L8jwRmkwjN42xpSNrv8UkxaKrRFZxJSgbaNRMtpMTg7",
                    "signature": {
                      "field": "1463302494432670246352080493267751231232508175048073643764003597745600926575",
                      "scalar": "3355463546888926913704696844669949255125610568097462660485775018728400057838"
                    },
                    "payload": {
                      "to": "B62qogU1qY33L8jwRmkwjN42xpSNrv8UkxaKrRFZxJSgbaNRMtpMTg7",
                      "from": "B62qogU1qY33L8jwRmkwjN42xpSNrv8UkxaKrRFZxJSgbaNRMtpMTg7",
                      "fee": "10000000000",
                      "amount": "1000000000",
                      "nonce": "1325",
                      "memo": "SDK payment",
                      "validUntil": "4294967295"
                    }
                  }
                }
              }
            }
          },
          "description": "Signed transaction"
        },
        "tags": [
          "broadcast"
        ]
      },
      "parameters": []
    },
    "/broadcast/delegation": {
      "post": {
        "summary": "Broadcast Delegation",
        "operationId": "post-broadcast-delegation",
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "minLength": 1
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "delegation": {
                          "type": "object",
                          "properties": {
                            "amount": {
                              "type": "string",
                              "minLength": 1
                            },
                            "fee": {
                              "type": "string",
                              "minLength": 1
                            },
                            "feePayer": {
                              "type": "object",
                              "properties": {
                                "publicKey": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "token": {
                                  "type": "string",
                                  "minLength": 1
                                }
                              },
                              "required": [
                                "publicKey",
                                "token"
                              ]
                            },
                            "feeToken": {
                              "type": "string",
                              "minLength": 1
                            },
                            "from": {
                              "type": "string",
                              "minLength": 1
                            },
                            "fromAccount": {
                              "type": "object",
                              "properties": {
                                "publicKey": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "token": {
                                  "type": "string",
                                  "minLength": 1
                                }
                              },
                              "required": [
                                "publicKey",
                                "token"
                              ]
                            },
                            "hash": {
                              "type": "string",
                              "minLength": 1
                            },
                            "id": {
                              "type": "string",
                              "minLength": 1
                            },
                            "isDelegation": {
                              "type": "boolean"
                            },
                            "kind": {
                              "type": "string",
                              "minLength": 1
                            },
                            "memo": {
                              "type": "string",
                              "minLength": 1
                            },
                            "nonce": {
                              "type": "number"
                            },
                            "receiver": {
                              "type": "object",
                              "properties": {
                                "publicKey": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "token": {
                                  "type": "string",
                                  "minLength": 1
                                }
                              },
                              "required": [
                                "publicKey",
                                "token"
                              ]
                            },
                            "source": {
                              "type": "object",
                              "properties": {
                                "publicKey": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "token": {
                                  "type": "string",
                                  "minLength": 1
                                }
                              },
                              "required": [
                                "publicKey",
                                "token"
                              ]
                            },
                            "to": {
                              "type": "string",
                              "minLength": 1
                            },
                            "token": {
                              "type": "string",
                              "minLength": 1
                            },
                            "toAccount": {
                              "type": "object",
                              "properties": {
                                "token": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "publicKey": {
                                  "type": "string",
                                  "minLength": 1
                                }
                              },
                              "required": [
                                "token",
                                "publicKey"
                              ]
                            }
                          },
                          "required": [
                            "amount",
                            "fee",
                            "feePayer",
                            "feeToken",
                            "from",
                            "fromAccount",
                            "hash",
                            "id",
                            "isDelegation",
                            "kind",
                            "memo",
                            "nonce",
                            "receiver",
                            "source",
                            "to",
                            "token",
                            "toAccount"
                          ]
                        }
                      },
                      "required": [
                        "delegation"
                      ]
                    }
                  },
                  "required": [
                    "message",
                    "result"
                  ]
                },
                "examples": {
                  "Successful delegation": {
                    "value": {
                      "message": "Delegation broadcast sucessfully",
                      "result": {
                        "delegation": {
                          "amount": "0",
                          "fee": "1000000000",
                          "feePayer": {
                            "publicKey": "B62qogU1qY33L8jwRmkwjN42xpSNrv8UkxaKrRFZxJSgbaNRMtpMTg7",
                            "token": "1"
                          },
                          "feeToken": "1",
                          "from": "B62qogU1qY33L8jwRmkwjN42xpSNrv8UkxaKrRFZxJSgbaNRMtpMTg7",
                          "fromAccount": {
                            "publicKey": "B62qogU1qY33L8jwRmkwjN42xpSNrv8UkxaKrRFZxJSgbaNRMtpMTg7",
                            "token": "1"
                          },
                          "hash": "CkpZA61vQ3Qfnh95NT3pDZEtS5sBZhhEQfdKbSEkj1kQN2kMQveqp",
                          "id": "MVvtsE9mBNhZwuMWvq6EdFTzPkvPmAgNRa3FCuzAFBxcjjmbUt6idiBPJGoQ3nvH2X5rJSFK6YMUyLCnLhPvSeKa49yiBq91AKKNYy5jjMRGegJFTi2dzfxcGiL92Lfv8YR8p8oLZB8jrgD386vcmq8AXvCRqhvbAuaSMHMTkfBb2jk6pHsmMTioytjk96m4fa8WW8UpVXVK8bYh9MvG42CQLgh42r7gpcSVpesZMuEpqmH3h4QScnBnTxkNqdru56Vbm3NthBChb1StfgpYNe8CxgHftRvWoEKfq2ECDAFLDxWTq39UARbvk3mB57cXbcKQANcEfyy5FMPJRnUv28tK7sZqUtVHcMpHrpxHnqw9LbDrW33qb1jB2kFQvZ",
                          "isDelegation": true,
                          "kind": "STAKE_DELEGATION",
                          "memo": "E4YxYSicMBEwDPtHBz4t7UQpbFKxL8yvrzYPM4Ee8U9uAWWX4Sa7v",
                          "nonce": 1328,
                          "receiver": {
                            "publicKey": "B62qpge4uMq4Vv5Rvc8Gw9qSquUYd6xoW1pz7HQkMSHm6h1o7pvLPAN",
                            "token": "1"
                          },
                          "source": {
                            "publicKey": "B62qogU1qY33L8jwRmkwjN42xpSNrv8UkxaKrRFZxJSgbaNRMtpMTg7",
                            "token": "1"
                          },
                          "to": "B62qpge4uMq4Vv5Rvc8Gw9qSquUYd6xoW1pz7HQkMSHm6h1o7pvLPAN",
                          "token": "1",
                          "toAccount": {
                            "token": "1",
                            "publicKey": "B62qpge4uMq4Vv5Rvc8Gw9qSquUYd6xoW1pz7HQkMSHm6h1o7pvLPAN"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "minLength": 1
                    },
                    "error": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "required": [
                    "message",
                    "error"
                  ]
                },
                "examples": {
                  "Failed Delegation": {
                    "value": {
                      "message": "Error in sending delegation",
                      "error": "Query failed -- returned code 200. mutation($from:PublicKey!, $to:PublicKey!, $fee:UInt64!, $memo:String, $scalar:String, $field:String){ sendDelegation(input: { from:$from, to:$to, fee:$fee, memo:$memo, }, signature:{ scalar: $scalar, field: $field, }) { delegation { amount fee feePayer { publicKey token } feeToken from fromAccount { publicKey token } hash id isDelegation kind memo nonce receiver { publicKey token } source { publicKey token } to token toAccount { token publicKey } } } }"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Broadcasts a signed delegation transaction to the Mina blockchain",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "description": "",
                "type": "object",
                "properties": {
                  "publicKey": {
                    "type": "string",
                    "minLength": 1
                  },
                  "signature": {
                    "type": "object",
                    "properties": {
                      "field": {
                        "type": "string",
                        "minLength": 1
                      },
                      "scalar": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "required": [
                      "field",
                      "scalar"
                    ]
                  },
                  "payload": {
                    "type": "object",
                    "properties": {
                      "to": {
                        "type": "string",
                        "minLength": 1
                      },
                      "from": {
                        "type": "string",
                        "minLength": 1
                      },
                      "fee": {
                        "type": "string",
                        "minLength": 1
                      },
                      "nonce": {
                        "type": "string",
                        "minLength": 1
                      },
                      "memo": {
                        "type": "string",
                        "minLength": 1
                      },
                      "validUntil": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "required": [
                      "to",
                      "from",
                      "fee",
                      "nonce",
                      "memo",
                      "validUntil"
                    ]
                  }
                },
                "required": [
                  "publicKey",
                  "signature",
                  "payload"
                ]
              },
              "examples": {
                "Signed Delegation Transaction": {
                  "value": {
                    "publicKey": "B62qogU1qY33L8jwRmkwjN42xpSNrv8UkxaKrRFZxJSgbaNRMtpMTg7",
                    "signature": {
                      "field": "18272595141380250584469604897229002416332940517678367847162300084194223829287",
                      "scalar": "14023806555216748787769239497115189883629278190444711668661465519595755765526"
                    },
                    "payload": {
                      "to": "B62qogU1qY33L8jwRmkwjN42xpSNrv8UkxaKrRFZxJSgbaNRMtpMTg7",
                      "from": "B62qogU1qY33L8jwRmkwjN42xpSNrv8UkxaKrRFZxJSgbaNRMtpMTg7",
                      "fee": "1000000000",
                      "nonce": "1326",
                      "memo": "Broadcast API",
                      "validUntil": "4294967295"
                    }
                  }
                }
              }
            },
            "application/xml": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          },
          "description": "Signed delegation transaction"
        },
        "tags": [
          "broadcast"
        ]
      }
    },
    "/blocks": {
      "get": {
        "summary": "Get latest blocks",
        "tags": [
          "blocks"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "type": "object",
                  "properties": {
                    "blocks": {
                      "type": "array",
                      "uniqueItems": true,
                      "minItems": 1,
                      "items": {
                        "type": "object",
                        "properties": {
                          "blockHeight": {
                            "type": "number"
                          },
                          "canonical": {
                            "type": "boolean"
                          },
                          "creator": {
                            "type": "string",
                            "minLength": 1
                          },
                          "creatorAccount": {
                            "type": "object",
                            "properties": {
                              "publicKey": {
                                "type": "string",
                                "minLength": 1
                              }
                            },
                            "required": [
                              "publicKey"
                            ]
                          },
                          "dateTime": {
                            "type": "string",
                            "minLength": 1
                          },
                          "protocolState": {
                            "type": "object",
                            "properties": {
                              "blockchainState": {
                                "type": "object",
                                "required": [
                                  "date",
                                  "snarkedLedgerHash",
                                  "stagedLedgerHash",
                                  "utcDate"
                                ],
                                "properties": {
                                  "date": {
                                    "type": "number"
                                  },
                                  "snarkedLedgerHash": {
                                    "type": "string",
                                    "minLength": 1
                                  },
                                  "stagedLedgerHash": {
                                    "type": "string",
                                    "minLength": 1
                                  },
                                  "utcDate": {
                                    "type": "number"
                                  }
                                }
                              },
                              "consensusState": {
                                "type": "object",
                                "required": [
                                  "blockHeight",
                                  "blockchainLength",
                                  "epoch",
                                  "epochCount",
                                  "hasAncestorInSameCheckpointWindow",
                                  "lastVrfOutput",
                                  "minWindowDensity",
                                  "nextEpochData",
                                  "slot",
                                  "slotSinceGenesis",
                                  "stakingEpochData",
                                  "totalCurrency"
                                ],
                                "properties": {
                                  "blockHeight": {
                                    "type": "number"
                                  },
                                  "blockchainLength": {
                                    "type": "number"
                                  },
                                  "epoch": {
                                    "type": "number"
                                  },
                                  "epochCount": {
                                    "type": "number"
                                  },
                                  "hasAncestorInSameCheckpointWindow": {
                                    "type": "boolean"
                                  },
                                  "lastVrfOutput": {
                                    "type": "string",
                                    "minLength": 1
                                  },
                                  "minWindowDensity": {
                                    "type": "number"
                                  },
                                  "nextEpochData": {
                                    "type": "object",
                                    "required": [
                                      "epochLength",
                                      "ledger",
                                      "lockCheckpoint",
                                      "seed",
                                      "startCheckpoint"
                                    ],
                                    "properties": {
                                      "epochLength": {
                                        "type": "number"
                                      },
                                      "ledger": {
                                        "type": "object",
                                        "required": [
                                          "hash",
                                          "totalCurrency"
                                        ],
                                        "properties": {
                                          "hash": {
                                            "type": "string",
                                            "minLength": 1
                                          },
                                          "totalCurrency": {
                                            "type": "number"
                                          }
                                        }
                                      },
                                      "lockCheckpoint": {
                                        "type": "string",
                                        "minLength": 1
                                      },
                                      "seed": {
                                        "type": "string",
                                        "minLength": 1
                                      },
                                      "startCheckpoint": {
                                        "type": "string",
                                        "minLength": 1
                                      }
                                    }
                                  },
                                  "slot": {
                                    "type": "number"
                                  },
                                  "slotSinceGenesis": {
                                    "type": "number"
                                  },
                                  "stakingEpochData": {
                                    "type": "object",
                                    "required": [
                                      "epochLength",
                                      "ledger",
                                      "lockCheckpoint",
                                      "seed",
                                      "startCheckpoint"
                                    ],
                                    "properties": {
                                      "epochLength": {
                                        "type": "number"
                                      },
                                      "ledger": {
                                        "type": "object",
                                        "required": [
                                          "hash",
                                          "totalCurrency"
                                        ],
                                        "properties": {
                                          "hash": {
                                            "type": "string",
                                            "minLength": 1
                                          },
                                          "totalCurrency": {
                                            "type": "number"
                                          }
                                        }
                                      },
                                      "lockCheckpoint": {
                                        "type": "string",
                                        "minLength": 1
                                      },
                                      "seed": {
                                        "type": "string",
                                        "minLength": 1
                                      },
                                      "startCheckpoint": {
                                        "type": "string",
                                        "minLength": 1
                                      }
                                    }
                                  },
                                  "totalCurrency": {
                                    "type": "number"
                                  }
                                }
                              },
                              "previousStateHash": {
                                "type": "string",
                                "minLength": 1
                              }
                            },
                            "required": [
                              "blockchainState",
                              "consensusState",
                              "previousStateHash"
                            ]
                          },
                          "receivedTime": {
                            "type": "string",
                            "minLength": 1
                          },
                          "snarkJobs": {
                            "type": "array",
                            "uniqueItems": true,
                            "minItems": 1,
                            "items": {
                              "type": "object",
                              "properties": {
                                "blockHeight": {
                                  "type": "number"
                                },
                                "blockStateHash": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "dateTime": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "fee": {
                                  "type": "number"
                                },
                                "prover": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "workIds": {
                                  "type": "array",
                                  "items": {
                                    "type": "object"
                                  }
                                }
                              },
                              "required": [
                                "blockHeight",
                                "blockStateHash",
                                "dateTime",
                                "fee",
                                "prover"
                              ]
                            }
                          },
                          "stateHash": {
                            "type": "string",
                            "minLength": 1
                          },
                          "stateHashField": {
                            "type": "string",
                            "minLength": 1
                          },
                          "transactions": {
                            "type": "object",
                            "properties": {
                              "coinbase": {
                                "type": "number"
                              },
                              "coinbaseReceiverAccount": {
                                "type": "object",
                                "required": [
                                  "publicKey"
                                ],
                                "properties": {
                                  "publicKey": {
                                    "type": "string",
                                    "minLength": 1
                                  }
                                }
                              },
                              "feeTransfer": {
                                "type": "array",
                                "uniqueItems": true,
                                "minItems": 1,
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "fee": {
                                      "type": "number"
                                    },
                                    "recipient": {
                                      "type": "string",
                                      "minLength": 1
                                    }
                                  },
                                  "required": [
                                    "fee",
                                    "recipient"
                                  ]
                                }
                              },
                              "userCommands": {
                                "type": "array",
                                "uniqueItems": true,
                                "minItems": 1,
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "amount": {
                                      "type": "number"
                                    },
                                    "blockHeight": {
                                      "type": "number"
                                    },
                                    "blockStateHash": {
                                      "type": "string",
                                      "minLength": 1
                                    },
                                    "dateTime": {
                                      "type": "string",
                                      "minLength": 1
                                    },
                                    "fee": {
                                      "type": "number"
                                    },
                                    "feePayer": {
                                      "type": "object",
                                      "properties": {
                                        "publicKey": {
                                          "type": "string",
                                          "minLength": 1
                                        },
                                        "token": {
                                          "type": "number"
                                        }
                                      },
                                      "required": [
                                        "publicKey",
                                        "token"
                                      ]
                                    },
                                    "feeToken": {
                                      "type": "number"
                                    },
                                    "from": {
                                      "type": "string",
                                      "minLength": 1
                                    },
                                    "fromAccount": {
                                      "type": "object",
                                      "properties": {
                                        "publicKey": {
                                          "type": "string",
                                          "minLength": 1
                                        },
                                        "token": {
                                          "type": "number"
                                        }
                                      },
                                      "required": [
                                        "publicKey",
                                        "token"
                                      ]
                                    },
                                    "hash": {
                                      "type": "string",
                                      "minLength": 1
                                    },
                                    "id": {
                                      "type": "string",
                                      "minLength": 1
                                    },
                                    "isDelegation": {
                                      "type": "boolean"
                                    },
                                    "kind": {
                                      "type": "string",
                                      "minLength": 1
                                    },
                                    "memo": {
                                      "type": "string",
                                      "minLength": 1
                                    },
                                    "nonce": {
                                      "type": "number"
                                    },
                                    "receiver": {
                                      "type": "object",
                                      "properties": {
                                        "publicKey": {
                                          "type": "string",
                                          "minLength": 1
                                        }
                                      },
                                      "required": [
                                        "publicKey"
                                      ]
                                    },
                                    "source": {
                                      "type": "object",
                                      "properties": {
                                        "publicKey": {
                                          "type": "string",
                                          "minLength": 1
                                        }
                                      },
                                      "required": [
                                        "publicKey"
                                      ]
                                    },
                                    "to": {
                                      "type": "string",
                                      "minLength": 1
                                    },
                                    "toAccount": {
                                      "type": "object",
                                      "properties": {
                                        "publicKey": {
                                          "type": "string",
                                          "minLength": 1
                                        },
                                        "token": {
                                          "type": "number"
                                        }
                                      },
                                      "required": [
                                        "publicKey",
                                        "token"
                                      ]
                                    },
                                    "token": {
                                      "type": "number"
                                    }
                                  },
                                  "required": [
                                    "amount",
                                    "blockHeight",
                                    "blockStateHash",
                                    "dateTime",
                                    "fee",
                                    "feeToken",
                                    "from",
                                    "hash",
                                    "id",
                                    "isDelegation",
                                    "kind",
                                    "memo",
                                    "nonce",
                                    "to",
                                    "token"
                                  ]
                                }
                              }
                            },
                            "required": [
                              "coinbase",
                              "coinbaseReceiverAccount",
                              "feeTransfer"
                            ]
                          },
                          "winnerAccount": {
                            "type": "object",
                            "properties": {
                              "publicKey": {
                                "type": "string",
                                "minLength": 1
                              }
                            },
                            "required": [
                              "publicKey"
                            ]
                          }
                        },
                        "required": [
                          "blockHeight",
                          "canonical",
                          "creator",
                          "dateTime",
                          "receivedTime",
                          "stateHash",
                          "stateHashField"
                        ]
                      }
                    }
                  },
                  "required": [
                    "blocks"
                  ]
                },
                "examples": {
                  "Example": {
                    "value": {
                      "blocks": [
                        {
                          "blockHeight": 0,
                          "canonical": true,
                          "creator": "string",
                          "creatorAccount": {
                            "publicKey": "string"
                          },
                          "dateTime": "string",
                          "protocolState": {
                            "blockchainState": {
                              "date": 0,
                              "snarkedLedgerHash": "string",
                              "stagedLedgerHash": "string",
                              "utcDate": 0
                            },
                            "consensusState": {
                              "blockHeight": 0,
                              "blockchainLength": 0,
                              "epoch": 0,
                              "epochCount": 0,
                              "hasAncestorInSameCheckpointWindow": true,
                              "lastVrfOutput": "string",
                              "minWindowDensity": 0,
                              "nextEpochData": {
                                "epochLength": 0,
                                "ledger": {
                                  "hash": "string",
                                  "totalCurrency": 0
                                },
                                "lockCheckpoint": "string",
                                "seed": "string",
                                "startCheckpoint": "string"
                              },
                              "slot": 0,
                              "slotSinceGenesis": 0,
                              "stakingEpochData": {
                                "epochLength": 0,
                                "ledger": {
                                  "hash": "string",
                                  "totalCurrency": 0
                                },
                                "lockCheckpoint": "string",
                                "seed": "string",
                                "startCheckpoint": "string"
                              },
                              "totalCurrency": 0
                            },
                            "previousStateHash": "string"
                          },
                          "receivedTime": "string",
                          "snarkJobs": [
                            {
                              "blockHeight": 0,
                              "blockStateHash": "string",
                              "dateTime": "string",
                              "fee": 0,
                              "prover": "string",
                              "workIds": [
                                {}
                              ]
                            }
                          ],
                          "stateHash": "string",
                          "stateHashField": "string",
                          "transactions": {
                            "coinbase": 0,
                            "coinbaseReceiverAccount": {
                              "publicKey": "string"
                            },
                            "feeTransfer": [
                              {
                                "fee": 0,
                                "recipient": "string"
                              }
                            ],
                            "userCommands": [
                              {
                                "amount": 0,
                                "blockHeight": 0,
                                "blockStateHash": "string",
                                "dateTime": "string",
                                "fee": 0,
                                "feePayer": {
                                  "publicKey": "string",
                                  "token": 0
                                },
                                "feeToken": 0,
                                "from": "string",
                                "fromAccount": {
                                  "publicKey": "string",
                                  "token": 0
                                },
                                "hash": "string",
                                "id": "string",
                                "isDelegation": true,
                                "kind": "string",
                                "memo": "string",
                                "nonce": 0,
                                "receiver": {
                                  "publicKey": "string"
                                },
                                "source": {
                                  "publicKey": "string"
                                },
                                "to": "string",
                                "toAccount": {
                                  "publicKey": "string",
                                  "token": 0
                                },
                                "token": 0
                              }
                            ]
                          },
                          "winnerAccount": {
                            "publicKey": "string"
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "get-blocks",
        "description": "Get the latest blocks on the canonical chain. The default options return the latest block, but will return up to a maximum of 10 blocks. For full block data use the GraphQL API.",
        "parameters": [
          {
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 10,
              "default": 1
            },
            "in": "query",
            "name": "limit",
            "description": "Limit the number of blocks returned"
          }
        ]
      }
    },
    "/blocks/{state_hash}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "state_hash",
          "in": "path",
          "description": "The protocol state hash of the block to be returned",
          "required": true
        }
      ],
      "get": {
        "summary": "Get block",
        "tags": [
          "blocks"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "type": "object",
                  "properties": {
                    "block": {
                      "type": "object",
                      "required": [
                        "blockHeight",
                        "canonical",
                        "creator",
                        "creatorAccount",
                        "dateTime",
                        "protocolState",
                        "receivedTime",
                        "stateHash",
                        "stateHashField",
                        "transactions",
                        "winnerAccount"
                      ],
                      "properties": {
                        "blockHeight": {
                          "type": "number"
                        },
                        "canonical": {
                          "type": "boolean"
                        },
                        "creator": {
                          "type": "string",
                          "minLength": 1
                        },
                        "creatorAccount": {
                          "type": "object",
                          "required": [
                            "publicKey"
                          ],
                          "properties": {
                            "publicKey": {
                              "type": "string",
                              "minLength": 1
                            }
                          }
                        },
                        "dateTime": {
                          "type": "string",
                          "minLength": 1
                        },
                        "protocolState": {
                          "type": "object",
                          "required": [
                            "blockchainState",
                            "consensusState",
                            "previousStateHash"
                          ],
                          "properties": {
                            "blockchainState": {
                              "type": "object",
                              "required": [
                                "date",
                                "snarkedLedgerHash",
                                "stagedLedgerHash",
                                "utcDate"
                              ],
                              "properties": {
                                "date": {
                                  "type": "number"
                                },
                                "snarkedLedgerHash": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "stagedLedgerHash": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "utcDate": {
                                  "type": "number"
                                }
                              }
                            },
                            "consensusState": {
                              "type": "object",
                              "required": [
                                "blockHeight",
                                "blockchainLength",
                                "epoch",
                                "epochCount",
                                "hasAncestorInSameCheckpointWindow",
                                "lastVrfOutput",
                                "minWindowDensity",
                                "nextEpochData",
                                "slot",
                                "slotSinceGenesis",
                                "stakingEpochData",
                                "totalCurrency"
                              ],
                              "properties": {
                                "blockHeight": {
                                  "type": "number"
                                },
                                "blockchainLength": {
                                  "type": "number"
                                },
                                "epoch": {
                                  "type": "number"
                                },
                                "epochCount": {
                                  "type": "number"
                                },
                                "hasAncestorInSameCheckpointWindow": {
                                  "type": "boolean"
                                },
                                "lastVrfOutput": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "minWindowDensity": {
                                  "type": "number"
                                },
                                "nextEpochData": {
                                  "type": "object",
                                  "required": [
                                    "epochLength",
                                    "ledger",
                                    "lockCheckpoint",
                                    "seed",
                                    "startCheckpoint"
                                  ],
                                  "properties": {
                                    "epochLength": {
                                      "type": "number"
                                    },
                                    "ledger": {
                                      "type": "object",
                                      "required": [
                                        "hash",
                                        "totalCurrency"
                                      ],
                                      "properties": {
                                        "hash": {
                                          "type": "string",
                                          "minLength": 1
                                        },
                                        "totalCurrency": {
                                          "type": "number"
                                        }
                                      }
                                    },
                                    "lockCheckpoint": {
                                      "type": "string",
                                      "minLength": 1
                                    },
                                    "seed": {
                                      "type": "string",
                                      "minLength": 1
                                    },
                                    "startCheckpoint": {
                                      "type": "string",
                                      "minLength": 1
                                    }
                                  }
                                },
                                "slot": {
                                  "type": "number"
                                },
                                "slotSinceGenesis": {
                                  "type": "number"
                                },
                                "stakingEpochData": {
                                  "type": "object",
                                  "required": [
                                    "epochLength",
                                    "ledger",
                                    "lockCheckpoint",
                                    "seed",
                                    "startCheckpoint"
                                  ],
                                  "properties": {
                                    "epochLength": {
                                      "type": "number"
                                    },
                                    "ledger": {
                                      "type": "object",
                                      "required": [
                                        "hash",
                                        "totalCurrency"
                                      ],
                                      "properties": {
                                        "hash": {
                                          "type": "string",
                                          "minLength": 1
                                        },
                                        "totalCurrency": {
                                          "type": "number"
                                        }
                                      }
                                    },
                                    "lockCheckpoint": {
                                      "type": "string",
                                      "minLength": 1
                                    },
                                    "seed": {
                                      "type": "string",
                                      "minLength": 1
                                    },
                                    "startCheckpoint": {
                                      "type": "string",
                                      "minLength": 1
                                    }
                                  }
                                },
                                "totalCurrency": {
                                  "type": "number"
                                }
                              }
                            },
                            "previousStateHash": {
                              "type": "string",
                              "minLength": 1
                            }
                          }
                        },
                        "receivedTime": {
                          "type": "string",
                          "minLength": 1
                        },
                        "snarkJobs": {
                          "type": "array",
                          "uniqueItems": true,
                          "minItems": 1,
                          "items": {
                            "type": "object",
                            "properties": {
                              "blockHeight": {
                                "type": "number"
                              },
                              "blockStateHash": {
                                "type": "string",
                                "minLength": 1
                              },
                              "dateTime": {
                                "type": "string",
                                "minLength": 1
                              },
                              "fee": {
                                "type": "number"
                              },
                              "prover": {
                                "type": "string",
                                "minLength": 1
                              },
                              "workIds": {
                                "type": "array",
                                "items": {
                                  "type": "object"
                                }
                              }
                            },
                            "required": [
                              "blockHeight",
                              "blockStateHash",
                              "dateTime",
                              "fee",
                              "prover"
                            ]
                          }
                        },
                        "stateHash": {
                          "type": "string",
                          "minLength": 1
                        },
                        "stateHashField": {
                          "type": "string",
                          "minLength": 1
                        },
                        "transactions": {
                          "type": "object",
                          "required": [
                            "coinbase",
                            "coinbaseReceiverAccount",
                            "feeTransfer"
                          ],
                          "properties": {
                            "coinbase": {
                              "type": "number"
                            },
                            "coinbaseReceiverAccount": {
                              "type": "object",
                              "required": [
                                "publicKey"
                              ],
                              "properties": {
                                "publicKey": {
                                  "type": "string",
                                  "minLength": 1
                                }
                              }
                            },
                            "feeTransfer": {
                              "type": "array",
                              "uniqueItems": true,
                              "minItems": 1,
                              "items": {
                                "type": "object",
                                "properties": {
                                  "fee": {
                                    "type": "number"
                                  },
                                  "recipient": {
                                    "type": "string",
                                    "minLength": 1
                                  }
                                },
                                "required": [
                                  "fee",
                                  "recipient"
                                ]
                              }
                            },
                            "userCommands": {
                              "type": "array",
                              "uniqueItems": true,
                              "minItems": 1,
                              "items": {
                                "type": "object",
                                "properties": {
                                  "amount": {
                                    "type": "number"
                                  },
                                  "blockHeight": {
                                    "type": "number"
                                  },
                                  "blockStateHash": {
                                    "type": "string",
                                    "minLength": 1
                                  },
                                  "dateTime": {
                                    "type": "string",
                                    "minLength": 1
                                  },
                                  "fee": {
                                    "type": "number"
                                  },
                                  "feePayer": {
                                    "type": "object",
                                    "properties": {
                                      "publicKey": {
                                        "type": "string",
                                        "minLength": 1
                                      },
                                      "token": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "publicKey",
                                      "token"
                                    ]
                                  },
                                  "feeToken": {
                                    "type": "number"
                                  },
                                  "from": {
                                    "type": "string",
                                    "minLength": 1
                                  },
                                  "fromAccount": {
                                    "type": "object",
                                    "properties": {
                                      "publicKey": {
                                        "type": "string",
                                        "minLength": 1
                                      },
                                      "token": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "publicKey",
                                      "token"
                                    ]
                                  },
                                  "hash": {
                                    "type": "string",
                                    "minLength": 1
                                  },
                                  "id": {
                                    "type": "string",
                                    "minLength": 1
                                  },
                                  "isDelegation": {
                                    "type": "boolean"
                                  },
                                  "kind": {
                                    "type": "string",
                                    "minLength": 1
                                  },
                                  "memo": {
                                    "type": "string",
                                    "minLength": 1
                                  },
                                  "nonce": {
                                    "type": "number"
                                  },
                                  "receiver": {
                                    "type": "object",
                                    "properties": {
                                      "publicKey": {
                                        "type": "string",
                                        "minLength": 1
                                      }
                                    },
                                    "required": [
                                      "publicKey"
                                    ]
                                  },
                                  "source": {
                                    "type": "object",
                                    "properties": {
                                      "publicKey": {
                                        "type": "string",
                                        "minLength": 1
                                      }
                                    },
                                    "required": [
                                      "publicKey"
                                    ]
                                  },
                                  "to": {
                                    "type": "string",
                                    "minLength": 1
                                  },
                                  "toAccount": {
                                    "type": "object",
                                    "properties": {
                                      "publicKey": {
                                        "type": "string",
                                        "minLength": 1
                                      },
                                      "token": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "publicKey",
                                      "token"
                                    ]
                                  },
                                  "token": {
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "amount",
                                  "blockHeight",
                                  "blockStateHash",
                                  "dateTime",
                                  "fee",
                                  "feeToken",
                                  "from",
                                  "hash",
                                  "id",
                                  "isDelegation",
                                  "kind",
                                  "memo",
                                  "nonce",
                                  "to",
                                  "token"
                                ]
                              }
                            }
                          }
                        },
                        "winnerAccount": {
                          "type": "object",
                          "required": [
                            "publicKey"
                          ],
                          "properties": {
                            "publicKey": {
                              "type": "string",
                              "minLength": 1
                            }
                          }
                        }
                      }
                    }
                  },
                  "required": [
                    "block"
                  ]
                },
                "examples": {
                  "Example": {
                    "value": {
                      "block": {
                        "blockHeight": 0,
                        "canonical": true,
                        "creator": "string",
                        "creatorAccount": {
                          "publicKey": "string"
                        },
                        "dateTime": "string",
                        "protocolState": {
                          "blockchainState": {
                            "date": 0,
                            "snarkedLedgerHash": "string",
                            "stagedLedgerHash": "string",
                            "utcDate": 0
                          },
                          "consensusState": {
                            "blockHeight": 0,
                            "blockchainLength": 0,
                            "epoch": 0,
                            "epochCount": 0,
                            "hasAncestorInSameCheckpointWindow": true,
                            "lastVrfOutput": "string",
                            "minWindowDensity": 0,
                            "nextEpochData": {
                              "epochLength": 0,
                              "ledger": {
                                "hash": "string",
                                "totalCurrency": 0
                              },
                              "lockCheckpoint": "string",
                              "seed": "string",
                              "startCheckpoint": "string"
                            },
                            "slot": 0,
                            "slotSinceGenesis": 0,
                            "stakingEpochData": {
                              "epochLength": 0,
                              "ledger": {
                                "hash": "string",
                                "totalCurrency": 0
                              },
                              "lockCheckpoint": "string",
                              "seed": "string",
                              "startCheckpoint": "string"
                            },
                            "totalCurrency": 0
                          },
                          "previousStateHash": "string"
                        },
                        "receivedTime": "string",
                        "snarkJobs": [
                          {
                            "blockHeight": 0,
                            "blockStateHash": "string",
                            "dateTime": "string",
                            "fee": 0,
                            "prover": "string",
                            "workIds": [
                              {}
                            ]
                          }
                        ],
                        "stateHash": "string",
                        "stateHashField": "string",
                        "transactions": {
                          "coinbase": 0,
                          "coinbaseReceiverAccount": {
                            "publicKey": "string"
                          },
                          "feeTransfer": [
                            {
                              "fee": 0,
                              "recipient": "string"
                            }
                          ],
                          "userCommands": [
                            {
                              "amount": 0,
                              "blockHeight": 0,
                              "blockStateHash": "string",
                              "dateTime": "string",
                              "fee": 0,
                              "feePayer": {
                                "publicKey": "string",
                                "token": 0
                              },
                              "feeToken": 0,
                              "from": "string",
                              "fromAccount": {
                                "publicKey": "string",
                                "token": 0
                              },
                              "hash": "string",
                              "id": "string",
                              "isDelegation": true,
                              "kind": "string",
                              "memo": "string",
                              "nonce": 0,
                              "receiver": {
                                "publicKey": "string"
                              },
                              "source": {
                                "publicKey": "string"
                              },
                              "to": "string",
                              "toAccount": {
                                "publicKey": "string",
                                "token": 0
                              },
                              "token": 0
                            }
                          ]
                        },
                        "winnerAccount": {
                          "publicKey": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "required": [
                    "message"
                  ]
                },
                "examples": {
                  "Example": {
                    "value": {
                      "message": "No blocks found for that state hash."
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "get-blocks-state_hash",
        "description": "Return a block by protocol state hash"
      }
    },
    "/accounts/{public_key}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "public_key",
          "in": "path",
          "required": true,
          "description": "Public key of the account"
        }
      ],
      "get": {
        "summary": "Account Details",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "type": "object",
                  "properties": {
                    "account": {
                      "type": "object",
                      "properties": {
                        "publicKey": {
                          "type": "string",
                          "minLength": 1
                        },
                        "balance": {
                          "type": "object",
                          "properties": {
                            "total": {
                              "type": "string",
                              "minLength": 1
                            },
                            "unknown": {
                              "type": "string",
                              "minLength": 1
                            },
                            "lockedBalance": {}
                          },
                          "required": [
                            "total",
                            "unknown"
                          ]
                        },
                        "nonce": {
                          "type": "number"
                        },
                        "receiptChainHash": {
                          "type": "string",
                          "minLength": 1
                        },
                        "delegate": {
                          "type": "string",
                          "minLength": 1
                        },
                        "votingFor": {
                          "type": "string",
                          "minLength": 1
                        },
                        "totalTx": {
                          "type": "number"
                        },
                        "totalBlocks": {
                          "type": "number"
                        },
                        "totalSnarks": {
                          "type": "number"
                        },
                        "countPendingTransactions": {
                          "type": "number"
                        },
                        "firstPendingTransaction": {
                          "type": "array",
                          "items": {
                            "properties": {}
                          }
                        },
                        "username": {
                          "type": "string",
                          "minLength": 1
                        },
                        "epochStakingAccount": {
                          "type": "array",
                          "uniqueItems": true,
                          "minItems": 1,
                          "items": {
                            "required": [
                              "pk",
                              "balance",
                              "delegate",
                              "token",
                              "receipt_chain_hash",
                              "voting_for",
                              "nonce",
                              "epoch",
                              "chainId",
                              "public_key"
                            ],
                            "properties": {
                              "pk": {
                                "type": "string",
                                "minLength": 1
                              },
                              "balance": {
                                "type": "string",
                                "minLength": 1
                              },
                              "delegate": {
                                "type": "string",
                                "minLength": 1
                              },
                              "token": {
                                "type": "number"
                              },
                              "receipt_chain_hash": {
                                "type": "string",
                                "minLength": 1
                              },
                              "voting_for": {
                                "type": "string",
                                "minLength": 1
                              },
                              "nonce": {
                                "type": "number"
                              },
                              "epoch": {
                                "type": "number"
                              },
                              "chainId": {
                                "type": "string",
                                "minLength": 1
                              },
                              "public_key": {
                                "type": "string",
                                "minLength": 1
                              }
                            }
                          }
                        },
                        "nextEpochStakingAccount": {
                          "type": "array",
                          "items": {
                            "properties": {}
                          }
                        },
                        "epochDelegators": {
                          "type": "array",
                          "uniqueItems": true,
                          "minItems": 1,
                          "items": {
                            "required": [
                              "pk",
                              "balance",
                              "delegate",
                              "token",
                              "receipt_chain_hash",
                              "voting_for",
                              "nonce",
                              "epoch",
                              "chainId",
                              "public_key"
                            ],
                            "properties": {
                              "pk": {
                                "type": "string",
                                "minLength": 1
                              },
                              "balance": {
                                "type": "string",
                                "minLength": 1
                              },
                              "delegate": {
                                "type": "string",
                                "minLength": 1
                              },
                              "token": {
                                "type": "number"
                              },
                              "receipt_chain_hash": {
                                "type": "string",
                                "minLength": 1
                              },
                              "voting_for": {
                                "type": "string",
                                "minLength": 1
                              },
                              "nonce": {
                                "type": "number"
                              },
                              "epoch": {
                                "type": "number"
                              },
                              "chainId": {
                                "type": "string",
                                "minLength": 1
                              },
                              "public_key": {
                                "type": "string",
                                "minLength": 1
                              }
                            }
                          }
                        },
                        "nextEpochDelegators": {
                          "type": "array",
                          "items": {
                            "properties": {}
                          }
                        },
                        "epochTotalStakingBalance": {
                          "type": "string",
                          "minLength": 1
                        },
                        "nextEpochTotalStakingBalance": {
                          "type": "string",
                          "minLength": 1
                        }
                      },
                      "required": [
                        "publicKey",
                        "balance",
                        "nonce",
                        "receiptChainHash",
                        "delegate",
                        "votingFor",
                        "totalTx",
                        "totalBlocks",
                        "totalSnarks",
                        "countPendingTransactions",
                        "firstPendingTransaction",
                        "username",
                        "epochStakingAccount",
                        "nextEpochStakingAccount",
                        "epochDelegators",
                        "nextEpochDelegators",
                        "epochTotalStakingBalance",
                        "nextEpochTotalStakingBalance"
                      ]
                    }
                  },
                  "required": [
                    "account"
                  ]
                },
                "examples": {
                  "Example": {
                    "value": {
                      "account": {
                        "publicKey": "string",
                        "balance": {
                          "total": "string",
                          "unknown": "string",
                          "lockedBalance": null
                        },
                        "nonce": 0,
                        "receiptChainHash": "string",
                        "delegate": "string",
                        "votingFor": "string",
                        "totalTx": 0,
                        "totalBlocks": 0,
                        "totalSnarks": 0,
                        "countPendingTransactions": 0,
                        "firstPendingTransaction": [
                          {}
                        ],
                        "username": "string",
                        "epochStakingAccount": [
                          {
                            "pk": "string",
                            "balance": "string",
                            "delegate": "string",
                            "token": 0,
                            "receipt_chain_hash": "string",
                            "voting_for": "string",
                            "nonce": 0,
                            "epoch": 0,
                            "chainId": "string",
                            "public_key": "string"
                          }
                        ],
                        "nextEpochStakingAccount": [
                          {}
                        ],
                        "epochDelegators": [
                          {
                            "pk": "string",
                            "balance": "string",
                            "delegate": "string",
                            "token": 0,
                            "receipt_chain_hash": "string",
                            "voting_for": "string",
                            "nonce": 0,
                            "epoch": 0,
                            "chainId": "string",
                            "public_key": "string"
                          }
                        ],
                        "nextEpochDelegators": [
                          {}
                        ],
                        "epochTotalStakingBalance": "string",
                        "nextEpochTotalStakingBalance": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "required": [
                    "message"
                  ]
                },
                "examples": {
                  "Account not found": {
                    "value": {
                      "message": "No account found for that public key."
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "get-wallet-public_key",
        "description": "Get the details of a Mina account",
        "tags": [
          "accounts"
        ]
      }
    },
    "/summary": {
      "get": {
        "summary": "Blockchain Summary",
        "tags": [
          "blockchain"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "type": "object",
                  "properties": {
                    "blockchainLength": {
                      "type": "number"
                    },
                    "chainId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "circulatingSupply": {
                      "type": "string",
                      "minLength": 1
                    },
                    "dateTime": {
                      "type": "string",
                      "minLength": 1
                    },
                    "epoch": {
                      "type": "number"
                    },
                    "globalSlot": {
                      "type": "number"
                    },
                    "lockedSupply": {
                      "type": "string",
                      "minLength": 1
                    },
                    "minWindowDensity": {
                      "type": "number"
                    },
                    "nextEpochLedgerHash": {
                      "type": "string",
                      "minLength": 1
                    },
                    "previousStateHash": {
                      "type": "string",
                      "minLength": 1
                    },
                    "slot": {
                      "type": "number"
                    },
                    "snarkedLedgerHash": {
                      "type": "string",
                      "minLength": 1
                    },
                    "stagedLedgerHash": {
                      "type": "string",
                      "minLength": 1
                    },
                    "stakingEpochLedgerHash": {
                      "type": "string",
                      "minLength": 1
                    },
                    "stateHash": {
                      "type": "string",
                      "minLength": 1
                    },
                    "totalCurrency": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "required": [
                    "blockchainLength",
                    "chainId",
                    "circulatingSupply",
                    "dateTime",
                    "epoch",
                    "globalSlot",
                    "lockedSupply",
                    "minWindowDensity",
                    "nextEpochLedgerHash",
                    "previousStateHash",
                    "slot",
                    "snarkedLedgerHash",
                    "stagedLedgerHash",
                    "stakingEpochLedgerHash",
                    "stateHash",
                    "totalCurrency"
                  ],
                  "x-examples": {
                    "example-1": {
                      "blockchainLength": 23624,
                      "chainId": "5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1",
                      "circulatingSupply": "107475777.840039250",
                      "dateTime": "Tue, 25 May 2021 00:27:00 GMT",
                      "epoch": 4,
                      "globalSlot": 33129,
                      "lockedSupply": "716354155.000000000",
                      "minWindowDensity": 39,
                      "nextEpochLedgerHash": "jxVF5YbC3B5Rk6ibfsL97WaqojfxrgWtEqMJST9pb4X8s3kRD2T",
                      "previousStateHash": "3NKYTJhv86Ho2gnK9MQb2yXCHcJf9xB2YJgR8ibCTjYiKKz2vWtX",
                      "slot": 4569,
                      "snarkedLedgerHash": "jwifqGrNYctdXdmuuZfViuSjLjtr25i5dh4myZR5uGXyKoEVQrh",
                      "stagedLedgerHash": "jxHDPBYakzx1giatQcgHrWk9yGp7tMcYoaLnTPSPW955N9vDfSb",
                      "stakingEpochLedgerHash": "jwPwVsSPZ2tmmGbp8UrWGmDgFDrrzTPpYcjpWosckmcVZV2kcW7",
                      "stateHash": "3NL3SZxz1y2YotE22vx5NndCFdwu6kK1YRBoSt95AJQdLPtNnYxd",
                      "totalCurrency": "823829932.840039233"
                    }
                  }
                },
                "examples": {
                  "Example": {
                    "value": {
                      "blockchainLength": 23624,
                      "chainId": "5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1",
                      "circulatingSupply": "107475777.840039250",
                      "dateTime": "Tue, 25 May 2021 00:27:00 GMT",
                      "epoch": 4,
                      "globalSlot": 33129,
                      "lockedSupply": "716354155.000000000",
                      "minWindowDensity": 39,
                      "nextEpochLedgerHash": "jxVF5YbC3B5Rk6ibfsL97WaqojfxrgWtEqMJST9pb4X8s3kRD2T",
                      "previousStateHash": "3NKYTJhv86Ho2gnK9MQb2yXCHcJf9xB2YJgR8ibCTjYiKKz2vWtX",
                      "slot": 4569,
                      "snarkedLedgerHash": "jwifqGrNYctdXdmuuZfViuSjLjtr25i5dh4myZR5uGXyKoEVQrh",
                      "stagedLedgerHash": "jxHDPBYakzx1giatQcgHrWk9yGp7tMcYoaLnTPSPW955N9vDfSb",
                      "stakingEpochLedgerHash": "jwPwVsSPZ2tmmGbp8UrWGmDgFDrrzTPpYcjpWosckmcVZV2kcW7",
                      "stateHash": "3NL3SZxz1y2YotE22vx5NndCFdwu6kK1YRBoSt95AJQdLPtNnYxd",
                      "totalCurrency": "823829932.840039233"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "get-summary",
        "description": "Returns summary information about the current chain"
      }
    }
  },
  "components": {
    "schemas": {
      "Signed-Transaction": {
        "description": "",
        "type": "object",
        "properties": {
          "publicKey": {
            "type": "string",
            "minLength": 1
          },
          "signature": {
            "type": "object",
            "required": [
              "field",
              "scalar"
            ],
            "properties": {
              "field": {
                "type": "string",
                "minLength": 1
              },
              "scalar": {
                "type": "string",
                "minLength": 1
              }
            }
          },
          "payload": {
            "type": "object",
            "required": [
              "to",
              "from",
              "fee",
              "amount",
              "nonce",
              "memo",
              "validUntil"
            ],
            "properties": {
              "to": {
                "type": "string",
                "minLength": 1
              },
              "from": {
                "type": "string",
                "minLength": 1
              },
              "fee": {
                "type": "string",
                "minLength": 1
              },
              "amount": {
                "type": "string",
                "minLength": 1
              },
              "nonce": {
                "type": "string",
                "minLength": 1
              },
              "memo": {
                "type": "string",
                "minLength": 1
              },
              "validUntil": {
                "type": "string",
                "minLength": 1
              }
            }
          }
        },
        "required": [
          "publicKey",
          "signature",
          "payload"
        ],
        "x-examples": {
          "Send Payment": {
            "publicKey": "B62qogU1qY33L8jwRmkwjN42xpSNrv8UkxaKrRFZxJSgbaNRMtpMTg7",
            "signature": {
              "field": "1463302494432670246352080493267751231232508175048073643764003597745600926575",
              "scalar": "3355463546888926913704696844669949255125610568097462660485775018728400057838"
            },
            "payload": {
              "to": "B62qogU1qY33L8jwRmkwjN42xpSNrv8UkxaKrRFZxJSgbaNRMtpMTg7",
              "from": "B62qogU1qY33L8jwRmkwjN42xpSNrv8UkxaKrRFZxJSgbaNRMtpMTg7",
              "fee": "10000000000",
              "amount": "1000000000",
              "nonce": "1325",
              "memo": "SDK payment",
              "validUntil": "4294967295"
            }
          }
        }
      },
      "Block": {
        "description": "",
        "type": "object",
        "properties": {
          "blocks": {
            "type": "array",
            "uniqueItems": true,
            "minItems": 1,
            "items": {
              "required": [
                "canonical",
                "creator",
                "dateTime",
                "receivedTime",
                "stateHash",
                "stateHashField"
              ],
              "properties": {
                "canonical": {
                  "type": "boolean"
                },
                "creator": {
                  "type": "string",
                  "minLength": 1
                },
                "creatorAccount": {
                  "type": "object",
                  "properties": {
                    "publicKey": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "required": [
                    "publicKey"
                  ]
                },
                "dateTime": {
                  "type": "string",
                  "minLength": 1
                },
                "protocolState": {
                  "type": "object",
                  "properties": {
                    "blockchainState": {
                      "type": "object",
                      "properties": {
                        "date": {
                          "type": "string",
                          "minLength": 1
                        },
                        "snarkedLedgerHash": {
                          "type": "string",
                          "minLength": 1
                        },
                        "stagedLedgerHash": {
                          "type": "string",
                          "minLength": 1
                        },
                        "utcDate": {
                          "type": "string",
                          "minLength": 1
                        }
                      },
                      "required": [
                        "date",
                        "snarkedLedgerHash",
                        "stagedLedgerHash",
                        "utcDate"
                      ]
                    },
                    "consensusState": {
                      "type": "object",
                      "properties": {
                        "blockHeight": {
                          "type": "string",
                          "minLength": 1
                        },
                        "blockchainLength": {
                          "type": "string",
                          "minLength": 1
                        },
                        "epoch": {
                          "type": "string",
                          "minLength": 1
                        },
                        "epochCount": {
                          "type": "string",
                          "minLength": 1
                        },
                        "hasAncestorInSameCheckpointWindow": {
                          "type": "boolean"
                        },
                        "lastVrfOutput": {
                          "type": "string",
                          "minLength": 1
                        },
                        "minWindowDensity": {
                          "type": "string",
                          "minLength": 1
                        },
                        "nextEpochData": {
                          "type": "object",
                          "properties": {
                            "epochLength": {
                              "type": "string",
                              "minLength": 1
                            },
                            "ledger": {
                              "type": "object",
                              "properties": {
                                "hash": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "totalCurrency": {
                                  "type": "string",
                                  "minLength": 1
                                }
                              },
                              "required": [
                                "hash",
                                "totalCurrency"
                              ]
                            },
                            "lockCheckpoint": {
                              "type": "string",
                              "minLength": 1
                            },
                            "seed": {
                              "type": "string",
                              "minLength": 1
                            },
                            "startCheckpoint": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "required": [
                            "epochLength",
                            "ledger",
                            "lockCheckpoint",
                            "seed",
                            "startCheckpoint"
                          ]
                        },
                        "slot": {
                          "type": "string",
                          "minLength": 1
                        },
                        "slotSinceGenesis": {
                          "type": "string",
                          "minLength": 1
                        },
                        "stakingEpochData": {
                          "type": "object",
                          "properties": {
                            "epochLength": {
                              "type": "string",
                              "minLength": 1
                            },
                            "ledger": {
                              "type": "object",
                              "properties": {
                                "hash": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "totalCurrency": {
                                  "type": "string",
                                  "minLength": 1
                                }
                              },
                              "required": [
                                "hash",
                                "totalCurrency"
                              ]
                            },
                            "lockCheckpoint": {
                              "type": "string",
                              "minLength": 1
                            },
                            "seed": {
                              "type": "string",
                              "minLength": 1
                            },
                            "startCheckpoint": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "required": [
                            "epochLength",
                            "ledger",
                            "lockCheckpoint",
                            "seed",
                            "startCheckpoint"
                          ]
                        },
                        "totalCurrency": {
                          "type": "string",
                          "minLength": 1
                        }
                      },
                      "required": [
                        "blockHeight",
                        "blockchainLength",
                        "epoch",
                        "epochCount",
                        "hasAncestorInSameCheckpointWindow",
                        "lastVrfOutput",
                        "minWindowDensity",
                        "nextEpochData",
                        "slot",
                        "slotSinceGenesis",
                        "stakingEpochData",
                        "totalCurrency"
                      ]
                    },
                    "previousStateHash": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "required": [
                    "blockchainState",
                    "consensusState",
                    "previousStateHash"
                  ]
                },
                "receivedTime": {
                  "type": "string",
                  "minLength": 1
                },
                "snarkJobs": {
                  "type": "array",
                  "uniqueItems": true,
                  "minItems": 1,
                  "items": {
                    "required": [
                      "blockHeight",
                      "blockStateHash",
                      "dateTime",
                      "fee",
                      "prover"
                    ],
                    "properties": {
                      "blockHeight": {
                        "type": "string",
                        "minLength": 1
                      },
                      "blockStateHash": {
                        "type": "string",
                        "minLength": 1
                      },
                      "dateTime": {
                        "type": "string",
                        "minLength": 1
                      },
                      "fee": {
                        "type": "string",
                        "minLength": 1
                      },
                      "prover": {
                        "type": "string",
                        "minLength": 1
                      },
                      "workIds": {
                        "type": "array",
                        "items": {
                          "properties": {}
                        }
                      }
                    }
                  }
                },
                "stateHash": {
                  "type": "string",
                  "minLength": 1
                },
                "stateHashField": {
                  "type": "string",
                  "minLength": 1
                },
                "transactions": {
                  "type": "object",
                  "properties": {
                    "coinbase": {
                      "type": "string",
                      "minLength": 1
                    },
                    "coinbaseReceiverAccount": {
                      "type": "object",
                      "properties": {
                        "publicKey": {
                          "type": "string",
                          "minLength": 1
                        }
                      },
                      "required": [
                        "publicKey"
                      ]
                    },
                    "feeTransfer": {
                      "type": "array",
                      "uniqueItems": true,
                      "minItems": 1,
                      "items": {
                        "required": [
                          "fee",
                          "recipient"
                        ],
                        "properties": {
                          "fee": {
                            "type": "string",
                            "minLength": 1
                          },
                          "recipient": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      }
                    },
                    "userCommands": {
                      "type": "array",
                      "items": {
                        "properties": {}
                      }
                    }
                  },
                  "required": [
                    "coinbase",
                    "coinbaseReceiverAccount",
                    "feeTransfer",
                    "userCommands"
                  ]
                },
                "winnerAccount": {
                  "type": "object",
                  "properties": {
                    "publicKey": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "required": [
                    "publicKey"
                  ]
                }
              }
            }
          }
        },
        "required": [
          "blocks"
        ]
      }
    },
    "securitySchemes": {}
  },
  "tags": [
    {
      "name": "broadcast",
      "description": "Broadcast signed transactions to the network"
    },
    {
      "name": "blocks",
      "description": "Get block data"
    },
    {
      "name": "accounts",
      "description": "Get account data"
    },
    {
      "name": "blockchain",
      "description": "Return summary information about the blockchain"
    }
  ]
}