Health Checks and Job Monitoring
Health checks in Taurus-PROTECT
Any of our components are exposing Health checks through the same API endpoint: /api/rest/v1/health/all?tenantId=1
List of Taurus-PROTECT component names that produce health checks:
- validatord
- vaultd
- hsm
- blocksd
- gated
Jobs perform component health checks and produce health reports accessible at /api/rest/v1/health/[component]/[check]. This is accessible without authentication so we must be careful with what we expose.
[component]
can be replaced with values that you get from the “all” health checks.
For any of these endpoints, you can get those common values:
- "tenantId": is the tenant where health check was run against
- "componentName": name of the component
- "componentId": uinque ID for the component (can be retrieved from the logs)
- "group": group to whom the healthcheck belongs to
- "healthCheck": type of health check
- "status": status of the executed call
- "report":
- "name": group name
- "status": status of the executed call
- “duration": duration of the call
- "lastUpdateDate": when was the health check executed
- "validUntilDate": until when this health check will be valid.
How to setup
Make sure baseUrl
is a variable pointing to your validator instance, example:
export baseUrl='https://your-protect-instance.example.com'
Get Explorers health checks
Description : Performs an health check on the connectivity between validatord and blocksd.
curl --location "$baseUrl/api/rest/v1/health/blocksd/connectivity" \
{
"health": {
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "blocksd",
"healthCheck": "connectivity",
"status": "success",
"report": {
"name": "connectivity",
"status": "success",
"duration": "142.609264ms"
},
"lastUpdateDate": "2024-09-19T14:26:23.683065Z",
"validUntilDate": "2024-09-19T14:32:23.683065Z"
}
}
Get health checks list by tenant
Description : Performs a complete health check on validatord.
curl --location "$baseUrl/api/rest/v1/health/all?tenantId=1" \
{
"components": {
"1ae1e60d-031f-4e0d-bdb3-e19652186051": {
"groups": {
"cryptocompare": {
"healthChecks": [
{
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "1ae1e60d-031f-4e0d-bdb3-e19652186051",
"group": "cryptocompare",
"healthCheck": "getcoins",
"status": "success",
"report": {
"name": "getcoins",
"status": "success",
"duration": "2.65891188s"
},
"lastUpdateDate": "2024-09-19T13:16:40.406863Z",
"validUntilDate": "2024-09-19T14:46:40.406863Z"
}
]
},
"scoreproviders": {
"healthChecks": [
{
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "1ae1e60d-031f-4e0d-bdb3-e19652186051",
"group": "scoreproviders",
"healthCheck": "connectivity",
"status": "success",
"report": {
"name": "connectivity",
"status": "success",
"duration": "225.54874ms",
"results": {
"chainalysis": "success",
"elliptic": "success"
}
},
"lastUpdateDate": "2024-09-19T13:46:19.123976Z",
"validUntilDate": "2024-09-19T14:31:19.123976Z"
}
]
}
}
},
"361de24b-5f25-4d3f-ac20-5216fc330c5e": {
"groups": {
"blocksd": {
"healthChecks": [
{
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "blocksd",
"healthCheck": "connectivity",
"status": "success",
"report": {
"name": "connectivity",
"status": "success",
"duration": "166.213736ms"
},
"lastUpdateDate": "2024-09-19T14:21:24.912016Z",
"validUntilDate": "2024-09-19T14:27:24.912016Z"
},
{
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "blocksd",
"healthCheck": "getbalance",
"status": "success",
"report": {
"name": "getbalance",
"status": "success",
"duration": "13.052895501s",
"results": {
"ADA": "success",
"ALGO": "success",
"ATOM": "success",
"BCH": "success",
"BTC": "success",
"DOT": "success",
"ETH": "success",
"FTM": "success",
"LTC": "success",
"POL": "success",
"SOL": "success",
"XKI": "success",
"XLM": "success",
"XRP": "success",
"XTZ": "success"
}
},
"lastUpdateDate": "2024-09-19T14:21:57.677545Z",
"validUntilDate": "2024-09-19T14:27:57.677545Z"
},
{
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "blocksd",
"healthCheck": "getfees",
"status": "success",
"report": {
"name": "getfees",
"status": "success",
"duration": "269.911029ms",
"results": {
"ADA": "success",
"AvalancheC": "success",
"BCH": "success",
"BTC": "success",
"ETH": "success",
"FTM": "success",
"ICP": "success",
"LTC": "success",
"NEAR": "success",
"Polygon": "success",
"XLM": "success",
"XRP": "success"
}
},
"lastUpdateDate": "2024-09-19T14:21:24.509285Z",
"validUntilDate": "2024-09-19T14:27:24.509285Z"
}
]
},
"database": {
"healthChecks": [
{
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "database",
"healthCheck": "connectivity",
"status": "success",
"report": {
"name": "connectivity",
"status": "success",
"duration": "107.516581ms"
},
"lastUpdateDate": "2024-09-19T14:21:23.545536Z",
"validUntilDate": "2024-09-19T14:27:23.545536Z"
}
]
},
"exchanges": {
"healthChecks": [
{
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "exchanges",
"healthCheck": "connectivity",
"status": "success",
"report": {
"name": "connectivity",
"status": "success",
"duration": "8.265041766s",
"results": {
"binance": "success",
"bitfinex": "success",
"bitfinex-kp": "success",
"bitstamp": "success",
"coinbase": "success",
"coinbase-prime-institutional-cockroach": "success",
"coinbase-pro": "success",
"huobi-af": "success",
"kraken": "success",
"kraken-jdr": "success",
"tdx-int": "success",
"woorton-uat": "success"
}
},
"lastUpdateDate": "2024-09-19T14:21:32.914822Z",
"validUntilDate": "2024-09-19T14:27:32.914822Z"
},
{
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "exchanges",
"healthCheck": "getbalances",
"status": "failure",
"report": {
"name": "getbalances",
"status": "failure",
"duration": "30.00333571s",
"results": {
"binance": "success",
"bitfinex": "success",
"bitfinex-kp": "success",
"bitstamp": "success",
"coinbase": "success",
"coinbase-prime-institutional-cockroach": "success",
"coinbase-pro": "unable to get balances for exchange coinbase-pro: unable to create signature: unable to process signed request from tg-vaultd: unable to ProcessSignedRequest from Vaultd: failed to get vaultd client: no available healthy client",
"huobi-af": "success",
"kraken": "success",
"kraken-jdr": "success",
"tdx-int": "success",
"woorton-uat": "success"
}
},
"lastUpdateDate": "2024-09-19T14:21:54.026396Z",
"validUntilDate": "2024-09-19T14:27:54.026396Z"
}
]
},
"gated": {
"healthChecks": [
{
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "gated",
"healthCheck": "connectivity",
"status": "success",
"report": {
"name": "connectivity",
"status": "success",
"duration": "6.173706ms"
},
"lastUpdateDate": "2024-09-19T14:21:24.652932Z",
"validUntilDate": "2024-09-19T14:27:24.652932Z"
},
{
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "gated",
"healthCheck": "proxy",
"status": "success",
"report": {
"name": "proxy",
"status": "success",
"duration": "162.53047ms"
},
"lastUpdateDate": "2024-09-19T14:21:25.729091Z",
"validUntilDate": "2024-09-19T14:27:25.729091Z"
}
]
},
"hsm": {
"healthChecks": [
{
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "hsm",
"healthCheck": "status",
"status": "success",
"report": {
"name": "status",
"status": "success",
"duration": "858.526µs"
},
"lastUpdateDate": "2024-09-19T14:21:24.479556Z",
"validUntilDate": "2024-09-19T14:27:24.479556Z"
}
]
},
"jobs": {
"healthChecks": [
{
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "jobs",
"healthCheck": "addresscreation",
"status": "success",
"report": {
"name": "addresscreation",
"status": "success",
"duration": "0s"
},
"lastUpdateDate": "2024-09-19T14:21:24.623743Z",
"validUntilDate": "2024-09-19T14:41:24.623743Z"
},
{
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "jobs",
"healthCheck": "scorerefresh",
"status": "success",
"report": {
"name": "scorerefresh",
"status": "success",
"duration": "0s"
},
"lastUpdateDate": "2024-09-19T14:21:24.170229Z",
"validUntilDate": "2024-09-19T14:41:24.170229Z"
},
{
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "jobs",
"healthCheck": "webhooks",
"status": "success",
"report": {
"name": "webhooks",
"status": "success",
"duration": "0s"
},
"lastUpdateDate": "2024-09-19T14:21:24.659625Z",
"validUntilDate": "2024-09-19T14:41:24.659625Z"
}
]
}
}
}
}
}
Get health checks for a specific group
Description: Performs a health check on a specific group of monitored activities.
Example with gated group:
curl --location "$baseUrl/api/rest/v1/health/gated?tenantId=1" \
{
"healths": [
{
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "gated",
"healthCheck": "connectivity",
"status": "success",
"report": {
"name": "connectivity",
"status": "success",
"duration": "3.19926ms"
},
"lastUpdateDate": "2024-09-19T14:31:24.189337Z",
"validUntilDate": "2024-09-19T14:37:24.189337Z"
},
{
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "gated",
"healthCheck": "proxy",
"status": "success",
"report": {
"name": "proxy",
"status": "success",
"duration": "34.785155ms"
},
"lastUpdateDate": "2024-09-19T14:31:24.282304Z",
"validUntilDate": "2024-09-19T14:37:24.282304Z"
}
]
}
Get Explorers Balances health checks by tenant
Description : Performs a health check by getting balances from blocksd. Results will give you the list of currencies where a balance has been returned.
curl --location "$baseUrl/api/rest/v1/health/blocksd/getbalance?tenantId=1" \
{
"health": {
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "blocksd",
"healthCheck": "getbalance",
"status": "success",
"report": {
"name": "getbalance",
"status": "success",
"duration": "11.55563498s",
"results": {
"ADA": "success",
"ALGO": "success",
"ATOM": "success",
"BCH": "success",
"BTC": "success",
"DOT": "success",
"ETH": "success",
"FTM": "success",
"LTC": "success",
"POL": "success",
"SOL": "success",
"XKI": "success",
"XLM": "success",
"XRP": "success",
"XTZ": "success"
}
},
"lastUpdateDate": "2024-09-19T14:26:43.820648Z",
"validUntilDate": "2024-09-19T14:32:43.820648Z"
}
}
Get Explorers Fees health checks by tenant
Description : Performs a health check by getting Blockchains current fees from blocksd. Results will give you the list of currencies where a fee has been returned.
curl --location "$baseUrl/api/rest/v1/health/blocksd/getfees?tenantId=1" \
{
"health": {
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "blocksd",
"healthCheck": "getfees",
"status": "success",
"report": {
"name": "getfees",
"status": "success",
"duration": "170.343854ms",
"results": {
"ADA": "success",
"AvalancheC": "success",
"BCH": "success",
"BTC": "success",
"ETH": "success",
"FTM": "success",
"ICP": "success",
"LTC": "success",
"NEAR": "success",
"Polygon": "success",
"XLM": "success",
"XRP": "success"
}
},
"lastUpdateDate": "2024-09-19T14:26:26.608262Z",
"validUntilDate": "2024-09-19T14:32:26.608262Z"
}
}
Get Database health checks by tenant
Description : Performs a health check by checking database connectivity between validatord and the database engine you are currently using.
curl --location "$baseUrl/api/rest/v1/health/database?tenantId=1" \
{
"healths": [
{
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "database",
"healthCheck": "connectivity",
"status": "success",
"report": {
"name": "connectivity",
"status": "success",
"duration": "4.324687ms"
},
"lastUpdateDate": "2024-09-19T14:46:25.600599Z",
"validUntilDate": "2024-09-19T14:52:25.600599Z"
}
]
}
Get Prices health checks by tenant
Description : Performs a health check between validatord and prices providers you are currently using. Example here with Cryptocompare.
curl --location "$baseUrl/api/rest/v1/health/database?tenantId=1" \
{
"healths": [
{
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "2861035f-a361-47b6-b02f-14566d3106a5",
"group": "cryptocompare",
"healthCheck": "getcoins",
"status": "success",
"report": {
"name": "getcoins",
"status": "success",
"duration": "3.473873505s"
},
"lastUpdateDate": "2024-09-30T11:24:35.705457Z",
"validUntilDate": "2024-09-30T12:54:35.705457Z"
}
]
}
Get Score Providers health checks by tenant
Description : Performs a health check between validatord and KYC/KYT scoring providers you are currently using. Example here with Chainalysis and Elliptic.
curl --location "$baseUrl/api/rest/v1/health/scoreproviders?tenantId=1" \
{
"healths": [
{
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "scoreproviders",
"healthCheck": "connectivity",
"status": "success",
"report": {
"name": "connectivity",
"status": "success",
"duration": "219.606381ms",
"results": {
"chainalysis": "success",
"elliptic": "success"
}
},
"lastUpdateDate": "2024-09-19T14:36:25.103681Z",
"validUntilDate": "2024-09-19T15:21:25.103681Z"
}
]
}
Get Gated health checks by tenant
Description : Performs a health check on the connectivity between validatord and gated (proxy).
curl --location "$baseUrl/api/rest/v1/health/gated?tenantId=1" \
{
"healths": [
{
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "gated",
"healthCheck": "connectivity",
"status": "success",
"report": {
"name": "connectivity",
"status": "success",
"duration": "5.667154ms"
},
"lastUpdateDate": "2024-09-19T14:51:27.017460Z",
"validUntilDate": "2024-09-19T14:57:27.017460Z"
},
{
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "gated",
"healthCheck": "proxy",
"status": "success",
"report": {
"name": "proxy",
"status": "success",
"duration": "49.921336ms"
},
"lastUpdateDate": "2024-09-19T14:51:27.680519Z",
"validUntilDate": "2024-09-19T14:57:27.680519Z"
}
]
}
Get HSM health checks by tenant
Description : Performs a health check on the connectivity between validatord and hsm.
curl --location "$baseUrl/api/rest/v1/health/hsm?tenantId=1" \
{
"healths": [
{
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "hsm",
"healthCheck": "status",
"status": "success",
"report": {
"name": "status",
"status": "success",
"duration": "765.692µs"
},
"lastUpdateDate": "2024-09-19T14:51:25.788486Z",
"validUntilDate": "2024-09-19T14:57:25.788486Z"
}
]
}
Get vaultd health checks by tenant
curl --location "$baseUrl/api/rest/v1/health/hsm?tenantId=1" \
Jobs API specific health checks
Get Jobs health checks by tenant
curl --location "$baseUrl/api/rest/v1/health/jobs?tenantId=1" \
{
"healths": [
{
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "jobs",
"healthCheck": "addresscreation",
"status": "success",
"report": {
"name": "addresscreation",
"status": "success",
"duration": "0s"
},
"lastUpdateDate": "2024-09-19T14:51:25.681248Z",
"validUntilDate": "2024-09-19T15:11:25.681248Z"
},
{
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "jobs",
"healthCheck": "scorerefresh",
"status": "success",
"report": {
"name": "scorerefresh",
"status": "success",
"duration": "0s"
},
"lastUpdateDate": "2024-09-19T14:51:27.051554Z",
"validUntilDate": "2024-09-19T15:11:27.051554Z"
},
{
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "jobs",
"healthCheck": "webhooks",
"status": "success",
"report": {
"name": "webhooks",
"status": "success",
"duration": "0s"
},
"lastUpdateDate": "2024-09-19T14:51:27.223038Z",
"validUntilDate": "2024-09-19T15:11:27.223038Z"
}
]
}
Some job names examples:
- Actions:
action_service_running-actions-handler,
action_service_sleeping-actions-handler
- Audit
audit_service_trails-ingestor
- Balance:
balance_service_balances-desync-checker
balance_service_balances-garbage-collector
balance_service_balances-history-garbage-collector
balance_service_balances-history-refresher
balance_service_balances-refresher
balance_service_existential-balance-updates-processor
balance_service_funds-releaser
balance_service_rebase-token-balances-refresher
- Change service:
change_service_email-event-task-handler
- Events:
event_service_auto-transfer-events-task-handler
event_service_initialized-auto-transfer-request-handler
event_service_pending-auto-transfer-request-handler
event_service_triggered-auto-transfer-events-handler
eventbus_service_event-dispatcher
eventbus_service_event-sequencer
- Exchanges:
exchange_service_exchanges-balances-handler
- Prices:
price_service_price-history-refresher
price_service_price-refresher
- Requests:
request_service_action-auto-prepared-2-requests-handler
request_service_action-prepared-requests-handler
request_service_approved-2-requests-handler
request_service_approved-request-bundles-handler
request_service_approved-requests-handler
request_service_broadcasting-2-requests-handler
request_service_broadcasting-request-bundles-handler
request_service_broadcasting-requests-handler
request_service_bundle-approved-requests-handler
request_service_canceled-signed-requests-handler
request_service_created-request-bundles-handler
request_service_creating-request-bundles-handler
request_service_creating-requests-handler
request_service_diem-burn-broadcasted-requests-handler
request_service_diem-mbs-approved-requests-handler
request_service_diem-mbs-completed-requests-handler
request_service_diem-mbs-pending-requests-handler
request_service_dot-extrinsics-garbage-collector
request_service_dot-extrinsics-refresher
request_service_expired-requests-handler
request_service_expired-to-cancel-signed-requests-handler
request_service_failed-request-bundles-handler
request_service_fast-approved-2-requests-handler
request_service_fast-approved-requests-handler
request_service_funds-releaser
request_service_hsmfailed-2-requests-handler
request_service_hsmfailed-requests-handler
request_service_hsmready-2-requests-handler
request_service_hsmready-request-bundles-handler
request_service_hsmready-requests-handler
request_service_hsmsigned-2-requests-handler
request_service_hsmsigned-request-bundles-handler
request_service_hsmsigned-requests-handler
request_service_invalid-signed-requests-handler
request_service_new-signed-requests-handler
request_service_opt-ins-releaser
request_service_pending-requests-handler
request_service_pending-signed-requests-handler
request_service_ready-requests-handler
request_service_replaced-signed-requests-handler
request_service_timeout-signed-requests-handler
request_service_verified-request-batch-signatures-handler
- Staking:
staking_service_active-icp-neurons-refresher
staking_service_ada-staking-addresses-refresher
staking_service_ada-staking-rewards-refresher
staking_service_cosmoshub-staking-rewards-refresher
staking_service_cosmoskichain-staking-rewards-refresher
staking_service_disbursing-icp-neurons-handler
staking_service_dissolved-icp-neurons-handler
staking_service_dot-staking-withdraw-unbonded-handler
staking_service_ftm-staking-addresses-refresher
staking_service_icp-balance-activity-handler
staking_service_icp-neurons-creator
staking_service_icp-staking-activity-handler
staking_service_merging-icp-neurons-handler
staking_service_near-staking-rewards-refresher
staking_service_new-icp-neurons-handler
staking_service_observing-icp-neurons-handler
staking_service_sol-staking-info-refresher
staking_service_spawning-icp-neurons-handler
staking_service_staking-states-collection-refresher
staking_service_xtz-delegate-addresses-refresher
- Transactions:
transaction_service_mig-hasanytransactionattribute
transaction_service_network-migrater
transaction_service_observed-transactions-handler
transaction_service_populate-transaction-balance
transaction_service_token-balances-garbage-collector
transaction_service_token-balances-refresher
transaction_service_token-holders-populator
transaction_service_transactions-exporter
- Wallets:
wallet_service_ada-staking-addresses-refresher
wallet_service_addresses-nft-migrater
wallet_service_algo-optin-status-refresher
wallet_service_balances-history-refresher
wallet_service_balances-refresher
wallet_service_created-addresses-handler
wallet_service_currency-wallets-businessrules-creator
wallet_service_network-migrater
wallet_service_nonces-refresher
wallet_service_observed-addresses-handler
wallet_service_signed-addresses-handler
wallet_service_token-wallets-syncer
wallet_service_xlm-address-flags-refresher
wallet_service_xlm-existentialbalance-refresher
wallet_service_xlm-trustline-refresher
wallet_service_xtz-delegate-addresses-refresher
wallet_service_xtz-initializing-addresses-handler
wallet_service_xtz-ready-for-init-addresses-handler
wallet_service_xtz-revelation-status-refresher
wallet_service_xtz-uninitialized-addresses-handler
- Webhooks:
webhook_service_webhook_caller
webhook_service_webhook_event_handler
- Whitelists:
whitelist_service_network-migrater
whitelist_service_verified-wladdress-batch-signatures-handler
Get Job health checks by Job name and by tenant
Description : Returns computed statistics for a single job.
curl --location "$baseUrl/api/rest/v1/health/jobs/scorerefresh?tenantId=1" \
{
"health": {
"tenantId": "1",
"componentName": "tg-validatord",
"componentId": "361de24b-5f25-4d3f-ac20-5216fc330c5e",
"group": "jobs",
"healthCheck": "scorerefresh",
"status": "success",
"report": {
"name": "scorerefresh",
"status": "success",
"duration": "0s"
},
"lastUpdateDate": "2024-09-19T14:51:27.051554Z",
"validUntilDate": "2024-09-19T15:11:27.051554Z"
}
}
Get Jobs list
This endpoint requires authentication as the technical user.
Description : Collects data from the job_statuses table and computes simple statistics grouped by job name.
- Number of successes.
- Number of failures.
- Number of pending.
job_statuses
values for the last success.job_statuses
values for the last failure.- Average duration of successful runs.
- Maximum duration of successful runs.
- Minimum duration of successful runs.
curl --location "$baseUrl/api/rest/v1/jobs" \
{
"jobs": [
{
"name": "cryptocompare_getcoins",
"statistics": {}
},
{
"name": "gated_connectivity",
"statistics": {}
},
{
"name": "staking_service_new-icp-neurons-handler",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "a2606c53-383a-4e95-b26d-4949a834c663",
"startedAt": "2024-09-19T15:17:29.000420Z",
"updatedAt": "2024-09-19T15:17:29.241269Z",
"timeoutAt": "2024-09-19T15:22:29.000420Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.240849s",
"maxDuration": "0.240849s",
"minDuration": "0.240849s"
}
},
{
"name": "fee_service_fees-refresher",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "b49437c3-31e0-44e0-a6a6-8cd420ccb489",
"startedAt": "2024-09-19T15:17:36.000179Z",
"updatedAt": "2024-09-19T15:17:38.534327Z",
"timeoutAt": "2024-09-19T15:19:36.000179Z",
"message": "null",
"status": "success"
},
"avgDuration": "2.534148s",
"maxDuration": "2.534148s",
"minDuration": "2.534148s"
}
},
{
"name": "balance_service_rebase-token-balances-refresher",
"statistics": {}
},
{
"name": "request_service_broadcasting-request-bundles-handler",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "92f1b25e-f621-432b-9760-e2636ebde024",
"startedAt": "2024-09-19T15:17:28.000307Z",
"updatedAt": "2024-09-19T15:17:28.373570Z",
"timeoutAt": "2024-09-19T15:22:28.000307Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.373263s",
"maxDuration": "0.373263s",
"minDuration": "0.373263s"
}
},
{
"name": "request_service_hsmready-requests-handler",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "07115d3c-6f58-425a-8a70-6a85a1854061",
"startedAt": "2024-09-19T15:17:28.000332Z",
"updatedAt": "2024-09-19T15:17:28.451169Z",
"timeoutAt": "2024-09-19T15:22:28.000332Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.450837s",
"maxDuration": "0.450837s",
"minDuration": "0.450837s"
}
},
{
"name": "report_service_counterparty-exposure-mailer",
"statistics": {}
},
{
"name": "event_service_pending-auto-transfer-request-handler",
"statistics": {}
},
{
"name": "wallet_service_addresses-nft-migrater",
"statistics": {}
},
{
"name": "exchange_service_exchanges-balances-handler",
"statistics": {}
},
{
"name": "request_service_failed-request-bundles-handler",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "569af350-62a9-4024-8aa3-b67734c99262",
"startedAt": "2024-09-19T15:17:28.000359Z",
"updatedAt": "2024-09-19T15:17:28.544975Z",
"timeoutAt": "2024-09-19T15:22:28.000359Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.544616s",
"maxDuration": "0.544616s",
"minDuration": "0.544616s"
}
},
{
"name": "request_service_hsmready-request-bundles-handler",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "03470622-722d-4093-9eb4-0ae8c050ab7f",
"startedAt": "2024-09-19T15:17:28.000166Z",
"updatedAt": "2024-09-19T15:17:28.355887Z",
"timeoutAt": "2024-09-19T15:22:28.000166Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.355721s",
"maxDuration": "0.355721s",
"minDuration": "0.355721s"
}
},
{
"name": "transaction_service_new-transaction-scores-handler",
"statistics": {}
},
{
"name": "blocksd_getfees",
"statistics": {}
},
{
"name": "transaction_service_token-holders-populator",
"statistics": {}
},
{
"name": "workflow_service_business_workflow",
"statistics": {
"successes": "2",
"lastSuccess": {
"id": "67043994-afd9-4ae7-b930-914913cd88aa",
"startedAt": "2024-09-19T15:17:35.001204Z",
"updatedAt": "2024-09-19T15:17:35.171894Z",
"timeoutAt": "2024-09-19T15:22:35.001204Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.128045500s",
"maxDuration": "0.170690s",
"minDuration": "0.085401s"
}
},
{
"name": "price_service_price-refresher",
"statistics": {}
},
{
"name": "request_service_invalid-signed-requests-handler",
"statistics": {}
},
{
"name": "wallet_service_xtz-revelation-status-refresher",
"statistics": {}
},
{
"name": "request_service_hsmfailed-2-requests-handler",
"statistics": {}
},
{
"name": "wallet_service_observed-addresses-handler",
"statistics": {}
},
{
"name": "balance_service_balances-desync-checker",
"statistics": {}
},
{
"name": "jobs_addresscreation",
"statistics": {}
},
{
"name": "database_connectivity",
"statistics": {}
},
{
"name": "webhook_service_webhook_event_handler",
"statistics": {}
},
{
"name": "user_service_expired-api-key-nonces-handler",
"statistics": {}
},
{
"name": "price_service_price-history-refresher",
"statistics": {}
},
{
"name": "taurus_network_service_participants-register-status-handler",
"statistics": {}
},
{
"name": "taurus_network_service_received-pledges-withdrawals-handler",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "15479720-4c0b-4eda-b15a-00fe5735306c",
"startedAt": "2024-09-19T15:17:34.000909Z",
"updatedAt": "2024-09-19T15:17:34.217664Z",
"timeoutAt": "2024-09-19T15:19:34.000909Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.216755s",
"maxDuration": "0.216755s",
"minDuration": "0.216755s"
}
},
{
"name": "event_service_triggered-auto-transfer-events-handler",
"statistics": {}
},
{
"name": "envelope_service_bulk_list_sender",
"statistics": {}
},
{
"name": "wallet_service_xtz-initializing-addresses-handler",
"statistics": {}
},
{
"name": "request_service_fast-approved-requests-handler",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "f4477bbb-c8ef-4388-ba9f-fd67a8d8dbb8",
"startedAt": "2024-09-19T15:17:34.001062Z",
"updatedAt": "2024-09-19T15:17:34.270825Z",
"timeoutAt": "2024-09-19T15:22:34.001062Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.269763s",
"maxDuration": "0.269763s",
"minDuration": "0.269763s"
}
},
{
"name": "scoreproviders_connectivity",
"statistics": {}
},
{
"name": "wallet_service_currency-wallets-businessrules-creator",
"statistics": {}
},
{
"name": "request_service_pending-signed-requests-handler",
"statistics": {}
},
{
"name": "request_service_created-request-bundles-handler",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "792d3f8f-cc0a-4f6a-9202-e2b6a94f6458",
"startedAt": "2024-09-19T15:17:28.000320Z",
"updatedAt": "2024-09-19T15:17:28.493472Z",
"timeoutAt": "2024-09-19T15:22:28.000320Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.493152s",
"maxDuration": "0.493152s",
"minDuration": "0.493152s"
}
},
{
"name": "rule_service_changes-detector",
"statistics": {
"pending": "1"
}
},
{
"name": "taurus_network_service_participants-synchronizer",
"statistics": {
"successes": "2",
"lastSuccess": {
"id": "92c6ca54-3f38-4bdb-8e6a-a909a6a4e002",
"startedAt": "2024-09-19T15:17:34.001070Z",
"updatedAt": "2024-09-19T15:17:34.558287Z",
"timeoutAt": "2024-09-19T15:19:34.001070Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.552200s",
"maxDuration": "0.557217s",
"minDuration": "0.547183s"
}
},
{
"name": "hsm_status",
"statistics": {}
},
{
"name": "staking_service_merging-icp-neurons-handler",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "ac3643fd-d904-46f8-9033-52d6be2eec0f",
"startedAt": "2024-09-19T15:17:29.000372Z",
"updatedAt": "2024-09-19T15:17:29.195230Z",
"timeoutAt": "2024-09-19T15:22:29.000372Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.194858s",
"maxDuration": "0.194858s",
"minDuration": "0.194858s"
}
},
{
"name": "request_service_creating-request-bundles-handler",
"statistics": {}
},
{
"name": "action_service_running-actions-handler",
"statistics": {}
},
{
"name": "request_service_hsmsigned-request-bundles-handler",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "6a9108a9-3403-4083-9d29-37378e959789",
"startedAt": "2024-09-19T15:17:28.000314Z",
"updatedAt": "2024-09-19T15:17:28.458312Z",
"timeoutAt": "2024-09-19T15:22:28.000314Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.457998s",
"maxDuration": "0.457998s",
"minDuration": "0.457998s"
}
},
{
"name": "event_service_on-demand-triggered-auto-transfer-events-handler",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "43472f1d-c0f3-432a-a531-1e425f27d82f",
"startedAt": "2024-09-19T15:17:29.000358Z",
"updatedAt": "2024-09-19T15:17:29.187490Z",
"timeoutAt": "2024-09-19T15:27:29.000358Z",
"message": "{\"msg\":\"successfully finished\"}",
"status": "success"
},
"avgDuration": "0.187132s",
"maxDuration": "0.187132s",
"minDuration": "0.187132s"
}
},
{
"name": "staking_service_cosmoskichain-staking-rewards-refresher",
"statistics": {}
},
{
"name": "staking_service_staking-states-collection-refresher",
"statistics": {}
},
{
"name": "currency_service_currencies-refresher",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "64f26800-b46e-44e1-a2e8-75caa1475f19",
"startedAt": "2024-09-19T15:17:32.000433Z",
"updatedAt": "2024-09-19T15:17:34.853836Z",
"timeoutAt": "2024-09-19T15:19:32.000433Z",
"message": "null",
"status": "success"
},
"avgDuration": "2.853403s",
"maxDuration": "2.853403s",
"minDuration": "2.853403s"
}
},
{
"name": "request_service_replaced-signed-requests-handler",
"statistics": {}
},
{
"name": "event_service_initialized-auto-transfer-request-handler",
"statistics": {}
},
{
"name": "staking_service_observing-icp-neurons-handler",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "b50509b6-b3fa-42f1-9f0e-0606bdd6a9b7",
"startedAt": "2024-09-19T15:17:29.000198Z",
"updatedAt": "2024-09-19T15:17:29.160628Z",
"timeoutAt": "2024-09-19T15:22:29.000198Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.160430s",
"maxDuration": "0.160430s",
"minDuration": "0.160430s"
}
},
{
"name": "staking_service_active-icp-neurons-refresher",
"statistics": {}
},
{
"name": "request_service_expired-to-cancel-signed-requests-handler",
"statistics": {}
},
{
"name": "request_service_pending-requests-handler",
"statistics": {}
},
{
"name": "health_gc",
"statistics": {}
},
{
"name": "staking_service_dot-staking-withdraw-unbonded-handler",
"statistics": {}
},
{
"name": "staking_service_near-staking-rewards-refresher",
"statistics": {}
},
{
"name": "balance_service_balances-garbage-collector",
"statistics": {}
},
{
"name": "request_service_dot-extrinsics-refresher",
"statistics": {}
},
{
"name": "blocksd_connectivity",
"statistics": {}
},
{
"name": "staking_service_disbursing-icp-neurons-handler",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "55e13b63-d887-4135-a484-a6540bf59e3c",
"startedAt": "2024-09-19T15:17:29.000388Z",
"updatedAt": "2024-09-19T15:17:29.225821Z",
"timeoutAt": "2024-09-19T15:22:29.000388Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.225433s",
"maxDuration": "0.225433s",
"minDuration": "0.225433s"
}
},
{
"name": "eventbus_service_event-sequencer",
"statistics": {}
},
{
"name": "wallet_service_token-wallets-syncer",
"statistics": {}
},
{
"name": "request_service_hsmsigned-2-requests-handler",
"statistics": {
"successes": "2",
"lastSuccess": {
"id": "65d929b2-446e-464b-881c-337990a8dcd2",
"startedAt": "2024-09-19T15:17:33.007646Z",
"updatedAt": "2024-09-19T15:17:33.160527Z",
"timeoutAt": "2024-09-19T15:22:33.007646Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.137156s",
"maxDuration": "0.152881s",
"minDuration": "0.121431s"
}
},
{
"name": "whitelisted_address_score_service_whitelisted-addresses-scores-refresher",
"statistics": {}
},
{
"name": "transaction_service_token-balances-refresher",
"statistics": {}
},
{
"name": "balance_service_existential-balance-updates-processor",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "51f53308-970b-424c-8be7-0110b649559e",
"startedAt": "2024-09-19T15:17:33.007534Z",
"updatedAt": "2024-09-19T15:17:33.143318Z",
"timeoutAt": "2024-09-19T15:27:33.007534Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.135784s",
"maxDuration": "0.135784s",
"minDuration": "0.135784s"
}
},
{
"name": "request_service_hsmsigned-requests-handler",
"statistics": {
"successes": "2",
"lastSuccess": {
"id": "cc79ce55-6589-4755-918f-7fe8c0a8776a",
"startedAt": "2024-09-19T15:17:33.007654Z",
"updatedAt": "2024-09-19T15:17:33.153984Z",
"timeoutAt": "2024-09-19T15:22:33.007654Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.180099500s",
"maxDuration": "0.213869s",
"minDuration": "0.146330s"
}
},
{
"name": "taurus_network_service_new-shared-addresses-handler",
"statistics": {}
},
{
"name": "transaction_service_token-balances-garbage-collector",
"statistics": {}
},
{
"name": "wallet_service_xlm-address-flags-refresher",
"statistics": {}
},
{
"name": "request_service_hsmready-2-requests-handler",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "b2bdc8a4-860f-4ba1-8e58-b8380b4b1588",
"startedAt": "2024-09-19T15:17:28.000300Z",
"updatedAt": "2024-09-19T15:17:28.250830Z",
"timeoutAt": "2024-09-19T15:22:28.000300Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.250530s",
"maxDuration": "0.250530s",
"minDuration": "0.250530s"
}
},
{
"name": "request_service_broadcasting-2-requests-handler",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "c364881a-8c9e-4054-aedf-ad8fa4fc0f14",
"startedAt": "2024-09-19T15:17:28.000354Z",
"updatedAt": "2024-09-19T15:17:28.527527Z",
"timeoutAt": "2024-09-19T15:22:28.000354Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.527173s",
"maxDuration": "0.527173s",
"minDuration": "0.527173s"
}
},
{
"name": "wallet_service_xtz-ready-for-init-addresses-handler",
"statistics": {}
},
{
"name": "request_service_action-prepared-requests-handler",
"statistics": {}
},
{
"name": "request_service_approved-request-bundles-handler",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "af74a54e-afef-4b41-8eb7-edebdb6de7bf",
"startedAt": "2024-09-19T15:17:28.000344Z",
"updatedAt": "2024-09-19T15:17:28.505626Z",
"timeoutAt": "2024-09-19T15:22:28.000344Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.505282s",
"maxDuration": "0.505282s",
"minDuration": "0.505282s"
}
},
{
"name": "taurus_network_service_pledges-stats-refresher",
"statistics": {}
},
{
"name": "staking_service_sol-staking-info-refresher",
"statistics": {}
},
{
"name": "staking_service_cosmoshub-staking-rewards-refresher",
"statistics": {}
},
{
"name": "wallet_service_created-addresses-handler",
"statistics": {}
},
{
"name": "wallet_service_xlm-existentialbalance-refresher",
"statistics": {}
},
{
"name": "request_service_bundle-approved-requests-handler",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "5dfa676b-4216-424a-9597-38360ebf5f4d",
"startedAt": "2024-09-19T15:17:28.000349Z",
"updatedAt": "2024-09-19T15:17:28.514040Z",
"timeoutAt": "2024-09-19T15:22:28.000349Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.513691s",
"maxDuration": "0.513691s",
"minDuration": "0.513691s"
}
},
{
"name": "taurus_network_service_addresses-synchronizer",
"statistics": {
"successes": "2",
"lastSuccess": {
"id": "560706d0-4bba-4099-817f-00ad8b0dc0da",
"startedAt": "2024-09-19T15:17:34.001081Z",
"updatedAt": "2024-09-19T15:17:34.496963Z",
"timeoutAt": "2024-09-19T15:19:34.001081Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.486808500s",
"maxDuration": "0.495882s",
"minDuration": "0.477735s"
}
},
{
"name": "wallet_service_algo-optin-status-refresher",
"statistics": {}
},
{
"name": "request_service_opt-ins-releaser",
"statistics": {}
},
{
"name": "request_service_hsmfailed-requests-handler",
"statistics": {}
},
{
"name": "staking_service_spawning-icp-neurons-handler",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "477a3c3f-3368-4ab8-8acf-743f5fd35032",
"startedAt": "2024-09-19T15:17:29.000403Z",
"updatedAt": "2024-09-19T15:17:29.207856Z",
"timeoutAt": "2024-09-19T15:22:29.000403Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.207453s",
"maxDuration": "0.207453s",
"minDuration": "0.207453s"
}
},
{
"name": "taurus_network_service_tn-event-tasks-handler",
"statistics": {}
},
{
"name": "audit_service_trails-ingestor",
"statistics": {}
},
{
"name": "wallet_service_signed-addresses-handler",
"statistics": {}
},
{
"name": "request_service_ready-requests-handler",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "cfa5303e-d994-4f7f-8073-85ef34168d81",
"startedAt": "2024-09-19T15:17:35.001214Z",
"updatedAt": "2024-09-19T15:17:35.222510Z",
"timeoutAt": "2024-09-19T15:22:35.001214Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.221296s",
"maxDuration": "0.221296s",
"minDuration": "0.221296s"
}
},
{
"name": "taurus_network_service_request-created-pledges-withdrawal-handler",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "1cbfd620-8cd5-4252-8ad1-344238b13111",
"startedAt": "2024-09-19T15:17:29.000343Z",
"updatedAt": "2024-09-19T15:17:29.153198Z",
"timeoutAt": "2024-09-19T15:19:29.000343Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.152855s",
"maxDuration": "0.152855s",
"minDuration": "0.152855s"
}
},
{
"name": "report_service_counterparty-exposure-monitor",
"statistics": {}
},
{
"name": "event_service_auto-transfer-events-task-handler",
"statistics": {}
},
{
"name": "balance_service_funds-releaser",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "82ce753e-f7e1-4d8f-9ed5-461b02b7283f",
"startedAt": "2024-09-19T15:17:41.000863Z",
"updatedAt": "2024-09-19T15:17:41.332924Z",
"timeoutAt": "2024-09-19T15:22:41.000863Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.332061s",
"maxDuration": "0.332061s",
"minDuration": "0.332061s"
}
},
{
"name": "request_service_new-signed-requests-handler",
"statistics": {}
},
{
"name": "request_service_fast-approved-2-requests-handler",
"statistics": {
"pending": "1"
}
},
{
"name": "blocksd_getbalance",
"statistics": {}
},
{
"name": "request_service_timeout-signed-requests-handler",
"statistics": {}
},
{
"name": "request_service_action-auto-prepared-2-requests-handler",
"statistics": {}
},
{
"name": "transaction_service_transactions-exporter",
"statistics": {}
},
{
"name": "staking_service_icp-balance-activity-handler",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "62ff9a1d-679a-4c0f-a758-5fd3b05bdddb",
"startedAt": "2024-09-19T15:17:29.000408Z",
"updatedAt": "2024-09-19T15:17:29.217963Z",
"timeoutAt": "2024-09-19T15:22:29.000408Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.217555s",
"maxDuration": "0.217555s",
"minDuration": "0.217555s"
}
},
{
"name": "eventbus_service_event-dispatcher",
"statistics": {}
},
{
"name": "request_service_expired-requests-handler",
"statistics": {}
},
{
"name": "request_service_creating-requests-handler",
"statistics": {}
},
{
"name": "request_service_approved-2-requests-handler",
"statistics": {}
},
{
"name": "request_service_broadcasting-requests-handler",
"statistics": {
"successes": "2",
"lastSuccess": {
"id": "95013799-f84b-4cf4-8d15-f11d117cb5f3",
"startedAt": "2024-09-19T15:17:35.001210Z",
"updatedAt": "2024-09-19T15:17:36.131533Z",
"timeoutAt": "2024-09-19T15:22:35.001210Z",
"message": "null",
"status": "success"
},
"avgDuration": "1.579489500s",
"maxDuration": "2.028656s",
"minDuration": "1.130323s"
}
},
{
"name": "gated_proxy",
"statistics": {}
},
{
"name": "change_service_email-event-task-handler",
"statistics": {}
},
{
"name": "whitelist_service_verified-wladdress-batch-signatures-handler",
"statistics": {
"successes": "3",
"lastSuccess": {
"id": "0719845c-bdc1-4299-92c1-66a69c0ae12a",
"startedAt": "2024-09-19T15:17:37.000594Z",
"updatedAt": "2024-09-19T15:17:37.141830Z",
"timeoutAt": "2024-09-19T15:22:37.000594Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.253901666s",
"maxDuration": "0.464518s",
"minDuration": "0.141236s"
}
},
{
"name": "wallet_service_xlm-trustline-refresher",
"statistics": {}
},
{
"name": "webhook_service_webhook_caller",
"statistics": {}
},
{
"name": "envelope_service_status_refresher",
"statistics": {}
},
{
"name": "taurus_network_service_address-commands-synchronizer",
"statistics": {
"successes": "2",
"lastSuccess": {
"id": "41e0ff76-0578-4f28-bba5-0fff3acfaeb0",
"startedAt": "2024-09-19T15:17:34.001076Z",
"updatedAt": "2024-09-19T15:17:34.416347Z",
"timeoutAt": "2024-09-19T15:19:34.001076Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.467332500s",
"maxDuration": "0.519394s",
"minDuration": "0.415271s"
}
},
{
"name": "exchanges_connectivity",
"statistics": {}
},
{
"name": "exchanges_getbalances",
"statistics": {}
},
{
"name": "address_score_service_addresses-scores-refresher",
"statistics": {}
},
{
"name": "staking_service_dissolved-icp-neurons-handler",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "23f6564b-3e5f-44b3-ad34-4e13165ea49e",
"startedAt": "2024-09-19T15:17:29.000365Z",
"updatedAt": "2024-09-19T15:17:29.202497Z",
"timeoutAt": "2024-09-19T15:22:29.000365Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.202132s",
"maxDuration": "0.202132s",
"minDuration": "0.202132s"
}
},
{
"name": "request_service_canceled-signed-requests-handler",
"statistics": {}
},
{
"name": "transaction_service_populate-transaction-balance",
"statistics": {}
},
{
"name": "balance_service_balances-history-refresher",
"statistics": {}
},
{
"name": "action_service_sleeping-actions-handler",
"statistics": {}
},
{
"name": "staking_service_icp-neurons-creator",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "b02a6a5a-a0b0-48f3-bf1d-a8b49db96dbc",
"startedAt": "2024-09-19T15:17:29.000383Z",
"updatedAt": "2024-09-19T15:17:29.178576Z",
"timeoutAt": "2024-09-19T15:22:29.000383Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.178193s",
"maxDuration": "0.178193s",
"minDuration": "0.178193s"
}
},
{
"name": "balance_service_balances-refresher",
"statistics": {}
},
{
"name": "balance_service_balances-history-garbage-collector",
"statistics": {}
},
{
"name": "jobs_webhooks",
"statistics": {}
},
{
"name": "staking_service_ada-staking-rewards-refresher",
"statistics": {}
},
{
"name": "statistics_service_statistics-history-refresh",
"statistics": {}
},
{
"name": "transaction_service_observed-transactions-handler",
"statistics": {}
},
{
"name": "taurus_network_service_tn-travel-rule-to-send-handler",
"statistics": {}
},
{
"name": "request_service_approved-requests-handler",
"statistics": {
"successes": "2",
"lastSuccess": {
"id": "0a52c125-6a53-4a88-982a-a02145c9d0ae",
"startedAt": "2024-09-19T15:17:41.001021Z",
"updatedAt": "2024-09-19T15:17:41.204044Z",
"timeoutAt": "2024-09-19T15:22:41.001021Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.203443500s",
"maxDuration": "0.203864s",
"minDuration": "0.203023s"
}
},
{
"name": "staking_service_ftm-staking-addresses-refresher",
"statistics": {}
},
{
"name": "jobs_scorerefresh",
"statistics": {}
},
{
"name": "staking_service_icp-staking-activity-handler",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "83b89f02-b9ff-4573-8b0b-5007f0f6d2e3",
"startedAt": "2024-09-19T15:17:29.000413Z",
"updatedAt": "2024-09-19T15:17:29.233457Z",
"timeoutAt": "2024-09-19T15:22:29.000413Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.233044s",
"maxDuration": "0.233044s",
"minDuration": "0.233044s"
}
},
{
"name": "transaction_service_processing-transaction-scores-handler",
"statistics": {}
},
{
"name": "taurus_network_service_confirmedbyowner-pledges-withdrawals-handler",
"statistics": {
"successes": "1",
"lastSuccess": {
"id": "e8fd28ef-7f67-493c-b3ed-9ca0616f7952",
"startedAt": "2024-09-19T15:17:29.000352Z",
"updatedAt": "2024-09-19T15:17:29.171004Z",
"timeoutAt": "2024-09-19T15:19:29.000352Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.170652s",
"maxDuration": "0.170652s",
"minDuration": "0.170652s"
}
},
{
"name": "taurus_network_service_pledges-stats-valuation-refresher",
"statistics": {}
},
{
"name": "daemon_job_status_gc",
"statistics": {}
},
{
"name": "request_service_dot-extrinsics-garbage-collector",
"statistics": {}
},
{
"name": "request_service_verified-request-batch-signatures-handler",
"statistics": {
"successes": "2",
"lastSuccess": {
"id": "39ab40eb-0a85-4872-a4ca-77420ffc7caf",
"startedAt": "2024-09-19T15:17:33.007661Z",
"updatedAt": "2024-09-19T15:17:33.166918Z",
"timeoutAt": "2024-09-19T15:22:33.007661Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.180617s",
"maxDuration": "0.201977s",
"minDuration": "0.159257s"
}
}
]
}
Get Job data from database table
This endpoint requires authentication as the technical user.
Description : Returns values from a row in the job_statuses
table. The job_uuid
refers to a single job run. This can be found in logs.
curl --location "$baseUrl/api/rest/v1/jobs/request_service_approved-requests-handler" \
{
"job": {
"name": "request_service_approved-requests-handler",
"statistics": {
"successes": "13",
"lastSuccess": {
"id": "dffe5c12-ced9-4590-8257-b715f7ede2f1",
"startedAt": "2024-09-19T15:20:15.000523Z",
"updatedAt": "2024-09-19T15:20:15.240831Z",
"timeoutAt": "2024-09-19T15:25:15.000523Z",
"message": "null",
"status": "success"
},
"avgDuration": "0.566382384s",
"maxDuration": "3.628076s",
"minDuration": "0.128084s"
}
}
}
Get Job data by Job UUID
This endpoint requires authentication as the technical user.
Description : Returns values from a row in the job_statuses
table. The job_uuid
refers to a single job run. This can be found in logs.
curl --location "$baseUrl/api/rest/v1/jobs/request_service_approved-requests-handler/status/f8e36233-115c-438e-8893-a404b7a47f95" \
{
"status": {
"id": "f8e36233-115c-438e-8893-a404b7a47f95",
"startedAt": "2024-09-19T15:27:43.000734Z",
"updatedAt": "2024-09-19T15:27:44.495347Z",
"timeoutAt": "2024-09-19T15:32:43.000734Z",
"message": "null",
"status": "success"
}
}
HSM and vaultd specific health checks
Get HSM status
Description : perform a health check through vaultd and returns HSM status.
curl --location "$baseUrl/api/rest/v1/hsm/status" \
{
"status": "success",
"hsmReply": {
"code": "ValidationError",
"message": "failed to unpack signed_request_envelope: received empty requests envelope"
}
}
Get HSM version status
Description : perform an health check through vaultd and returns HSM version.
curl --location "$baseUrl/api/rest/v1/hsm/versions" \
{
"hsmVersion": "2.46.1",
"engineVersion": "2.46.1"
}
Usage of API and authentication
Authenticate
curl -X POST "https://int-validator-core-crdb.t-bx.io/rjpyber72n6brsdzksotivcm33mw78q4/api/rest/v1/authentication/token" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"email\": \"[email protected]\", \"password\": \"XXXX\"}"
#{"result":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MTEsImV4dGVybmFsVXNlcklEIjoidGVhbTFAYmFuay5jb20iLCJ0ZW5hbnRJRCI6MSwiZmlyc3RuYW1lIjoiSm9obiIsImxhc3RuYW1lIjoiVDEiLCJyb2xlcyI6WyJyZXF1ZXN0Y3JlYXRvciIsInJlcXVlc3RhcHByb3ZlciJdLCJlbWFpbCI6InRlYW0xQGJhbmsuY29tIiwiZXhwIjoxNTgyMjAwMTQwLCJpYXQiOjE1ODIxMTM3NDB9.S88CqMcBVKMIEbFstNmUaWnp9QcyfYaIfTAyedinudw"}
export AUTH="Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MTEsImV4dGVybmFsVXNlcklEIjoidGVhbTFAYmFuay5jb20iLCJ0ZW5hbnRJRCI6MSwiZmlyc3RuYW1lIjoiSm9obiIsImxhc3RuYW1lIjoiVDEiLCJyb2xlcyI6WyJyZXF1ZXN0Y3JlYXRvciIsInJlcXVlc3RhcHByb3ZlciJdLCJlbWFpbCI6InRlYW0xQGJhbmsuY29tIiwiZXhwIjoxNTgyMjY1MTY0LCJpYXQiOjE1ODIxNzg3NjR9.G0HL5XTy_yinun1LIW9g9cy66_FXdufomZbrG3VmAA0"
Get BTC nostro wallet
curl -H 'Accept: application/json' -H "$AUTH" https://int-validator-core-crdb.t-bx.io/rjpyber72n6brsdzksotivcm33mw78q4/api/rest/v1/wallets/info | jq '.result[] | select(.seed == "btc" and .name == "nostro")'
Get all addresses from a currencies
curl -H 'Accept: application/json' -H "$AUTH" https://int-validator-core-crdb.t-bx.io/rjpyber72n6brsdzksotivcm33mw78q4/api/rest/v1/addresses?currency=BTC | jq '.result[] | select(.seed="BTC")'
Get rules and decode the proto
curl "https://int-validator-core-crdb.t-bx.io/rjpyber72n6brsdzksotivcm33mw78q4/api/rest/v1/rules" -H "accept: application/json" -H "Content-Type: application/json" -H "$AUTH" | jq .result.rulesContainer
#"CtMBChljaHJpc3RvcGhlQHRhdXJ1c2dyb3VwLmNoErEBLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFTEpoRVVOTExIZ0k4TGlXSmFlSkdwYUJmZHZnbwpZeUtzalNGeVRNeEVDUi9FKzFxcHpEbE5OdWc3aERQZ0JQcFozWitVOFFXamFLQjRNcmJqMi9rSW1RPT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tGgIABArOAQoUc3VwZXJhZG1pbjFAYmFuay5jb20SsgEtLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLQpNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVNMk50emFGaG03eElSM092V3E1Y2hXMy9HRXZXCkwrM3Vxb0U2bEVKMTNlV2J1bHhzUC81aDM2VkNxWURJR04vMHdEZVd3TFlkcHU1SGhTWFdoeENzQ0E9PQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0KGgEDCs4BChRzdXBlcmFkbWluMkBiYW5rLmNvbRKyAS0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tCk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRVk5ekd1Z3pOTElmcFp1YVVyenl3RWgvOFpkdFgKNElJdUlwREhMdkozNmdsRmpmeHhTWmRPRzZ5SEtGRmxRaDFHWDNPQ0ZaeEhlK3hlT0dCSkhCZ3JhQT09Ci0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQoaAQMKzgEKFHN1cGVyYWRtaW4zQGJhbmsuY29tErIBLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFVjJ6RUR2WmpKL3FSK1FoMXIwc0tOY2kzOXc3OQpCMDBOZzVNR2c0d1JNN0FoOXByMUdia2dyS0lVZjRrYUhQanJQVmFRS0lSOHpEVTNqZ20wbFd4ZUhBPT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tChoBAwrIAQoOdGVhbTFAYmFuay5jb20SsQEtLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLQpNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVMSmhFVU5MTEhnSThMaVdKYWVKR3BhQmZkdmdvCll5S3NqU0Z5VE14RUNSL0UrMXFwekRsTk51ZzdoRFBnQlBwWjNaK1U4UVdqYUtCNE1yYmoyL2tJbVE9PQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0aAgQACscBCg50ZWFtMkBiYW5rLmNvbRKxAS0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tCk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRTRVQW8rR054dzR0RXFkbVREaTZ2Mk1acTJ1ZzgKYWpXOC9NbnFKL1FkNGJuaVB5RHZJVHJTRVpVeVA5VHZZcGtMQWJnL0FDeGNSL3lBNmxCRWd0RTYwUT09Ci0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLRoBAArHAQoOdGVhbTNAYmFuay5jb20SsQEtLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLQpNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVIaml3VThDd3hQUEYrU3hiVFZPbTdaMW5kOVA2Cm1UYkZDMkZZVVlpU2xBSndmRTd3b003QkFPZzZiOFcweTBKSUpBYyt0MTZWN3pPTVd6c0ZWbWVlNmc9PQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0aAQAK1wEKHXZhbGlkYXRvci1jb3JlQHRhdXJ1c2dyb3VwLmNoErEBLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFWVBYSUI0bXRxeTBBTHVFS2RZQWZRcFdtc0t1NgpEbTVhMDVkY1JVRlc1MkpHazBNNzdlc2FvSHNpSHVHODlxRnF5ZkZJLzJQZjRTL2hMbkhCR1dNbVJnPT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tGgIBAhIoCgdfX2dyb3VwEh12YWxpZGF0b3ItY29yZUB0YXVydXNncm91cC5jaBInCgZyZXZpZXcSHXZhbGlkYXRvci1jb3JlQHRhdXJ1c2dyb3VwLmNoEjIKBXRlYW0xEhljaHJpc3RvcGhlQHRhdXJ1c2dyb3VwLmNoEg50ZWFtMUBiYW5rLmNv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"
# Raw decode
echo -n "CtMBChljaHJpc3RvcGhlQHRhdXJ1c2dyb3VwLmNoErEBLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFTEpoRVVOTExIZ0k4TGlXSmFlSkdwYUJmZHZnbwpZeUtzalNGeVRNeEVDUi9FKzFxcHpEbE5OdWc3aERQZ0JQcFozWitVOFFXamFLQjRNcmJqMi9rSW1RPT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tGgIABArOAQoUc3VwZXJhZG1pbjFAYmFuay5jb20SsgEtLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLQpNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVNMk50emFGaG03eElSM092V3E1Y2hXMy9HRXZXCkwrM3Vxb0U2bEVKMTNlV2J1bHhzUC81aDM2VkNxWURJR04vMHdEZVd3TFlkcHU1SGhTWFdoeENzQ0E9PQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0KGgEDCs4BChRzdXBlcmFkbWluMkBiYW5rLmNvbRKyAS0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tCk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRVk5ekd1Z3pOTElmcFp1YVVyenl3RWgvOFpkdFgKNElJdUlwREhMdkozNmdsRmpmeHhTWmRPRzZ5SEtGRmxRaDFHWDNPQ0ZaeEhlK3hlT0dCSkhCZ3JhQT09Ci0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQoaAQMKzgEKFHN1cGVyYWRtaW4zQGJhbmsuY29tErIBLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFVjJ6RUR2WmpKL3FSK1FoMXIwc0tOY2kzOXc3OQpCMDBOZzVNR2c0d1JNN0FoOXByMUdia2dyS0lVZjRrYUhQanJQVmFRS0lSOHpEVTNqZ20wbFd4ZUhBPT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tChoBAwrIAQoOdGVhbTFAYmFuay5jb20SsQEtLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLQpNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVMSmhFVU5MTEhnSThMaVdKYWVKR3BhQmZkdmdvCll5S3NqU0Z5VE14RUNSL0UrMXFwekRsTk51ZzdoRFBnQlBwWjNaK1U4UVdqYUtCNE1yYmoyL2tJbVE9PQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0aAgQACscBCg50ZWFtMkBiYW5rLmNvbRKxAS0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tCk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRTRVQW8rR054dzR0RXFkbVREaTZ2Mk1acTJ1ZzgKYWpXOC9NbnFKL1FkNGJuaVB5RHZJVHJTRVpVeVA5VHZZcGtMQWJnL0FDeGNSL3lBNmxCRWd0RTYwUT09Ci0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLRoBAArHAQoOdGVhbTNAYmFuay5jb20SsQEtLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLQpNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVIaml3VThDd3hQUEYrU3hiVFZPbTdaMW5kOVA2Cm1UYkZDMkZZVVlpU2xBSndmRTd3b003QkFPZzZiOFcweTBKSUpBYyt0MTZWN3pPTVd6c0ZWbWVlNmc9PQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0aAQAK1wEKHXZhbGlkYXRvci1jb3JlQHRhdXJ1c2dyb3VwLmNoErEBLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFWVBYSUI0bXRxeTBBTHVFS2RZQWZRcFdtc0t1NgpEbTVhMDVkY1JVRlc1MkpHazBNNzdlc2FvSHNpSHVHODlxRnF5ZkZJLzJQZjRTL2hMbkhCR1dNbVJnPT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tGgIBAhIoCgdfX2dyb3VwEh12YWxpZGF0b3ItY29yZUB0YXVydXNncm91cC5jaBInCgZyZXZpZXcSHXZhbGlkYXRvci1jb3JlQHRhdXJ1c2dyb3VwLmNoEjIKBXRlYW0xEhljaHJpc3RvcGhlQHRhdXJ1c2dyb3VwLmNoEg50ZWFtMUBiYW5rLmNv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" | base64 -d | protoc --decode_raw
#Using proto file
echo -n "CtMBChljaHJpc3RvcGhlQHRhdXJ1c2dyb3VwLmNoErEBLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFTEpoRVVOTExIZ0k4TGlXSmFlSkdwYUJmZHZnbwpZeUtzalNGeVRNeEVDUi9FKzFxcHpEbE5OdWc3aERQZ0JQcFozWitVOFFXamFLQjRNcmJqMi9rSW1RPT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tGgIABArOAQoUc3VwZXJhZG1pbjFAYmFuay5jb20SsgEtLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLQpNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVNMk50emFGaG03eElSM092V3E1Y2hXMy9HRXZXCkwrM3Vxb0U2bEVKMTNlV2J1bHhzUC81aDM2VkNxWURJR04vMHdEZVd3TFlkcHU1SGhTWFdoeENzQ0E9PQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0KGgEDCs4BChRzdXBlcmFkbWluMkBiYW5rLmNvbRKyAS0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tCk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRVk5ekd1Z3pOTElmcFp1YVVyenl3RWgvOFpkdFgKNElJdUlwREhMdkozNmdsRmpmeHhTWmRPRzZ5SEtGRmxRaDFHWDNPQ0ZaeEhlK3hlT0dCSkhCZ3JhQT09Ci0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQoaAQMKzgEKFHN1cGVyYWRtaW4zQGJhbmsuY29tErIBLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFVjJ6RUR2WmpKL3FSK1FoMXIwc0tOY2kzOXc3OQpCMDBOZzVNR2c0d1JNN0FoOXByMUdia2dyS0lVZjRrYUhQanJQVmFRS0lSOHpEVTNqZ20wbFd4ZUhBPT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tChoBAwrIAQoOdGVhbTFAYmFuay5jb20SsQEtLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLQpNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVMSmhFVU5MTEhnSThMaVdKYWVKR3BhQmZkdmdvCll5S3NqU0Z5VE14RUNSL0UrMXFwekRsTk51ZzdoRFBnQlBwWjNaK1U4UVdqYUtCNE1yYmoyL2tJbVE9PQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0aAgQACscBCg50ZWFtMkBiYW5rLmNvbRKxAS0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tCk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRTRVQW8rR054dzR0RXFkbVREaTZ2Mk1acTJ1ZzgKYWpXOC9NbnFKL1FkNGJuaVB5RHZJVHJTRVpVeVA5VHZZcGtMQWJnL0FDeGNSL3lBNmxCRWd0RTYwUT09Ci0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLRoBAArHAQoOdGVhbTNAYmFuay5jb20SsQEtLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLQpNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVIaml3VThDd3hQUEYrU3hiVFZPbTdaMW5kOVA2Cm1UYkZDMkZZVVlpU2xBSndmRTd3b003QkFPZzZiOFcweTBKSUpBYyt0MTZWN3pPTVd6c0ZWbWVlNmc9PQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0aAQAK1wEKHXZhbGlkYXRvci1jb3JlQHRhdXJ1c2dyb3VwLmNoErEBLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFWVBYSUI0bXRxeTBBTHVFS2RZQWZRcFdtc0t1NgpEbTVhMDVkY1JVRlc1MkpHazBNNzdlc2FvSHNpSHVHODlxRnF5ZkZJLzJQZjRTL2hMbkhCR1dNbVJnPT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tGgIBAhIoCgdfX2dyb3VwEh12YWxpZGF0b3ItY29yZUB0YXVydXNncm91cC5jaBInCgZyZXZpZXcSHXZhbGlkYXRvci1jb3JlQHRhdXJ1c2dyb3VwLmNoEjIKBXRlYW0xEhljaHJpc3RvcGhlQHRhdXJ1c2dyb3VwLmNoEg50ZWFtMUBiYW5rLmNv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" | base64 -d | protoc --decode tgvalidatord.Rules rule.proto
Health checks in Taurus-EXPLORERS
Taurus-EXPLORERS is exposing Health checks through the same API endpoint:
https://explorers.t-dx.com/api/rest/v1/health/all
You will get a list of different checks per blockchain:
- height, giving you node head and what is currently stored in Explorers
- indexing
- collections:
- balance
- collection_erc_token_balance
- staking
- opt-in.
Taurus-EXPLORERS Health checks description
Height
The height
health check ensures that the latest block processed by blocksd, and stored in blocksd internal database, is not more than acceptableLateBlock
behind the current blockchain1 height in terms of blocks2. can be set in blocksd
configuration yml
file as such:
<coin>:
enabled: true
...
healthchecks:
height:
options:
acceptable_late_block: <Acceptable number of blocks of delay>
1 Note: the blockchain node connected to the blocksd instance is used as source of truth for querying the blockchain state.
2 Note: only for BTC, if indexing the testnet network, the check additionally verifies that, if behind more than acceptableLateBlock blocks, blocksd is still not more than acceptableLateBlockDelaylate with respect to the timestamp of the latest block of the blockchain.
Indexing
Collections
Taurus-Explorer Health checks list
Here is a non-exhaustive list of available checks for each enabled coin:
{
"b2da5a7e-49a5-4c03-9469-7428d0df7dd8": {
"ada": [
"collection_stake",
"height",
"indexing"
],
"algo": [
"collection_balance",
"collection_optin",
"height",
"indexing"
],
"avalanche-c": [
"collection_balance",
"collection_erc_token_balance",
"height",
"indexing"
],
"avalanche-c_erc": [
"height",
"indexing"
],
"bch": [
"height",
"indexing"
],
"btc": [
"height",
"indexing"
],
"cosmos": [
"collection_balance",
"collection_stake",
"height",
"indexing"
],
"dot": [
"collection_balance",
"collection_stake",
"height",
"indexing"
],
"erc20": [
"height",
"indexing"
],
"eth": [
"collection_balance",
"collection_erc_token_balance",
"height",
"indexing"
],
"ftm": [
"collection_balance",
"collection_stake",
"height",
"indexing"
],
"icp": [
"collection_balance",
"height",
"indexing"
],
"kichain": [
"collection_balance",
"collection_stake",
"height",
"indexing"
],
"ltc": [
"height",
"indexing"
],
"near": [
"collection_balance",
"collection_stake",
"height",
"indexing"
],
"polygon": [
"collection_balance",
"collection_erc_token_balance",
"height",
"indexing"
],
"polygon_erc20": [
"height",
"indexing"
],
"sol": [
"collection_balance",
"height",
"indexing"
],
"xlm": [
"collection_address_flags",
"collection_balance",
"collection_minimum_balance",
"collection_trustline",
"height",
"indexing"
],
"xrp": [
"collection_balance",
"height",
"indexing"
],
"xtz": [
"collection_balance",
"collection_fa_token_balance",
"collection_revelation",
"collection_stake",
"height",
"indexing"
]
}
}
Jobs perform component health checks and produce health reports. For any of these endpoints, you can get those common values:
- "componentName": name of the component
- "componentId": unique ID for the component (can be retrieved from the logs)
- "group": group to whom the healthcheck belongs to, generally a blockchain
- "healthCheck": type of health check
- "status": status of the executed call
- "report":
- "name": group name
- "status": status of the executed call
- “msg”: an output message of the health check call
- “duration": duration of the call
- "lastUpdateDate": when was the health check executed
- "validUntilDate": until when this health check will be valid.
Get Explorers health check list
Description : Performs a complete health check on Explorers.
curl --location "https://explorers.t-dx.com/api/rest/v1/health/all"
{
"b2da5a7e-49a5-4c03-9469-7428d0df7dd8": {
"ada": [
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "ada",
"health_check": "collection_stake",
"status": "success",
"report": {
"name": "collection_stake",
"status": "success",
"msg": "origin: 10901922 - transition: 10901922 - state: 10901921",
"duration": "15.656263ms"
},
"last_updated": "2024-09-30T12:26:58.160705Z",
"valid_until": "2024-09-30T12:27:58.160705Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "ada",
"health_check": "height",
"status": "success",
"report": {
"name": "height",
"status": "success",
"msg": "head = 10901922 - stored = 10901922",
"duration": "3.276187ms"
},
"last_updated": "2024-09-30T12:26:58.100408Z",
"valid_until": "2024-09-30T12:27:58.100408Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "ada",
"health_check": "indexing",
"status": "success",
"report": {
"name": "indexing",
"status": "success",
"msg": "last block inserted: 2024-09-30 12:26:28.302769 +0000 UTC",
"duration": "2.924119ms"
},
"last_updated": "2024-09-30T12:26:58.219418Z",
"valid_until": "2024-09-30T12:27:58.219418Z"
}
],
"algo": [
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "algo",
"health_check": "collection_balance",
"status": "success",
"report": {
"name": "collection_balance",
"status": "success",
"msg": "origin: 43015433 - transition: 43015433 - state: 43015423",
"duration": "7.954013ms"
},
"last_updated": "2024-09-30T12:26:58.122214Z",
"valid_until": "2024-09-30T12:27:58.122214Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "algo",
"health_check": "collection_optin",
"status": "success",
"report": {
"name": "collection_optin",
"status": "success",
"msg": "origin: 43015433 - transition: 43015433 - state: 43015423",
"duration": "9.873035ms"
},
"last_updated": "2024-09-30T12:26:58.029549Z",
"valid_until": "2024-09-30T12:27:58.029549Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "algo",
"health_check": "height",
"status": "success",
"report": {
"name": "height",
"status": "success",
"msg": "head = 43015444 - stored = 43015433",
"duration": "6.895481ms"
},
"last_updated": "2024-09-30T12:26:58.06287Z",
"valid_until": "2024-09-30T12:27:58.06287Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "algo",
"health_check": "indexing",
"status": "success",
"report": {
"name": "indexing",
"status": "success",
"msg": "last block inserted: 2024-09-30 12:26:58.25241 +0000 UTC",
"duration": "5.644487ms"
},
"last_updated": "2024-09-30T12:26:58.259502Z",
"valid_until": "2024-09-30T12:27:58.259502Z"
}
],
"avalanche-c": [
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "avalanche-c",
"health_check": "collection_balance",
"status": "success",
"report": {
"name": "collection_balance",
"status": "success",
"msg": "origin: 51185876 - transition: 51185876 - state: 51185862",
"duration": "9.889193ms"
},
"last_updated": "2024-09-30T12:26:59.324761Z",
"valid_until": "2024-09-30T12:27:59.324761Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "avalanche-c",
"health_check": "collection_erc_token_balance",
"status": "success",
"report": {
"name": "collection_erc_token_balance",
"status": "success",
"msg": "origin: 51185876 - transition: 51185876 - state: 51185862",
"duration": "7.891583ms"
},
"last_updated": "2024-09-30T12:26:59.235297Z",
"valid_until": "2024-09-30T12:27:59.235297Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "avalanche-c",
"health_check": "height",
"status": "success",
"report": {
"name": "height",
"status": "success",
"msg": "head = 51185876 - stored = 51185876",
"duration": "3.167969ms"
},
"last_updated": "2024-09-30T12:26:59.262947Z",
"valid_until": "2024-09-30T12:27:59.262947Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "avalanche-c",
"health_check": "indexing",
"status": "success",
"report": {
"name": "indexing",
"status": "success",
"msg": "last block inserted: 2024-09-30 12:26:58.849936 +0000 UTC",
"duration": "2.616072ms"
},
"last_updated": "2024-09-30T12:26:59.533744Z",
"valid_until": "2024-09-30T12:27:59.533744Z"
}
],
"avalanche-c_erc": [
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "avalanche-c_erc",
"health_check": "height",
"status": "success",
"report": {
"name": "height",
"status": "success",
"msg": "head = 51185876 - stored = 51185876",
"duration": "2.475927ms"
},
"last_updated": "2024-09-30T12:26:59.578089Z",
"valid_until": "2024-09-30T12:27:59.578089Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "avalanche-c_erc",
"health_check": "indexing",
"status": "success",
"report": {
"name": "indexing",
"status": "success",
"msg": "last block inserted: 2024-09-30 12:26:58.849936 +0000 UTC",
"duration": "3.016761ms"
},
"last_updated": "2024-09-30T12:26:59.338591Z",
"valid_until": "2024-09-30T12:27:59.338591Z"
}
],
"bch": [
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "bch",
"health_check": "height",
"status": "success",
"report": {
"name": "height",
"status": "success",
"msg": "head = 865706 - stored = 865706",
"duration": "3.880846ms"
},
"last_updated": "2024-09-30T12:26:59.258405Z",
"valid_until": "2024-09-30T12:27:59.258405Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "bch",
"health_check": "indexing",
"status": "success",
"report": {
"name": "indexing",
"status": "success",
"msg": "last block inserted: 2024-09-30 10:50:30.428415 +0000 UTC",
"duration": "2.370063ms"
},
"last_updated": "2024-09-30T12:26:59.22003Z",
"valid_until": "2024-09-30T12:27:59.22003Z"
}
],
"btc": [
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "btc",
"health_check": "height",
"status": "success",
"report": {
"name": "height",
"status": "success",
"msg": "head = 863493 - stored = 863493",
"duration": "2.539463ms"
},
"last_updated": "2024-09-30T12:26:59.310171Z",
"valid_until": "2024-09-30T12:27:59.310171Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "btc",
"health_check": "indexing",
"status": "success",
"report": {
"name": "indexing",
"status": "success",
"msg": "last block inserted: 2024-09-30 12:25:09.704364 +0000 UTC",
"duration": "2.541993ms"
},
"last_updated": "2024-09-30T12:26:59.327878Z",
"valid_until": "2024-09-30T12:27:59.327878Z"
}
],
"cosmos": [
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "cosmos",
"health_check": "collection_balance",
"status": "success",
"report": {
"name": "collection_balance",
"status": "success",
"msg": "origin: 22412980 - transition: 22412975 - state: 22412973",
"duration": "11.952833ms"
},
"last_updated": "2024-09-30T12:26:59.374556Z",
"valid_until": "2024-09-30T12:27:59.374556Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "cosmos",
"health_check": "collection_stake",
"status": "success",
"report": {
"name": "collection_stake",
"status": "success",
"msg": "origin: 22412980 - transition: 22412977 - state: 22412975",
"duration": "21.55858ms"
},
"last_updated": "2024-09-30T12:26:59.5915Z",
"valid_until": "2024-09-30T12:27:59.5915Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "cosmos",
"health_check": "height",
"status": "success",
"report": {
"name": "height",
"status": "success",
"msg": "head = 22412991 - stored = 22412979",
"duration": "9.94614ms"
},
"last_updated": "2024-09-30T12:26:59.133378Z",
"valid_until": "2024-09-30T12:27:59.133378Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "cosmos",
"health_check": "indexing",
"status": "success",
"report": {
"name": "indexing",
"status": "success",
"msg": "last block inserted: 2024-09-30 12:26:59.18444 +0000 UTC",
"duration": "2.51862ms"
},
"last_updated": "2024-09-30T12:26:59.273108Z",
"valid_until": "2024-09-30T12:27:59.273108Z"
}
],
"dot": [
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "dot",
"health_check": "collection_balance",
"status": "success",
"report": {
"name": "collection_balance",
"status": "success",
"msg": "origin: 22761581 - transition: 22761579 - state: 22761579",
"duration": "7.747732ms"
},
"last_updated": "2024-09-30T12:26:59.562101Z",
"valid_until": "2024-09-30T12:27:59.562101Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "dot",
"health_check": "collection_stake",
"status": "success",
"report": {
"name": "collection_stake",
"status": "success",
"msg": "origin: 22761579 - transition: 22761579 - state: 22761579",
"duration": "7.680209ms"
},
"last_updated": "2024-09-30T12:26:59.272951Z",
"valid_until": "2024-09-30T12:27:59.272951Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "dot",
"health_check": "height",
"status": "success",
"report": {
"name": "height",
"status": "success",
"msg": "head = 22761583 - stored = 22761580",
"duration": "2.312038ms"
},
"last_updated": "2024-09-30T12:26:59.349798Z",
"valid_until": "2024-09-30T12:27:59.349798Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "dot",
"health_check": "indexing",
"status": "success",
"report": {
"name": "indexing",
"status": "success",
"msg": "last block inserted: 2024-09-30 12:26:30.090885 +0000 UTC",
"duration": "2.558285ms"
},
"last_updated": "2024-09-30T12:26:59.136904Z",
"valid_until": "2024-09-30T12:27:59.136904Z"
}
],
"erc20": [
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "erc20",
"health_check": "height",
"status": "success",
"report": {
"name": "height",
"status": "success",
"msg": "head = 20863460 - stored = 20863459",
"duration": "4.781924ms"
},
"last_updated": "2024-09-30T12:26:30.24858Z",
"valid_until": "2024-09-30T12:27:30.24858Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "erc20",
"health_check": "indexing",
"status": "success",
"report": {
"name": "indexing",
"status": "success",
"msg": "last block inserted: 2024-09-30 12:26:30.480647 +0000 UTC",
"duration": "2.447337ms"
},
"last_updated": "2024-09-30T12:26:30.582879Z",
"valid_until": "2024-09-30T12:27:30.582879Z"
}
],
"eth": [
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "eth",
"health_check": "collection_balance",
"status": "success",
"report": {
"name": "collection_balance",
"status": "success",
"msg": "origin: 20863461 - transition: 20863461 - state: 20863460",
"duration": "10.483733ms"
},
"last_updated": "2024-09-30T12:27:00.335115Z",
"valid_until": "2024-09-30T12:28:00.335115Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "eth",
"health_check": "collection_erc_token_balance",
"status": "success",
"report": {
"name": "collection_erc_token_balance",
"status": "success",
"msg": "origin: 20863460 - transition: 20863459 - state: 20863457",
"duration": "15.386944ms"
},
"last_updated": "2024-09-30T12:26:30.644785Z",
"valid_until": "2024-09-30T12:27:30.644785Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "eth",
"health_check": "height",
"status": "success",
"report": {
"name": "height",
"status": "success",
"msg": "head = 20863460 - stored = 20863460",
"duration": "2.376784ms"
},
"last_updated": "2024-09-30T12:26:30.535317Z",
"valid_until": "2024-09-30T12:27:30.535317Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "eth",
"health_check": "indexing",
"status": "success",
"report": {
"name": "indexing",
"status": "success",
"msg": "last block inserted: 2024-09-30 12:26:18.535741 +0000 UTC",
"duration": "2.36082ms"
},
"last_updated": "2024-09-30T12:26:30.175286Z",
"valid_until": "2024-09-30T12:27:30.175286Z"
}
],
"ftm": [
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "ftm",
"health_check": "collection_balance",
"status": "success",
"report": {
"name": "collection_balance",
"status": "success",
"msg": "origin: 93124151 - transition: 93124151 - state: 93124148",
"duration": "23.693207ms"
},
"last_updated": "2024-09-30T12:26:30.331884Z",
"valid_until": "2024-09-30T12:27:30.331884Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "ftm",
"health_check": "collection_stake",
"status": "success",
"report": {
"name": "collection_stake",
"status": "success",
"msg": "origin: 93124159 - transition: 93124151 - state: 93124151",
"duration": "10.982365ms"
},
"last_updated": "2024-09-30T12:26:30.646231Z",
"valid_until": "2024-09-30T12:27:30.646231Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "ftm",
"health_check": "height",
"status": "success",
"report": {
"name": "height",
"status": "success",
"msg": "head = 93124186 - stored = 93124151",
"duration": "7.942245ms"
},
"last_updated": "2024-09-30T12:26:30.214153Z",
"valid_until": "2024-09-30T12:27:30.214153Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "ftm",
"health_check": "indexing",
"status": "success",
"report": {
"name": "indexing",
"status": "success",
"msg": "last block inserted: 2024-09-30 12:26:03.028899 +0000 UTC",
"duration": "3.313742ms"
},
"last_updated": "2024-09-30T12:26:30.190341Z",
"valid_until": "2024-09-30T12:27:30.190341Z"
}
],
"icp": [
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "icp",
"health_check": "collection_balance",
"status": "success",
"report": {
"name": "collection_balance",
"status": "success",
"msg": "origin: 14622892 - transition: 14622892 - state: 14622888",
"duration": "7.543388ms"
},
"last_updated": "2024-09-30T12:26:31.463355Z",
"valid_until": "2024-09-30T12:27:31.463355Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "icp",
"health_check": "height",
"status": "success",
"report": {
"name": "height",
"status": "success",
"msg": "head = 14622893 - stored = 14622892",
"duration": "48.001043ms"
},
"last_updated": "2024-09-30T12:26:31.074633Z",
"valid_until": "2024-09-30T12:27:31.074633Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "icp",
"health_check": "indexing",
"status": "success",
"report": {
"name": "indexing",
"status": "success",
"msg": "last block inserted: 2024-09-30 12:26:17.6752 +0000 UTC",
"duration": "4.839778ms"
},
"last_updated": "2024-09-30T12:26:31.412959Z",
"valid_until": "2024-09-30T12:27:31.412959Z"
}
],
"kichain": [
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "kichain",
"health_check": "collection_balance",
"status": "success",
"report": {
"name": "collection_balance",
"status": "success",
"msg": "origin: 22912203 - transition: 22912200 - state: 22912199",
"duration": "16.285997ms"
},
"last_updated": "2024-09-30T12:26:59.16506Z",
"valid_until": "2024-09-30T12:27:59.16506Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "kichain",
"health_check": "collection_stake",
"status": "success",
"report": {
"name": "collection_stake",
"status": "success",
"msg": "origin: 22912203 - transition: 22912200 - state: 22912197",
"duration": "11.613437ms"
},
"last_updated": "2024-09-30T12:26:59.308364Z",
"valid_until": "2024-09-30T12:27:59.308364Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "kichain",
"health_check": "height",
"status": "success",
"report": {
"name": "height",
"status": "success",
"msg": "head = 22912216 - stored = 22912203",
"duration": "40.424513ms"
},
"last_updated": "2024-09-30T12:26:59.343433Z",
"valid_until": "2024-09-30T12:27:59.343433Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "kichain",
"health_check": "indexing",
"status": "success",
"report": {
"name": "indexing",
"status": "success",
"msg": "last block inserted: 2024-09-30 12:26:44.737035 +0000 UTC",
"duration": "1.414255ms"
},
"last_updated": "2024-09-30T12:26:59.331987Z",
"valid_until": "2024-09-30T12:27:59.331987Z"
}
],
"ltc": [
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "ltc",
"health_check": "height",
"status": "success",
"report": {
"name": "height",
"status": "success",
"msg": "head = 2765292 - stored = 2765292",
"duration": "2.624092ms"
},
"last_updated": "2024-09-30T12:27:00.334233Z",
"valid_until": "2024-09-30T12:28:00.334233Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "ltc",
"health_check": "indexing",
"status": "success",
"report": {
"name": "indexing",
"status": "success",
"msg": "last block inserted: 2024-09-30 12:24:35.647494 +0000 UTC",
"duration": "1.602564ms"
},
"last_updated": "2024-09-30T12:26:30.546518Z",
"valid_until": "2024-09-30T12:27:30.546518Z"
}
],
"near": [
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "near",
"health_check": "collection_balance",
"status": "success",
"report": {
"name": "collection_balance",
"status": "success",
"msg": "origin: 128749904 - transition: 128749904 - state: 128749904",
"duration": "15.459927ms"
},
"last_updated": "2024-09-30T12:26:31.508135Z",
"valid_until": "2024-09-30T12:27:31.508135Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "near",
"health_check": "collection_stake",
"status": "success",
"report": {
"name": "collection_stake",
"status": "success",
"msg": "origin: 128749904 - transition: 128749904 - state: 128749904",
"duration": "12.667665ms"
},
"last_updated": "2024-09-30T12:26:31.457431Z",
"valid_until": "2024-09-30T12:27:31.457431Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "near",
"health_check": "height",
"status": "failure",
"report": {
"name": "height",
"status": "failure",
"msg": "too many blocks of difference: head = 129237050 - stored = 128749904",
"duration": "0s"
},
"last_updated": "2024-09-30T12:26:31.430092Z",
"valid_until": "2024-09-30T12:27:31.430092Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "near",
"health_check": "indexing",
"status": "success",
"report": {
"name": "indexing",
"status": "success",
"duration": "11.857661ms"
},
"last_updated": "2024-09-30T12:26:31.426406Z",
"valid_until": "2024-09-30T12:27:31.426406Z"
}
],
"polygon": [
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "polygon",
"health_check": "collection_balance",
"status": "success",
"report": {
"name": "collection_balance",
"status": "success",
"msg": "origin: 62460466 - transition: 62460466 - state: 62460466",
"duration": "8.811681ms"
},
"last_updated": "2024-09-30T12:26:31.470069Z",
"valid_until": "2024-09-30T12:27:31.470069Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "polygon",
"health_check": "collection_erc_token_balance",
"status": "success",
"report": {
"name": "collection_erc_token_balance",
"status": "success",
"msg": "origin: 62460466 - transition: 62460466 - state: 62460466",
"duration": "13.42405ms"
},
"last_updated": "2024-09-30T12:26:31.434027Z",
"valid_until": "2024-09-30T12:27:31.434027Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "polygon",
"health_check": "height",
"status": "success",
"report": {
"name": "height",
"status": "success",
"msg": "head = 62460474 - stored = 62460466",
"duration": "2.856134ms"
},
"last_updated": "2024-09-30T12:26:31.539436Z",
"valid_until": "2024-09-30T12:27:31.539436Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "polygon",
"health_check": "indexing",
"status": "success",
"report": {
"name": "indexing",
"status": "success",
"msg": "last block inserted: 2024-09-30 12:26:03.995027 +0000 UTC",
"duration": "5.543636ms"
},
"last_updated": "2024-09-30T12:26:31.184084Z",
"valid_until": "2024-09-30T12:27:31.184084Z"
}
],
"polygon_erc20": [
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "polygon_erc20",
"health_check": "height",
"status": "success",
"report": {
"name": "height",
"status": "success",
"msg": "head = 62460474 - stored = 62460466",
"duration": "3.258594ms"
},
"last_updated": "2024-09-30T12:26:31.436623Z",
"valid_until": "2024-09-30T12:27:31.436623Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "polygon_erc20",
"health_check": "indexing",
"status": "success",
"report": {
"name": "indexing",
"status": "success",
"msg": "last block inserted: 2024-09-30 12:26:03.995027 +0000 UTC",
"duration": "3.439443ms"
},
"last_updated": "2024-09-30T12:26:31.158233Z",
"valid_until": "2024-09-30T12:27:31.158233Z"
}
],
"sol": [
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "sol",
"health_check": "collection_balance",
"status": "success",
"report": {
"name": "collection_balance",
"status": "success",
"msg": "origin: 292885767 - transition: 292885743 - state: 292885741",
"duration": "17.642318ms"
},
"last_updated": "2024-09-30T12:26:30.479322Z",
"valid_until": "2024-09-30T12:27:30.479322Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "sol",
"health_check": "height",
"status": "success",
"report": {
"name": "height",
"status": "success",
"msg": "head = 292885816 - stored = 292885767",
"duration": "25.019604ms"
},
"last_updated": "2024-09-30T12:26:30.460048Z",
"valid_until": "2024-09-30T12:27:30.460048Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "sol",
"health_check": "indexing",
"status": "success",
"report": {
"name": "indexing",
"status": "success",
"msg": "last block inserted: 2024-09-30 12:26:47.565476 +0000 UTC",
"duration": "3.714135ms"
},
"last_updated": "2024-09-30T12:27:00.012641Z",
"valid_until": "2024-09-30T12:28:00.012641Z"
}
],
"xlm": [
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "xlm",
"health_check": "collection_address_flags",
"status": "success",
"report": {
"name": "collection_address_flags",
"status": "success",
"msg": "origin: 53731525 - transition: 53731525 - state: 53731520",
"duration": "33.488651ms"
},
"last_updated": "2024-09-30T12:26:30.393913Z",
"valid_until": "2024-09-30T12:27:30.393913Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "xlm",
"health_check": "collection_balance",
"status": "success",
"report": {
"name": "collection_balance",
"status": "success",
"msg": "origin: 53731531 - transition: 53731528 - state: 53731528",
"duration": "10.430458ms"
},
"last_updated": "2024-09-30T12:27:00.348572Z",
"valid_until": "2024-09-30T12:28:00.348572Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "xlm",
"health_check": "collection_minimum_balance",
"status": "success",
"report": {
"name": "collection_minimum_balance",
"status": "success",
"msg": "origin: 53731526 - transition: 53731525 - state: 53731523",
"duration": "10.073337ms"
},
"last_updated": "2024-09-30T12:26:30.656785Z",
"valid_until": "2024-09-30T12:27:30.656785Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "xlm",
"health_check": "collection_trustline",
"status": "success",
"report": {
"name": "collection_trustline",
"status": "success",
"msg": "origin: 53731525 - transition: 53731523 - state: 53731523",
"duration": "13.985482ms"
},
"last_updated": "2024-09-30T12:26:30.527125Z",
"valid_until": "2024-09-30T12:27:30.527125Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "xlm",
"health_check": "height",
"status": "success",
"report": {
"name": "height",
"status": "success",
"msg": "head = 53731528 - stored = 53731525",
"duration": "3.158331ms"
},
"last_updated": "2024-09-30T12:26:30.489839Z",
"valid_until": "2024-09-30T12:27:30.489839Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "xlm",
"health_check": "indexing",
"status": "success",
"report": {
"name": "indexing",
"status": "success",
"msg": "last block inserted: 2024-09-30 12:26:15.850239 +0000 UTC",
"duration": "1.453988ms"
},
"last_updated": "2024-09-30T12:26:30.270571Z",
"valid_until": "2024-09-30T12:27:30.270571Z"
}
],
"xrp": [
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "xrp",
"health_check": "collection_balance",
"status": "success",
"report": {
"name": "collection_balance",
"status": "success",
"msg": "origin: 91101537 - transition: 91101532 - state: 91101530",
"duration": "10.108787ms"
},
"last_updated": "2024-09-30T12:26:31.449387Z",
"valid_until": "2024-09-30T12:27:31.449387Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "xrp",
"health_check": "height",
"status": "success",
"report": {
"name": "height",
"status": "success",
"msg": "head = 91101537 - stored = 91101537",
"duration": "2.362041ms"
},
"last_updated": "2024-09-30T12:26:31.452989Z",
"valid_until": "2024-09-30T12:27:31.452989Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "xrp",
"health_check": "indexing",
"status": "success",
"report": {
"name": "indexing",
"status": "success",
"msg": "last block inserted: 2024-09-30 12:26:30.591544 +0000 UTC",
"duration": "2.191931ms"
},
"last_updated": "2024-09-30T12:26:31.515733Z",
"valid_until": "2024-09-30T12:27:31.515733Z"
}
],
"xtz": [
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "xtz",
"health_check": "collection_balance",
"status": "success",
"report": {
"name": "collection_balance",
"status": "success",
"msg": "origin: 6727915 - transition: 6727915 - state: 6727915",
"duration": "7.677945ms"
},
"last_updated": "2024-09-30T12:26:31.506351Z",
"valid_until": "2024-09-30T12:27:31.506351Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "xtz",
"health_check": "collection_fa_token_balance",
"status": "success",
"report": {
"name": "collection_fa_token_balance",
"status": "success",
"msg": "origin: 6727915 - transition: 6727915 - state: 6727915",
"duration": "8.730518ms"
},
"last_updated": "2024-09-30T12:26:31.539769Z",
"valid_until": "2024-09-30T12:27:31.539769Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "xtz",
"health_check": "collection_revelation",
"status": "success",
"report": {
"name": "collection_revelation",
"status": "success",
"msg": "origin: 6727915 - transition: 6727915 - state: 6727915",
"duration": "13.22616ms"
},
"last_updated": "2024-09-30T12:26:31.555236Z",
"valid_until": "2024-09-30T12:27:31.555236Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "xtz",
"health_check": "collection_stake",
"status": "success",
"report": {
"name": "collection_stake",
"status": "success",
"msg": "origin: 6727915 - transition: 6727915 - state: 6727915",
"duration": "7.554799ms"
},
"last_updated": "2024-09-30T12:26:31.527513Z",
"valid_until": "2024-09-30T12:27:31.527513Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "xtz",
"health_check": "height",
"status": "success",
"report": {
"name": "height",
"status": "success",
"msg": "head = 6727918 - stored = 6727915",
"duration": "3.97178ms"
},
"last_updated": "2024-09-30T12:26:31.297507Z",
"valid_until": "2024-09-30T12:27:31.297507Z"
},
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "xtz",
"health_check": "indexing",
"status": "success",
"report": {
"name": "indexing",
"status": "success",
"msg": "last block inserted: 2024-09-30 12:26:03.242311 +0000 UTC",
"duration": "2.235673ms"
},
"last_updated": "2024-09-30T12:26:31.483913Z",
"valid_until": "2024-09-30T12:27:31.483913Z"
}
]
}
}
Get Explorers health checks for a specific group
Description: Performs a health check on a specific group of monitored activities.
Example with FANTOM group:
curl --location "https://explorers.t-dx.com/api/rest/v1/health/ftm" \
[
{
"component_name": "tg-blocksd",
"component_id": "fea89272-125e-4108-aa78-2153bf11e6c7",
"group": "ftm",
"health_check": "collection_balance",
"status": "success",
"report": {
"name": "collection_balance",
"status": "success",
"msg": "origin: 93125974 - transition: 93125960 - state: 93125954",
"duration": "125.03325ms"
},
"last_updated": "2024-09-30T12:51:29.565395Z",
"valid_until": "2024-09-30T12:52:29.565395Z"
},
{
"component_name": "tg-blocksd",
"component_id": "fea89272-125e-4108-aa78-2153bf11e6c7",
"group": "ftm",
"health_check": "collection_stake",
"status": "success",
"report": {
"name": "collection_stake",
"status": "success",
"msg": "origin: 93125974 - transition: 93125964 - state: 93125957",
"duration": "53.552833ms"
},
"last_updated": "2024-09-30T12:51:29.60308Z",
"valid_until": "2024-09-30T12:52:29.60308Z"
},
{
"component_name": "tg-blocksd",
"component_id": "fea89272-125e-4108-aa78-2153bf11e6c7",
"group": "ftm",
"health_check": "height",
"status": "success",
"report": {
"name": "height",
"status": "success",
"msg": "tg-blocksd: 93125974 - node: 93125976",
"duration": "5.141143ms"
},
"last_updated": "2024-09-30T12:51:29.589367Z",
"valid_until": "2024-09-30T12:52:29.589367Z"
},
{
"component_name": "tg-blocksd",
"component_id": "fea89272-125e-4108-aa78-2153bf11e6c7",
"group": "ftm",
"health_check": "indexing",
"status": "success",
"report": {
"name": "indexing",
"status": "success",
"msg": "last block inserted: 2024-09-30 12:51:29.390029 +0000 UTC",
"duration": "162.893874ms"
},
"last_updated": "2024-09-30T12:51:29.572097Z",
"valid_until": "2024-09-30T12:52:29.572097Z"
}
]
Another example with Polkadot group:
Description: Performs a health check on a specific blockchain of monitored activities:
- block height
- collection balance
- staking collection balance
- indexing: when was the last inserted block
curl --location "https://explorers.t-dx.com/api/rest/v1/health/dot" \
[
{
"component_name": "tg-blocksd",
"component_id": "fea89272-125e-4108-aa78-2153bf11e6c7",
"group": "dot",
"health_check": "collection_balance",
"status": "success",
"report": {
"name": "collection_balance",
"status": "success",
"msg": "origin: 22761846 - transition: 22761845 - state: 22761844",
"duration": "9.259814ms"
},
"last_updated": "2024-09-30T12:53:30.396071Z",
"valid_until": "2024-09-30T12:54:30.396071Z"
},
{
"component_name": "tg-blocksd",
"component_id": "fea89272-125e-4108-aa78-2153bf11e6c7",
"group": "dot",
"health_check": "collection_stake",
"status": "success",
"report": {
"name": "collection_stake",
"status": "success",
"msg": "origin: 22761846 - transition: 22761846 - state: 22761844",
"duration": "22.802164ms"
},
"last_updated": "2024-09-30T12:53:30.372645Z",
"valid_until": "2024-09-30T12:54:30.372645Z"
},
{
"component_name": "tg-blocksd",
"component_id": "fea89272-125e-4108-aa78-2153bf11e6c7",
"group": "dot",
"health_check": "height",
"status": "success",
"report": {
"name": "height",
"status": "success",
"msg": "tg-blocksd: 22761846 - node: 22761844",
"duration": "5.628137ms"
},
"last_updated": "2024-09-30T12:53:30.440603Z",
"valid_until": "2024-09-30T12:54:30.440603Z"
},
{
"component_name": "tg-blocksd",
"component_id": "fea89272-125e-4108-aa78-2153bf11e6c7",
"group": "dot",
"health_check": "indexing",
"status": "success",
"report": {
"name": "indexing",
"status": "success",
"msg": "last block inserted: 2024-09-30 12:53:26.734433 +0000 UTC",
"duration": "3.190728ms"
},
"last_updated": "2024-09-30T12:53:30.238531Z",
"valid_until": "2024-09-30T12:54:30.238531Z"
}
]
Get Explorers health checks for a specific chain
Description: Performs a specific health check on a chosen chain.
Example with Cardano:
curl --location "https://explorers.t-dx.com/api/rest/v1/health/ada/height" \
{
"component_name": "tg-blocksd",
"component_id": "b2da5a7e-49a5-4c03-9469-7428d0df7dd8",
"group": "ada",
"health_check": "height",
"status": "success",
"report": {
"name": "height",
"status": "success",
"msg": "head = 10901302 - stored = 10901302",
"duration": "31.398357ms"
},
"last_updated": "2024-09-30T08:49:28.099174Z",
"valid_until": "2024-09-30T08:50:28.099174Z"
}