basePath: / definitions: address.AddressOverview: properties: vaas: items: $ref: '#/definitions/vaa.VaaDoc' type: array type: object github_com_wormhole-foundation_wormhole-explorer_api_routes_guardian_guardian.GuardianSet: properties: addresses: items: type: string type: array index: type: integer type: object governor.AvailableNotionalItemResponse: properties: bigTransactionSize: type: string chainId: $ref: '#/definitions/vaa.ChainID' notionalLimit: type: string remainingAvailableNotional: type: string type: object governor.AvailableNotionalResponse: properties: entries: items: $ref: '#/definitions/governor.AvailableNotionalItemResponse' type: array type: object governor.Emitter: properties: emitterAddress: type: string enqueuedVaas: items: $ref: '#/definitions/governor.EnqueuedVAA' type: array totalEnqueuedVaas: type: integer type: object governor.EnqueuedVAA: properties: notionalValue: type: integer releaseTime: type: string sequence: type: string txHash: type: string type: object governor.EnqueuedVaa: properties: chainId: $ref: '#/definitions/vaa.ChainID' emitterAddress: type: string notionalValue: type: integer sequence: type: string txHash: type: string type: object governor.EnqueuedVaaDetail: properties: chainId: $ref: '#/definitions/vaa.ChainID' emitterAddress: type: string notionalValue: type: integer releaseTime: type: integer sequence: type: string txHash: type: string type: object governor.EnqueuedVaaItemResponse: properties: emitterAddress: type: string emitterChain: $ref: '#/definitions/vaa.ChainID' notionalValue: type: string releaseTime: type: integer sequence: type: integer txHash: type: string type: object governor.EnqueuedVaaResponse: properties: entries: items: $ref: '#/definitions/governor.EnqueuedVaaItemResponse' type: array type: object governor.EnqueuedVaas: properties: chainId: $ref: '#/definitions/vaa.ChainID' enqueuedVaas: items: $ref: '#/definitions/governor.EnqueuedVaa' type: array type: object governor.GovConfig: properties: chains: items: $ref: '#/definitions/governor.GovConfigChains' type: array counter: type: integer createdAt: type: string id: type: string nodeName: type: string tokens: items: $ref: '#/definitions/governor.GovConfigfTokens' type: array updatedAt: type: string type: object governor.GovConfigChains: properties: bigTransactionSize: type: integer chainId: $ref: '#/definitions/vaa.ChainID' notionalLimit: type: integer type: object governor.GovConfigfTokens: properties: originAddress: type: string originChainId: type: integer price: type: number type: object governor.GovStatus: properties: chains: items: $ref: '#/definitions/governor.GovStatusChains' type: array createdAt: type: string id: type: string nodeName: type: string updatedAt: type: string type: object governor.GovStatusChainEmitter: properties: emitterAddress: type: string enqueuedVaas: {} totalEnqueuedVaas: type: integer type: object governor.GovStatusChains: properties: chainId: $ref: '#/definitions/vaa.ChainID' emitters: items: $ref: '#/definitions/governor.GovStatusChainEmitter' type: array remainingAvailableNotional: type: integer type: object governor.GovernorLimit: properties: availableNotional: type: integer chainId: $ref: '#/definitions/vaa.ChainID' maxTransactionSize: type: integer notionalLimit: type: integer type: object governor.MaxNotionalAvailableRecord: properties: availableNotional: type: integer chainId: $ref: '#/definitions/vaa.ChainID' createdAt: type: string emitters: items: $ref: '#/definitions/governor.Emitter' type: array id: type: string nodeName: type: string updatedAt: type: string type: object governor.NotionalAvailable: properties: availableNotional: type: integer chainId: $ref: '#/definitions/vaa.ChainID' type: object governor.NotionalAvailableDetail: properties: availableNotional: type: integer chainId: $ref: '#/definitions/vaa.ChainID' createdAt: type: string id: type: string nodeName: type: string updatedAt: type: string type: object governor.NotionalLimitDetail: properties: chainId: $ref: '#/definitions/vaa.ChainID' createdAt: type: string id: type: string maxTransactionSize: type: integer nodeName: type: string notionalLimit: type: integer updatedAt: type: string type: object governor.TokenList: properties: originAddress: type: string originChainId: $ref: '#/definitions/vaa.ChainID' price: type: number type: object guardian.GuardianSetResponse: properties: guardianSet: $ref: '#/definitions/github_com_wormhole-foundation_wormhole-explorer_api_routes_guardian_guardian.GuardianSet' type: object heartbeats.HeartbeatNetworkResponse: properties: contractAddress: type: string errorCount: type: string height: type: string id: type: integer type: object heartbeats.HeartbeatResponse: properties: p2pNodeAddr: type: string rawHeartbeat: $ref: '#/definitions/heartbeats.RawHeartbeat' verifiedGuardianAddr: type: string type: object heartbeats.HeartbeatsResponse: properties: entries: items: $ref: '#/definitions/heartbeats.HeartbeatResponse' type: array type: object heartbeats.RawHeartbeat: properties: bootTimestamp: type: string counter: type: string features: items: type: string type: array guardianAddr: type: string networks: items: $ref: '#/definitions/heartbeats.HeartbeatNetworkResponse' type: array nodeName: type: string timestamp: type: string version: type: string type: object infrastructure.VersionResponse: properties: branch: type: string build: type: string build_date: type: string machine: type: string user: type: string type: object observations.ObservationDoc: properties: emitterAddr: type: string emitterChain: $ref: '#/definitions/vaa.ChainID' guardianAddr: type: string hash: items: type: integer type: array id: type: string indexedAt: type: string sequence: type: string signature: items: type: integer type: array txHash: items: type: integer type: array updatedAt: type: string type: object operations.Content: properties: payload: additionalProperties: {} type: object standarizedProperties: $ref: '#/definitions/operations.StandardizedProperties' type: object operations.Data: properties: type: type: string value: additionalProperties: {} type: object type: object operations.EmitterAddress: properties: hex: type: string native: type: string type: object operations.OperationResponse: properties: content: $ref: '#/definitions/operations.Content' data: additionalProperties: {} type: object emitterAddress: $ref: '#/definitions/operations.EmitterAddress' emitterChain: $ref: '#/definitions/vaa.ChainID' id: type: string sequence: type: string sourceChain: $ref: '#/definitions/operations.SourceChain' targetChain: $ref: '#/definitions/operations.TargetChain' vaa: $ref: '#/definitions/operations.Vaa' type: object operations.SourceChain: properties: attribute: $ref: '#/definitions/operations.Data' chainId: $ref: '#/definitions/vaa.ChainID' from: type: string status: type: string timestamp: type: string transaction: $ref: '#/definitions/operations.Transaction' type: object operations.StandardizedProperties: properties: amount: type: string appIds: items: type: string type: array fee: type: string feeAddress: type: string feeChain: $ref: '#/definitions/vaa.ChainID' fromAddress: type: string fromChain: $ref: '#/definitions/vaa.ChainID' toAddress: type: string toChain: $ref: '#/definitions/vaa.ChainID' tokenAddress: type: string tokenChain: $ref: '#/definitions/vaa.ChainID' type: object operations.TargetChain: properties: chainId: $ref: '#/definitions/vaa.ChainID' from: type: string status: type: string timestamp: type: string to: type: string transaction: $ref: '#/definitions/operations.Transaction' type: object operations.Transaction: properties: secondTxHash: type: string txHash: type: string type: object operations.Vaa: properties: guardianSetIndex: type: integer isDuplicated: type: boolean raw: items: type: integer type: array type: object parser.ParseVaaWithStandarizedPropertiesdResponse: properties: parsedPayload: {} standardizedProperties: $ref: '#/definitions/parser.StandardizedProperties' type: object parser.StandardizedProperties: properties: amount: type: string appIds: items: type: string type: array fee: type: string feeAddress: type: string feeChain: $ref: '#/definitions/vaa.ChainID' fromAddress: type: string fromChain: $ref: '#/definitions/vaa.ChainID' toAddress: type: string toChain: $ref: '#/definitions/vaa.ChainID' tokenAddress: type: string tokenChain: $ref: '#/definitions/vaa.ChainID' type: object protocols.ProtocolTotalValuesDTO: properties: error: type: string last_day_diff_percentage: type: string last_day_messages: type: integer protocol: type: string total_messages: type: integer total_value_locked: type: number total_value_secured: type: number total_value_transferred: type: number type: object relays.DeliveryReponse: properties: budget: type: string execution: $ref: '#/definitions/relays.ResultExecutionResponse' maxRefund: type: string relayGasUsed: type: integer targetChainDecimals: type: integer type: object relays.InstructionsResponse: properties: encodedExecutionInfo: type: string extraReceiverValue: properties: _hex: type: string _isBigNumber: type: boolean type: object refundAddress: type: string refundChainId: type: integer refundDeliveryProvider: type: string requestedReceiverValue: properties: _hex: type: string _isBigNumber: type: boolean type: object senderAddress: type: string sourceDeliveryProvider: type: string targetAddress: type: string targetChainId: type: integer vaaKeys: items: {} type: array type: object relays.RelayDataResponse: properties: delivery: $ref: '#/definitions/relays.DeliveryReponse' fromTxHash: type: string instructions: $ref: '#/definitions/relays.InstructionsResponse' maxAttempts: type: integer toTxHash: type: string type: object relays.RelayResponse: properties: completedAt: type: string data: $ref: '#/definitions/relays.RelayDataResponse' failedAt: type: string id: type: string receivedAt: type: string relayer: type: string status: type: string type: object relays.ResultExecutionResponse: properties: detail: type: string gasUsed: type: string refundStatus: type: string revertString: type: string status: type: string transactionHash: type: string type: object response.Response-address_AddressOverview: properties: data: $ref: '#/definitions/address.AddressOverview' pagination: $ref: '#/definitions/response.ResponsePagination' type: object response.Response-array_governor_EnqueuedVaaDetail: properties: data: items: $ref: '#/definitions/governor.EnqueuedVaaDetail' type: array pagination: $ref: '#/definitions/response.ResponsePagination' type: object response.Response-array_governor_EnqueuedVaas: properties: data: items: $ref: '#/definitions/governor.EnqueuedVaas' type: array pagination: $ref: '#/definitions/response.ResponsePagination' type: object response.Response-array_governor_GovStatus: properties: data: items: $ref: '#/definitions/governor.GovStatus' type: array pagination: $ref: '#/definitions/response.ResponsePagination' type: object response.Response-array_governor_GovernorLimit: properties: data: items: $ref: '#/definitions/governor.GovernorLimit' type: array pagination: $ref: '#/definitions/response.ResponsePagination' type: object response.Response-array_governor_NotionalAvailable: properties: data: items: $ref: '#/definitions/governor.NotionalAvailable' type: array pagination: $ref: '#/definitions/response.ResponsePagination' type: object response.Response-array_governor_NotionalAvailableDetail: properties: data: items: $ref: '#/definitions/governor.NotionalAvailableDetail' type: array pagination: $ref: '#/definitions/response.ResponsePagination' type: object response.Response-array_governor_NotionalLimitDetail: properties: data: items: $ref: '#/definitions/governor.NotionalLimitDetail' type: array pagination: $ref: '#/definitions/response.ResponsePagination' type: object response.Response-array_vaa_VaaDoc: properties: data: items: $ref: '#/definitions/vaa.VaaDoc' type: array pagination: $ref: '#/definitions/response.ResponsePagination' type: object response.Response-array_vaa_VaaStats: properties: data: items: $ref: '#/definitions/vaa.VaaStats' type: array pagination: $ref: '#/definitions/response.ResponsePagination' type: object response.Response-governor_GovConfig: properties: data: $ref: '#/definitions/governor.GovConfig' pagination: $ref: '#/definitions/response.ResponsePagination' type: object response.Response-governor_GovStatus: properties: data: $ref: '#/definitions/governor.GovStatus' pagination: $ref: '#/definitions/response.ResponsePagination' type: object response.Response-governor_MaxNotionalAvailableRecord: properties: data: $ref: '#/definitions/governor.MaxNotionalAvailableRecord' pagination: $ref: '#/definitions/response.ResponsePagination' type: object response.ResponsePagination: properties: next: type: string type: object stats.TokenResult: properties: emitter_chain: $ref: '#/definitions/vaa.ChainID' token_address: type: string token_chain: $ref: '#/definitions/vaa.ChainID' txs: type: number volume: type: number type: object stats.TopCorridor: properties: emitter_chain: $ref: '#/definitions/vaa.ChainID' target_chain: $ref: '#/definitions/vaa.ChainID' token_address: type: string token_chain: $ref: '#/definitions/vaa.ChainID' txs: type: integer type: object stats.TopCorridorsResult: properties: corridors: items: $ref: '#/definitions/stats.TopCorridor' type: array type: object stats.TopSymbolByVolumeResult: properties: symbols: items: $ref: '#/definitions/stats.TopSymbolResult' type: array type: object stats.TopSymbolResult: properties: symbol: type: string tokens: items: $ref: '#/definitions/stats.TokenResult' type: array txs: type: number volume: type: number type: object transactions.AssetWithVolume: properties: emitterChain: $ref: '#/definitions/vaa.ChainID' symbol: type: string tokenAddress: type: string tokenChain: $ref: '#/definitions/vaa.ChainID' volume: type: string type: object transactions.AttributeDoc: properties: type: type: string value: additionalProperties: {} type: object type: object transactions.ChainActivity: properties: txs: items: $ref: '#/definitions/transactions.Tx' type: array type: object transactions.ChainActivityTopResult: properties: count: type: integer destination_chain: type: string emitter_chain: type: string from: type: string to: type: string volume: type: integer type: object transactions.ChainPair: properties: destinationChain: $ref: '#/definitions/vaa.ChainID' emitterChain: $ref: '#/definitions/vaa.ChainID' numberOfTransfers: type: string type: object transactions.Destination: properties: chain: type: integer percentage: type: number volume: type: number type: object transactions.DestinationTx: properties: blockNumber: type: string chainId: $ref: '#/definitions/vaa.ChainID' from: type: string method: type: string status: type: string timestamp: type: string to: type: string txHash: type: string updatedAt: type: string type: object transactions.GlobalTransactionDoc: properties: destinationTx: $ref: '#/definitions/transactions.DestinationTx' id: type: string originTx: $ref: '#/definitions/transactions.OriginTx' type: object transactions.ListTransactionsResponse: properties: transactions: items: $ref: '#/definitions/transactions.TransactionDetail' type: array type: object transactions.OriginTx: properties: attribute: $ref: '#/definitions/transactions.AttributeDoc' from: type: string status: type: string txHash: type: string type: object transactions.ScorecardsResponse: properties: 24h_messages: description: Number of VAAs emitted in the last 24 hours (includes Pyth messages). type: string 24h_tx_count: description: Number of VAAs emitted in the last 24 hours (does not include Pyth messages). type: string 24h_volume: description: Volume transferred through the token bridge in the last 24 hours, in USD. type: string total_messages: description: Number of VAAs emitted since the creation of the network (includes Pyth messages). type: string total_tx_count: description: Number of VAAs emitted since the creation of the network (does not include Pyth messages) type: string total_volume: type: string tvl: description: Total value locked in USD. type: string type: object transactions.Token: properties: coingeckoId: type: string decimals: type: integer symbol: type: string type: object transactions.TopAssetsResponse: properties: assets: items: $ref: '#/definitions/transactions.AssetWithVolume' type: array type: object transactions.TopChainPairsResponse: properties: chainPairs: items: $ref: '#/definitions/transactions.ChainPair' type: array type: object transactions.TransactionCountResult: properties: count: type: integer time: type: string type: object transactions.TransactionDetail: properties: emitterAddress: description: EmitterAddress contains the VAA's emitter address, encoded in hex. type: string emitterChain: $ref: '#/definitions/vaa.ChainID' emitterNativeAddress: description: EmitterNativeAddress contains the VAA's emitter address, encoded in the emitter chain's native format. type: string globalTx: $ref: '#/definitions/transactions.GlobalTransactionDoc' id: type: string payload: additionalProperties: true type: object standardizedProperties: additionalProperties: true type: object symbol: type: string timestamp: type: string tokenAmount: type: string txHash: type: string usdAmount: type: string type: object transactions.Tx: properties: chain: type: integer destinations: items: $ref: '#/definitions/transactions.Destination' type: array percentage: type: number volume: type: number type: object vaa.ChainID: enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 18 - 19 - 20 - 21 - 22 - 23 - 24 - 25 - 26 - 28 - 29 - 30 - 32 - 33 - 34 - 35 - 36 - 37 - 38 - 39 - 3104 - 4000 - 4001 - 4002 - 4003 - 4004 - 4005 - 4006 - 4007 - 4008 - 10002 - 10003 - 10004 - 10005 - 10006 - 10007 type: integer x-enum-varnames: - ChainIDUnset - ChainIDSolana - ChainIDEthereum - ChainIDTerra - ChainIDBSC - ChainIDPolygon - ChainIDAvalanche - ChainIDOasis - ChainIDAlgorand - ChainIDAurora - ChainIDFantom - ChainIDKarura - ChainIDAcala - ChainIDKlaytn - ChainIDCelo - ChainIDNear - ChainIDMoonbeam - ChainIDTerra2 - ChainIDInjective - ChainIDOsmosis - ChainIDSui - ChainIDAptos - ChainIDArbitrum - ChainIDOptimism - ChainIDGnosis - ChainIDPythNet - ChainIDXpla - ChainIDBtc - ChainIDBase - ChainIDSei - ChainIDRootstock - ChainIDScroll - ChainIDMantle - ChainIDBlast - ChainIDXLayer - ChainIDLinea - ChainIDBerachain - ChainIDWormchain - ChainIDCosmoshub - ChainIDEvmos - ChainIDKujira - ChainIDNeutron - ChainIDCelestia - ChainIDStargaze - ChainIDSeda - ChainIDDymension - ChainIDProvenance - ChainIDSepolia - ChainIDArbitrumSepolia - ChainIDBaseSepolia - ChainIDOptimismSepolia - ChainIDHolesky - ChainIDPolygonSepolia vaa.VaaDoc: properties: appId: description: AppId is an extension field - it is not present in the guardian API. type: string digest: type: string emitterAddr: type: string emitterChain: $ref: '#/definitions/vaa.ChainID' emitterNativeAddr: type: string guardianSetIndex: type: integer id: type: string indexedAt: type: string isDuplicated: type: boolean payload: additionalProperties: true description: Payload is an extension field - it is not present in the guardian API. type: object timestamp: type: string txHash: description: TxHash is an extension field - it is not present in the guardian API. type: string updatedAt: type: string vaa: items: type: integer type: array version: type: integer type: object vaa.VaaStats: properties: chainId: $ref: '#/definitions/vaa.ChainID' count: type: integer type: object info: contact: email: info@wormhole.com name: API Support url: https://discord.com/invite/wormholecrypto description: |- Wormhole Guardian API This is the API for the Wormhole Guardian and Explorer. The API has two namespaces: wormholescan and guardian. wormholescan is the namespace for the explorer and the new endpoints. The prefix is /api/v1. guardian is the legacy namespace backguard compatible with guardian node API. The prefix is /v1. This API is public and does not require authentication although some endpoints are rate limited. Check each endpoint documentation for more information. license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html termsOfService: https://wormhole.com/ title: Wormholescan API version: "1.0" paths: /api/v1/address/:address: get: description: Lookup an address operationId: find-address-by-id parameters: - description: address in: path name: address required: true type: string - description: Page number. Starts at 0. in: query name: page type: integer - description: Number of elements per page. in: query name: pageSize type: integer responses: "200": description: OK schema: $ref: '#/definitions/response.Response-address_AddressOverview' "400": description: Bad Request "404": description: Not Found "500": description: Internal Server Error tags: - wormholescan /api/v1/global-tx/:chain_id/:emitter/:seq: get: description: |- Find a global transaction by VAA ID Global transactions is a logical association of two transactions that are related to each other by a unique VAA ID. The first transaction is created on the origin chain when the VAA is emitted. The second transaction is created on the destination chain when the VAA is redeemed. If the response only contains an origin tx the VAA was not redeemed. operationId: find-global-transaction-by-id parameters: - description: id of the blockchain in: path name: chain_id required: true type: integer - description: address of the emitter in: path name: emitter required: true type: string - description: sequence of the VAA in: path name: seq required: true type: integer responses: "200": description: OK schema: $ref: '#/definitions/transactions.Tx' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/governor/config: get: description: Returns governor configuration for all guardians. operationId: governor-config parameters: - description: Page number. in: query name: page type: integer - description: Number of elements per page. in: query name: pageSize type: integer responses: "200": description: OK schema: $ref: '#/definitions/response.Response-governor_GovConfig' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/governor/config/:guardian_address: get: description: Returns governor configuration for a given guardian. operationId: governor-config-by-guardian-address responses: "200": description: OK schema: $ref: '#/definitions/response.Response-governor_GovConfig' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/governor/enqueued_vaas/: get: description: Returns enqueued VAAs for each blockchain. operationId: governor-enqueued-vaas parameters: - description: Page number. in: query name: page type: integer - description: Number of elements per page. in: query name: pageSize type: integer - description: Sort results in ascending or descending order. enum: - ASC - DESC in: query name: sortOrder type: string responses: "200": description: OK schema: $ref: '#/definitions/response.Response-array_governor_EnqueuedVaas' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/governor/enqueued_vaas/:chain: get: description: Returns all enqueued VAAs for a given blockchain. operationId: guardians-enqueued-vaas-by-chain parameters: - description: Page number. in: query name: page type: integer - description: Number of elements per page. in: query name: pageSize type: integer - description: Sort results in ascending or descending order. enum: - ASC - DESC in: query name: sortOrder type: string responses: "200": description: OK schema: $ref: '#/definitions/response.Response-array_governor_EnqueuedVaaDetail' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/governor/limit: get: description: Returns the governor limit for all blockchains. operationId: governor-notional-limit parameters: - description: Page number. in: query name: page type: integer - description: Number of elements per page. in: query name: pageSize type: integer responses: "200": description: OK schema: $ref: '#/definitions/response.Response-array_governor_GovernorLimit' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/governor/notional/available: get: description: Returns the amount of notional value available for each blockchain. operationId: governor-notional-available parameters: - description: Page number. in: query name: page type: integer - description: Number of elements per page. in: query name: pageSize type: integer - description: Sort results in ascending or descending order. enum: - ASC - DESC in: query name: sortOrder type: string responses: "200": description: OK schema: $ref: '#/definitions/response.Response-array_governor_NotionalAvailable' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/governor/notional/available/:chain: get: description: Returns the amount of notional value available for a given blockchain. operationId: governor-notional-available-by-chain parameters: - description: Page number. in: query name: page type: integer - description: Number of elements per page. in: query name: pageSize type: integer responses: "200": description: OK schema: $ref: '#/definitions/response.Response-array_governor_NotionalAvailableDetail' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/governor/notional/limit: get: description: Returns the detailed notional limit for all blockchains. operationId: governor-notional-limit-detail parameters: - description: Page number. in: query name: page type: integer - description: Number of elements per page. in: query name: pageSize type: integer responses: "200": description: OK schema: $ref: '#/definitions/response.Response-array_governor_NotionalLimitDetail' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/governor/notional/limit/:chain: get: description: Returns the detailed notional limit available for a given blockchain. operationId: governor-notional-limit-detail-by-chain parameters: - description: Page number. in: query name: page type: integer - description: Number of elements per page. in: query name: pageSize type: integer responses: "200": description: OK schema: $ref: '#/definitions/response.Response-array_governor_NotionalLimitDetail' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/governor/notional/max_available/:chain: get: description: Returns the maximum amount of notional value available for a given blockchain. operationId: governor-max-notional-available-by-chain responses: "200": description: OK schema: $ref: '#/definitions/response.Response-governor_MaxNotionalAvailableRecord' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/governor/status: get: description: Returns the governor status for all guardians. operationId: governor-status parameters: - description: Page number. in: query name: page type: integer - description: Number of elements per page. in: query name: pageSize type: integer responses: "200": description: OK schema: $ref: '#/definitions/response.Response-array_governor_GovStatus' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/governor/status/:guardian_address: get: description: Returns the governor status for a given guardian. operationId: governor-status-by-guardian-address parameters: - description: Page number. in: query name: page type: integer - description: Number of elements per page. in: query name: pageSize type: integer responses: "200": description: OK schema: $ref: '#/definitions/response.Response-governor_GovStatus' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/health: get: description: Health check operationId: health-check responses: "200": description: OK schema: properties: status: type: string type: object "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/last-txs: get: description: Returns the number of transactions by a defined time span and sample rate. operationId: get-last-transactions parameters: - description: 'Time Span, default: 1d, supported values: [1d, 1w, 1mo]. 1mo ​​is 30 days.' in: query name: timeSpan type: string - description: 'Sample Rate, default: 1h, supported values: [1h, 1d]. Valid configurations with timeSpan: 1d/1h, 1w/1d, 1mo/1d' in: query name: sampleRate type: string responses: "200": description: OK schema: items: $ref: '#/definitions/transactions.TransactionCountResult' type: array "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/observations: get: description: Returns all observations, sorted in descending timestamp order. operationId: find-observations parameters: - description: Page number. in: query name: page type: integer - description: Number of elements per page. in: query name: pageSize type: integer - description: Sort results in ascending or descending order. enum: - ASC - DESC in: query name: sortOrder type: string responses: "200": description: OK schema: items: $ref: '#/definitions/observations.ObservationDoc' type: array "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/observations/:chain: get: description: Returns all observations for a given blockchain, sorted in descending timestamp order. operationId: find-observations-by-chain parameters: - description: Page number. in: query name: page type: integer - description: Number of elements per page. in: query name: pageSize type: integer - description: Sort results in ascending or descending order. enum: - ASC - DESC in: query name: sortOrder type: string responses: "200": description: OK schema: items: $ref: '#/definitions/observations.ObservationDoc' type: array "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/observations/:chain/:emitter: get: description: Returns all observations for a specific emitter address, sorted in descending timestamp order. operationId: find-observations-by-emitter parameters: - description: Page number. in: query name: page type: integer - description: Number of elements per page. in: query name: pageSize type: integer - description: Sort results in ascending or descending order. enum: - ASC - DESC in: query name: sortOrder type: string responses: "200": description: OK schema: items: $ref: '#/definitions/observations.ObservationDoc' type: array "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/observations/:chain/:emitter/:sequence: get: description: Find observations identified by emitter chain, emitter address and sequence. operationId: find-observations-by-sequence parameters: - description: Page number. in: query name: page type: integer - description: Number of elements per page. in: query name: pageSize type: integer - description: Sort results in ascending or descending order. enum: - ASC - DESC in: query name: sortOrder type: string responses: "200": description: OK schema: items: $ref: '#/definitions/observations.ObservationDoc' type: array "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/observations/:chain/:emitter/:sequence/:signer/:hash: get: description: Find a specific observation. operationId: find-observations-by-id parameters: - description: Page number. in: query name: page type: integer - description: Number of elements per page. in: query name: pageSize type: integer - description: Sort results in ascending or descending order. enum: - ASC - DESC in: query name: sortOrder type: string responses: "200": description: OK schema: items: $ref: '#/definitions/observations.ObservationDoc' type: array "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/operations: get: description: Find all operations. operationId: get-operations parameters: - description: address of the emitter in: query name: address type: string - description: hash of the transaction in: query name: txHash type: string - description: page number in: query name: page type: integer - description: pageSize in: query name: pageSize type: integer - description: source chain of the operation in: query name: sourceChain type: string - description: target chain of the operation in: query name: targetChain type: string - description: appID of the operation in: query name: appId type: string - description: single appId of the operation in: query name: exclusiveAppId type: boolean responses: "200": description: OK schema: items: $ref: '#/definitions/operations.OperationResponse' type: array "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/operations/{chain_id}/{emitter}/{seq}: get: description: Find operations by ID (chainID/emitter/sequence). operationId: get-operation-by-id parameters: - description: id of the blockchain in: path name: chain_id required: true type: integer - description: address of the emitter in: path name: emitter required: true type: string - description: sequence of the VAA in: path name: seq required: true type: integer responses: "200": description: OK schema: $ref: '#/definitions/operations.OperationResponse' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/protocols/stats: get: description: Returns the representative stats for the top protocols operationId: get-top-protocols-stats responses: "200": description: OK schema: items: $ref: '#/definitions/protocols.ProtocolTotalValuesDTO' type: array "500": description: Internal Server Error schema: items: $ref: '#/definitions/protocols.ProtocolTotalValuesDTO' type: array tags: - wormholescan /api/v1/ready: get: description: Ready check operationId: ready-check responses: "200": description: OK schema: properties: ready: type: string type: object "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/relays/:chain/:emitter/:sequence: get: description: Get a specific relay information by chainID, emitter address and sequence. operationId: find-relay-by-vaa-id responses: "200": description: OK schema: $ref: '#/definitions/relays.RelayResponse' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/scorecards: get: description: |- Returns a list of KPIs for Wormhole. TVL is total value locked by token bridge contracts in USD. Volume is the all-time total volume transferred through the token bridge in USD. 24h volume is the volume transferred through the token bridge in the last 24 hours, in USD. Total Tx count is the number of transaction bridging assets since the creation of the network (does not include Pyth or other messages). 24h tx count is the number of transaction bridging assets in the last 24 hours (does not include Pyth or other messages). Total messages is the number of VAAs emitted since the creation of the network (includes Pyth messages). operationId: get-scorecards responses: "200": description: OK schema: $ref: '#/definitions/transactions.ScorecardsResponse' "500": description: Internal Server Error tags: - wormholescan /api/v1/token/:chain_id/:token_address: get: description: Returns a token symbol, coingecko id and address by chain and token address. operationId: get-token-by-chain-and-address parameters: - description: id of the blockchain in: path name: chain_id required: true type: integer - description: token address in: path name: token_address required: true type: string responses: "200": description: OK schema: $ref: '#/definitions/transactions.Token' "400": description: Bad Request "404": description: Not Found tags: - wormholescan /api/v1/top-100-corridors: get: description: Returns a list of the top 100 tokens, sorted in descending order by the number of transactions. operationId: /api/v1/top-100-corridors parameters: - description: 'Time span, supported values: 2d and 7d (default is 2d).' in: query name: timeSpan type: string responses: "200": description: OK schema: $ref: '#/definitions/stats.TopCorridorsResult' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/top-assets-by-volume: get: description: |- Returns a list of emitter_chain and asset pairs with ordered by volume. The volume is calculated using the notional price of the symbol at the day the VAA was emitted. operationId: get-top-assets-by-volume parameters: - description: 'Time span, supported values: 7d, 15d, 30d.' in: query name: timeSpan required: true type: string responses: "200": description: OK schema: $ref: '#/definitions/transactions.TopAssetsResponse' "500": description: Internal Server Error tags: - wormholescan /api/v1/top-chain-pairs-by-num-transfers: get: description: Returns a list of the emitter_chain and destination_chain pair ordered by transfer count. operationId: get-top-chain-pairs-by-num-transfers parameters: - description: 'Time span, supported values: 7d, 15d, 30d.' in: query name: timeSpan required: true type: string responses: "200": description: OK schema: $ref: '#/definitions/transactions.TopChainPairsResponse' "500": description: Internal Server Error tags: - wormholescan /api/v1/top-symbols-by-volume: get: description: |- Returns a list of symbols by origin chain and tokens. The volume is calculated using the notional price of the symbol at the day the VAA was emitted. operationId: top-symbols-by-volume parameters: - description: 'Time span, supported values: 7d, 15d and 30d (default is 7d).' in: query name: timeSpan type: string responses: "200": description: OK schema: $ref: '#/definitions/stats.TopSymbolByVolumeResult' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/transactions/: get: description: Returns transactions. Output is paginated. operationId: list-transactions parameters: - description: Page number. Starts at 0. in: query name: page type: integer - description: Number of elements per page. in: query name: pageSize type: integer - description: Sort results in ascending or descending order. enum: - ASC - DESC in: query name: sortOrder type: string - description: Filter transactions by Address. in: query name: address type: string responses: "200": description: OK schema: $ref: '#/definitions/transactions.ListTransactionsResponse' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/transactions/:chain_id/:emitter/:seq: get: description: Find VAA metadata by ID. operationId: get-transaction-by-id parameters: - description: id of the blockchain in: path name: chain_id required: true type: integer - description: address of the emitter in: path name: emitter required: true type: string - description: sequence of the VAA in: path name: seq required: true type: integer responses: "200": description: OK schema: $ref: '#/definitions/transactions.TransactionDetail' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/vaas/: get: description: Returns all VAAs. Output is paginated and can also be be sorted. operationId: find-all-vaas parameters: - description: Page number. in: query name: page type: integer - description: Number of elements per page. in: query name: pageSize type: integer - description: Sort results in ascending or descending order. enum: - ASC - DESC in: query name: sortOrder type: string - description: Transaction hash of the VAA in: query name: txHash type: string - description: include the parsed contents of the VAA, if available in: query name: parsedPayload type: boolean - description: filter by application ID in: query name: appId type: string responses: "200": description: OK schema: $ref: '#/definitions/response.Response-array_vaa_VaaDoc' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/vaas/:chain_id: get: description: Returns all the VAAs generated in specific blockchain. operationId: find-vaas-by-chain parameters: - description: id of the blockchain in: path name: chain_id required: true type: integer - description: Page number. in: query name: page type: integer - description: Number of elements per page. in: query name: pageSize type: integer - description: Sort results in ascending or descending order. enum: - ASC - DESC in: query name: sortOrder type: string responses: "200": description: OK schema: $ref: '#/definitions/response.Response-array_vaa_VaaDoc' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/vaas/:chain_id/:emitter: get: description: Returns all all the VAAs generated by a specific emitter address. operationId: find-vaas-by-emitter parameters: - description: id of the blockchain in: path name: chain_id required: true type: integer - description: address of the emitter in: path name: emitter required: true type: string - description: destination chain in: query name: toChain type: integer - description: Page number. in: query name: page type: integer - description: Number of elements per page. in: query name: pageSize type: integer - description: Sort results in ascending or descending order. enum: - ASC - DESC in: query name: sortOrder type: string responses: "200": description: OK schema: $ref: '#/definitions/response.Response-array_vaa_VaaDoc' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/vaas/:chain_id/:emitter/:seq: get: description: Find a VAA by ID. operationId: find-vaa-by-id parameters: - description: id of the blockchain in: path name: chain_id required: true type: integer - description: address of the emitter in: path name: emitter required: true type: string - description: sequence of the VAA in: path name: seq required: true type: integer - description: include the parsed contents of the VAA, if available in: query name: parsedPayload type: boolean responses: "200": description: OK schema: $ref: '#/definitions/response.Response-array_vaa_VaaDoc' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/vaas/:chain_id/:emitter/:seq/duplicated: get: description: Find duplicated VAA by ID. operationId: find-duplicated-vaa-by-id parameters: - description: id of the blockchain in: path name: chain_id required: true type: integer - description: address of the emitter in: path name: emitter required: true type: string - description: sequence of the VAA in: path name: seq required: true type: integer responses: "200": description: OK schema: $ref: '#/definitions/response.Response-array_vaa_VaaDoc' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/vaas/parse: post: description: Parse a VAA. operationId: parse-vaa responses: "200": description: OK schema: $ref: '#/definitions/parser.ParseVaaWithStandarizedPropertiesdResponse' "400": description: Bad Request "404": description: Not Found "500": description: Internal Server Error tags: - wormholescan /api/v1/vaas/vaa-counts: get: description: Returns the total number of VAAs emitted for each blockchain. operationId: get-vaa-counts responses: "200": description: OK schema: $ref: '#/definitions/response.Response-array_vaa_VaaStats' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/version: get: description: Get version/release information. operationId: get-version responses: "200": description: OK schema: $ref: '#/definitions/infrastructure.VersionResponse' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/x-chain-activity: get: description: |- Returns a list of chain pairs by origin chain and destination chain. The list could be rendered by notional or transaction count. The volume is calculated using the notional price of the symbol at the day the VAA was emitted. operationId: x-chain-activity parameters: - description: 'Time span, supported values: 7d, 30d, 90d, 1y and all-time (default is 7d).' in: query name: timeSpan type: string - description: Renders the results using notional or tx count (default is notional). in: query name: by type: string - description: List of apps separated by comma (default is all apps). in: query name: apps type: string responses: "200": description: OK schema: $ref: '#/definitions/transactions.ChainActivity' "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /api/v1/x-chain-activity/tops: get: description: Search, for a specific period of time, the number of transactions and the volume. operationId: x-chain-activity-tops parameters: - description: 'Time span, supported values: 1d, 1mo and 1y' in: query name: timespan required: true type: string - description: From date, supported format 2006-01-02T15:04:05Z07:00 in: query name: from required: true type: string - description: To date, supported format 2006-01-02T15:04:05Z07:00 in: query name: to required: true type: string - description: Search by appId in: query name: appId type: string - description: Search by sourceChain in: query name: sourceChain type: string - description: Search by targetChain in: query name: targetChain type: string responses: "200": description: OK schema: items: $ref: '#/definitions/transactions.ChainActivityTopResult' type: array "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /swagger.json: get: description: Returns the swagger specification for this API. operationId: swagger responses: "200": description: OK schema: type: object "400": description: Bad Request "500": description: Internal Server Error tags: - wormholescan /v1/governor/available_notional_by_chain: get: description: |- Get available notional by chainID Since from the wormhole-explorer point of view it is not a node, but has the information of all nodes, in order to build the endpoints it was assumed: There are N number of remainingAvailableNotional values in the GovernorConfig collection. N = number of guardians for a chainID. The smallest remainingAvailableNotional value for a chainID is used for the endpoint response. operationId: governor-available-notional-by-chain responses: "200": description: OK schema: $ref: '#/definitions/governor.AvailableNotionalResponse' "400": description: Bad Request "500": description: Internal Server Error tags: - Guardian /v1/governor/enqueued_vaas: get: description: Get enqueued VAAs operationId: guardians-enqueued-vaas responses: "200": description: OK schema: $ref: '#/definitions/governor.EnqueuedVaaResponse' "400": description: Bad Request "500": description: Internal Server Error tags: - Guardian /v1/governor/is_vaa_enqueued/:chain_id/:emitter/:seq: get: description: Check if vaa is enqueued operationId: guardians-is-vaa-enqueued parameters: - description: id of the blockchain in: path name: chain_id required: true type: integer - description: address of the emitter in: path name: emitter required: true type: string - description: sequence of the vaa in: path name: seq required: true type: integer responses: "200": description: OK schema: $ref: '#/definitions/governor.EnqueuedVaaResponse' "400": description: Bad Request "500": description: Internal Server Error tags: - Guardian /v1/governor/token_list: get: description: |- Get token list Since from the wormhole-explorer point of view it is not a node, but has the information of all nodes, in order to build the endpoints it was assumed: For tokens with the same originChainId and originAddress and different price values for each node, the price that has most occurrences in all the nodes for an originChainId and originAddress is returned. operationId: guardians-token-list responses: "200": description: OK schema: items: $ref: '#/definitions/governor.TokenList' type: array "400": description: Bad Request "500": description: Internal Server Error tags: - Guardian /v1/guardianset/current: get: description: Get current guardian set. operationId: guardian-set responses: "200": description: OK schema: $ref: '#/definitions/guardian.GuardianSetResponse' "400": description: Bad Request "500": description: Internal Server Error tags: - Guardian /v1/heartbeats: get: description: Get heartbeats for guardians operationId: guardians-hearbeats responses: "200": description: OK schema: $ref: '#/definitions/heartbeats.HeartbeatsResponse' "400": description: Bad Request "500": description: Internal Server Error tags: - Guardian /v1/signed_batch_vaa/:chain_id/:emitter/sequence/:seq: get: description: get a batch of VAA []byte from a chainID, emitter address and sequence. operationId: guardians-find-signed-batch-vaa parameters: - description: id of the blockchain in: path name: chain_id required: true type: integer - description: address of the emitter in: path name: emitter required: true type: string - description: sequence of the VAA in: path name: seq required: true type: integer responses: "200": description: OK schema: properties: vaaBytes: items: type: integer type: array type: object "400": description: Bad Request "500": description: Internal Server Error tags: - Guardian /v1/signed_vaa/:chain_id/:emitter/:seq: get: description: get a VAA []byte from a chainID, emitter address and sequence. operationId: guardians-find-signed-vaa parameters: - description: id of the blockchain in: path name: chain_id required: true type: integer - description: address of the emitter in: path name: emitter required: true type: string - description: sequence of the VAA in: path name: seq required: true type: integer responses: "200": description: OK schema: properties: vaaBytes: items: type: integer type: array type: object "400": description: Bad Request "500": description: Internal Server Error tags: - Guardian swagger: "2.0"