{"docs":"/x402/docs","enabled":true,"network":"flare","chainId":14,"usdPer1000CreditsMicros":"1000000","minTopupCredits":10000,"freeTierDailyCalls":50,"assets":[{"symbol":"FBEST","address":"0xc312E2c99477d2396c8722164538C94cf1CB7703","decimals":18,"bonusBps":1000,"available":true,"amountPer1000Credits":"727855011281752674868","routerAllowlisted":true,"capPerTopup":null,"holdingsCap":null,"paused":false},{"symbol":"WFLR","address":"0x1D80c49BbBCd1C0911346656B529DF9E5c2F783d","decimals":18,"bonusBps":0,"available":true,"amountPer1000Credits":"144613159797541576284","routerAllowlisted":true,"capPerTopup":null,"holdingsCap":null,"paused":false},{"symbol":"FXRP","address":"0xAd552A648C74D49E10027AB8a618A3ad4901c5bE","decimals":6,"bonusBps":0,"available":true,"amountPer1000Credits":"735679","routerAllowlisted":true,"capPerTopup":"1000","holdingsCap":"5000","paused":false}],"nativeXrp":{"available":true,"address":"rwraNYmG3oh1KJB5Nv3nGzgTsQQFzRa2z2","amountPer1000Credits":"735679","capPerTopup":"1000","holdingsCap":"5000","paused":false,"note":"POST /api/x402/topup with {\"asset\":\"XRP\"} for a destination-tag deposit quote"},"nativeFlr":{"available":true,"payTo":"0x305b8D823E64A763372D9bb62748426E560b4d03","amountPer1000Credits":"144613159797541576284","capPerTopup":null,"holdingsCap":null,"paused":false,"note":"POST /api/x402/topup with {\"asset\":\"FLR\"} — then send a plain FLR transfer to payTo with the topupHandle as tx data and confirm with the txHash"},"watchdog":{"model":"slots","slotPriceCreditsPer30d":500,"maxSlotsPerWallet":20,"durationDiscounts":[{"minPeriods":12,"discountBps":2000},{"minPeriods":6,"discountBps":1000}],"volumeDiscounts":[{"minQuantity":10,"discountBps":1000},{"minQuantity":5,"discountBps":500}],"uiDurations":[1,6,12],"types":["wallet-balance","feed-move","provider-eligibility","credits-balance","reward-signing","provider-fsp"],"signalDefinitions":{"wallet-balance":[{"id":"balance-change","help":{"checked":{"key":"dashboard_watchdog_help_balance_change_checked","def":"Compares the current balance with the previous observation and alerts when the absolute change reaches the threshold in the chosen direction. The first observation sets the baseline."},"why":{"key":"dashboard_watchdog_help_wallet_why","def":"A balance change can indicate an incoming or outgoing transfer you want to track."},"causes":{"key":"dashboard_watchdog_help_wallet_causes","def":"Transfers, gas fees or other balance changes occurred between observations."},"action":{"key":"dashboard_watchdog_help_wallet_action","def":"Compare the observed amounts with recent wallet transactions and the configured token."}},"group":{"id":"alerts","help":{"key":"dashboard_watchdog_help_group_alerts","def":"Events for the selected watch target and threshold."},"key":"dashboard_watchdog_signal_group_alerts","def":"Alerts"},"label":{"key":"dashboard_watchdog_signal_balance_change","def":"Balance change"},"description":{"key":"dashboard_watchdog_signal_balance_change_desc","def":"Notify when the configured wallet balance moves past its threshold."},"events":{"alerts":["wallet-balance.moved"]},"defaultEnabled":true}],"feed-move":[{"id":"price-move","help":{"checked":{"key":"dashboard_watchdog_help_price_move_checked","def":"Compares the current USD feed price with the oldest valid point inside the window. Alerts at the percentage threshold, at most once per window; twice the threshold is critical."},"why":{"key":"dashboard_watchdog_help_price_why","def":"A large observed price move may deserve attention."},"causes":{"key":"dashboard_watchdog_help_price_causes","def":"The current feed price differs from the earlier valid price in the selected window."},"action":{"key":"dashboard_watchdog_help_price_action","def":"Compare timestamps and prices and review the selected window and percentage."}},"group":{"id":"alerts","help":{"key":"dashboard_watchdog_help_group_alerts","def":"Events for the selected watch target and threshold."},"key":"dashboard_watchdog_signal_group_alerts","def":"Alerts"},"label":{"key":"dashboard_watchdog_signal_price_move","def":"Price movement"},"description":{"key":"dashboard_watchdog_signal_price_move_desc","def":"Notify when the configured feed moves past its threshold."},"events":{"alerts":["feed-move.threshold"]},"defaultEnabled":true}],"provider-eligibility":[{"id":"provider-status","help":{"checked":{"key":"dashboard_watchdog_help_provider_status_checked","def":"After establishing a baseline, reports loss of registration or eligibility and recovery of either. A provider missing from the dataset is treated as unregistered and ineligible."},"why":{"key":"dashboard_watchdog_help_provider_status_why","def":"An unregistered or ineligible provider earns no rewards for its delegators in that reward epoch."},"causes":{"key":"dashboard_watchdog_help_provider_status_causes","def":"The registration was missed, or a Minimal Condition was failed with no passes left."},"action":{"key":"dashboard_watchdog_help_provider_status_action","def":"Check the provider on the Flare Systems Explorer (Minimal Conditions and passes) and its registration for the current epoch."}},"group":{"id":"alerts","help":{"key":"dashboard_watchdog_help_group_alerts","def":"Events for the selected watch target and threshold."},"key":"dashboard_watchdog_signal_group_alerts","def":"Alerts"},"label":{"key":"dashboard_watchdog_signal_provider_status","def":"Provider status"},"description":{"key":"dashboard_watchdog_signal_provider_status_desc","def":"Notify when the provider is unregistered or loses eligibility."},"events":{"alerts":["provider.unregistered","provider.eligibility-lost"],"recovery":"provider.recovered"},"defaultEnabled":true,"recovery":{"defaultEnabled":true}}],"credits-balance":[{"id":"credits-threshold","help":{"checked":{"key":"dashboard_watchdog_help_credits_threshold_checked","def":"Alerts when the wallet credit balance becomes strictly lower than the configured limit; recovery includes equality with the limit."},"why":{"key":"dashboard_watchdog_help_credits_why","def":"A low credit balance can affect services that spend credits."},"causes":{"key":"dashboard_watchdog_help_credits_causes","def":"Credit spending or an adjustment may have moved the balance below your chosen threshold."},"action":{"key":"dashboard_watchdog_help_credits_action","def":"Review credit balance and recent entries, then adjust the threshold or replenish if needed."}},"group":{"id":"alerts","help":{"key":"dashboard_watchdog_help_group_alerts","def":"Events for the selected watch target and threshold."},"key":"dashboard_watchdog_signal_group_alerts","def":"Alerts"},"label":{"key":"dashboard_watchdog_signal_credits_threshold","def":"Low credits balance"},"description":{"key":"dashboard_watchdog_signal_credits_threshold_desc","def":"Notify when your credits balance falls below the configured threshold."},"events":{"alerts":["credits.low-balance"],"recovery":"credits.recovered"},"defaultEnabled":true,"recovery":{"defaultEnabled":true}}],"reward-signing":[{"id":"reward-signing","help":{"checked":{"key":"dashboard_watchdog_help_reward_signing_checked","def":"Checks missing uptime and reward signatures for the just-ended epoch. Open alerts wait two hours after epoch end or first observed reward-data publication; a reward reminder follows after twelve hours, and a concluded unsigned vote is critical."},"why":{"key":"dashboard_watchdog_help_signing_why","def":"A required provider signature may be pending or may have missed the concluded vote."},"causes":{"key":"dashboard_watchdog_help_signing_causes","def":"The identity is absent from the observed signer set for uptime or reward data."},"action":{"key":"dashboard_watchdog_help_signing_action","def":"Check the epoch, vote state and signing process for the configured identity."}},"group":{"id":"alerts","help":{"key":"dashboard_watchdog_help_group_alerts","def":"Events for the selected watch target and threshold."},"key":"dashboard_watchdog_signal_group_alerts","def":"Alerts"},"label":{"key":"dashboard_watchdog_signal_reward_signing","def":"Reward signing"},"description":{"key":"dashboard_watchdog_signal_reward_signing_desc","def":"Notify about open, overdue or missed uptime and rewards signatures."},"events":{"alerts":["signing.uptime-open","signing.rewards-open","signing.rewards-reminder","signing.missed"],"recovery":"signing.done"},"defaultEnabled":true,"recovery":{"defaultEnabled":true}}],"provider-fsp":[{"id":"ftso-commit","help":{"checked":{"key":"dashboard_watchdog_help_ftso_commit_checked","def":"Checks for missing or late FTSO commits in consecutive voting rounds."},"why":{"key":"dashboard_watchdog_help_ftso_commit_why","def":"Without a valid commit your value does not count in that voting round, so you lose its median-closeness rewards. Missed rounds also count against the anchor-feed Minimal Condition (within 0.5% of the median in 80% of rounds per reward epoch)."},"causes":{"key":"dashboard_watchdog_help_ftso_commit_causes","def":"FTSO client or Flare System Client stopped or restarting, C-chain indexer behind the chain head, RPC problems, or too little native balance on the submit address."},"action":{"key":"dashboard_watchdog_help_ftso_commit_action","def":"Check that the system client logs “Submitter submit1 successfully sent tx” every round, that the indexer is at the chain head and that the submit address has funds."}},"group":{"help":{"key":"dashboard_watchdog_help_group_ftso","def":"Commit, reveal and signature participation in FTSO voting rounds."},"id":"ftso","key":"dashboard_watchdog_fsp_group_ftso","def":"FTSO"},"label":{"key":"dashboard_watchdog_fsp_ftso_commit","def":"FTSO commit"},"description":{"key":"dashboard_watchdog_fsp_ftso_commit_desc","def":"Missing or late commit in consecutive rounds."},"events":{"alerts":["fsp.ftso-commit"],"recovery":"fsp.ftso-commit.recovered"},"defaultEnabled":true,"recovery":{"defaultEnabled":true},"parameters":[{"key":"rounds","type":"integer","label":{"key":"dashboard_watchdog_fsp_rounds","def":"Consecutive rounds"},"default":2,"min":1,"max":20,"step":1,"help":{"key":"dashboard_watchdog_help_parameter_rounds","def":"Number of consecutive bad voting rounds; 2 ignores a single isolated miss. Missing evidence resets the streak, without proving recovery."}}]},{"id":"ftso-reveal","help":{"checked":{"key":"dashboard_watchdog_help_ftso_reveal_checked","def":"Checks for missing, early or late FTSO reveals in consecutive voting rounds."},"why":{"key":"dashboard_watchdog_help_ftso_reveal_why","def":"A commit without a matching reveal is penalised: your value is excluded and the round’s rewards are reduced or forfeited. A missing reveal also removes your random number from the round."},"causes":{"key":"dashboard_watchdog_help_ftso_reveal_causes","def":"The client restarted between commit and reveal, the reveal (submit2) was sent too late, or the submit address ran out of funds."},"action":{"key":"dashboard_watchdog_help_ftso_reveal_action","def":"Check the submit2 transactions of the reported rounds, the log timing between commit and reveal, and whether the client was restarted in between."}},"group":{"help":{"key":"dashboard_watchdog_help_group_ftso","def":"Commit, reveal and signature participation in FTSO voting rounds."},"id":"ftso","key":"dashboard_watchdog_fsp_group_ftso","def":"FTSO"},"label":{"key":"dashboard_watchdog_fsp_ftso_reveal","def":"FTSO reveal"},"description":{"key":"dashboard_watchdog_fsp_ftso_reveal_desc","def":"Missing, early or late reveal in consecutive rounds."},"events":{"alerts":["fsp.ftso-reveal"],"recovery":"fsp.ftso-reveal.recovered"},"defaultEnabled":true,"recovery":{"defaultEnabled":true},"parameters":[{"key":"rounds","type":"integer","label":{"key":"dashboard_watchdog_fsp_rounds","def":"Consecutive rounds"},"default":2,"min":1,"max":20,"step":1,"help":{"key":"dashboard_watchdog_help_parameter_rounds","def":"Number of consecutive bad voting rounds; 2 ignores a single isolated miss. Missing evidence resets the streak, without proving recovery."}}]},{"id":"ftso-signature","help":{"checked":{"key":"dashboard_watchdog_help_ftso_signature_checked","def":"Checks for missing or early FTSO signatures in consecutive voting rounds; grace-period misses are a separate signal."},"why":{"key":"dashboard_watchdog_help_ftso_signature_why","def":"Signature rewards are paid only for signatures on the finalised Merkle root that arrive in time. A missing signature loses that share and does not help finalise the round."},"causes":{"key":"dashboard_watchdog_help_ftso_signature_causes","def":"The signing step (submitSignatures) failed or was delayed, the Merkle root could not be computed, or the submit-signatures address lacks funds."},"action":{"key":"dashboard_watchdog_help_ftso_signature_action","def":"Look for “Submitter submitSignatures successfully sent tx” in the system client logs and check the balance of the submit-signatures address."}},"group":{"help":{"key":"dashboard_watchdog_help_group_ftso","def":"Commit, reveal and signature participation in FTSO voting rounds."},"id":"ftso","key":"dashboard_watchdog_fsp_group_ftso","def":"FTSO"},"label":{"key":"dashboard_watchdog_fsp_ftso_signature","def":"FTSO signature"},"description":{"key":"dashboard_watchdog_fsp_ftso_signature_desc","def":"Missing or early signature in consecutive rounds."},"events":{"alerts":["fsp.ftso-signature"],"recovery":"fsp.ftso-signature.recovered"},"defaultEnabled":true,"recovery":{"defaultEnabled":true},"parameters":[{"key":"rounds","type":"integer","label":{"key":"dashboard_watchdog_fsp_rounds","def":"Consecutive rounds"},"default":2,"min":1,"max":20,"step":1,"help":{"key":"dashboard_watchdog_help_parameter_rounds","def":"Number of consecutive bad voting rounds; 2 ignores a single isolated miss. Missing evidence resets the streak, without proving recovery."}}]},{"id":"fdc-bitvote","help":{"checked":{"key":"dashboard_watchdog_help_fdc_bitvote_checked","def":"Checks for missing, early or late FDC bitvotes in consecutive voting rounds."},"why":{"key":"dashboard_watchdog_help_fdc_bitvote_why","def":"Without a timely bitvote you take no part in that round’s FDC consensus. The FDC Minimal Condition requires successful participation in 60% of voting rounds per reward epoch."},"causes":{"key":"dashboard_watchdog_help_fdc_bitvote_causes","def":"FDC client or verifiers unavailable, an attestation source (e.g. BTC, DOGE or XRP node) out of sync, or the bitvote sent outside the choose phase (90–135 s into the round)."},"action":{"key":"dashboard_watchdog_help_fdc_bitvote_action","def":"Check the FDC client logs and each verifier’s /health endpoint, and whether the bitvote transaction lands inside the choose phase."}},"group":{"help":{"key":"dashboard_watchdog_help_group_fdc","def":"FDC bitvotes, signatures and agreement with consensus requests."},"id":"fdc","key":"dashboard_watchdog_fsp_group_fdc","def":"FDC"},"label":{"key":"dashboard_watchdog_fsp_fdc_bitvote","def":"FDC bitvote"},"description":{"key":"dashboard_watchdog_fsp_fdc_bitvote_desc","def":"Missing, early or late bitvote in consecutive rounds."},"events":{"alerts":["fsp.fdc-bitvote"],"recovery":"fsp.fdc-bitvote.recovered"},"defaultEnabled":true,"recovery":{"defaultEnabled":true},"parameters":[{"key":"rounds","type":"integer","label":{"key":"dashboard_watchdog_fsp_rounds","def":"Consecutive rounds"},"default":2,"min":1,"max":20,"step":1,"help":{"key":"dashboard_watchdog_help_parameter_rounds","def":"Number of consecutive bad voting rounds; 2 ignores a single isolated miss. Missing evidence resets the streak, without proving recovery."}}]},{"id":"fdc-signature","help":{"checked":{"key":"dashboard_watchdog_help_fdc_signature_checked","def":"Checks for missing or early FDC signatures in consecutive voting rounds."},"why":{"key":"dashboard_watchdog_help_fdc_signature_why","def":"FDC participation counts only when you submit the correct Merkle root. Without your signature the round does not count towards the 60% requirement, and you lose its signature rewards."},"causes":{"key":"dashboard_watchdog_help_fdc_signature_causes","def":"The FDC Merkle root could not be built or signed, verifier data was incomplete, or the submit-signatures address lacks funds."},"action":{"key":"dashboard_watchdog_help_fdc_signature_action","def":"Check FDC client and verifier health and the submitSignatures transactions of the reported rounds."}},"group":{"help":{"key":"dashboard_watchdog_help_group_fdc","def":"FDC bitvotes, signatures and agreement with consensus requests."},"id":"fdc","key":"dashboard_watchdog_fsp_group_fdc","def":"FDC"},"label":{"key":"dashboard_watchdog_fsp_fdc_signature","def":"FDC signature"},"description":{"key":"dashboard_watchdog_fsp_fdc_signature_desc","def":"Missing or early signature in consecutive rounds."},"events":{"alerts":["fsp.fdc-signature"],"recovery":"fsp.fdc-signature.recovered"},"defaultEnabled":true,"recovery":{"defaultEnabled":true},"parameters":[{"key":"rounds","type":"integer","label":{"key":"dashboard_watchdog_fsp_rounds","def":"Consecutive rounds"},"default":2,"min":1,"max":20,"step":1,"help":{"key":"dashboard_watchdog_help_parameter_rounds","def":"Number of consecutive bad voting rounds; 2 ignores a single isolated miss. Missing evidence resets the streak, without proving recovery."}}]},{"id":"reveal-offence","help":{"checked":{"key":"dashboard_watchdog_help_reveal_offence_checked","def":"A verified FTSO commit/reveal mismatch triggers an immediate critical alert."},"why":{"key":"dashboard_watchdog_help_reveal_offence_why","def":"A reveal that does not match its commit is penalised: the round’s rewards are reduced or forfeited, and penalties can make an epoch’s reward claims negative."},"causes":{"key":"dashboard_watchdog_help_reveal_offence_causes","def":"Commit and reveal were built from different data, typically after a restart, or two running instances submit with the same addresses."},"action":{"key":"dashboard_watchdog_help_reveal_offence_action","def":"Make sure exactly one client submits for your addresses and check the logs around the reported round."}},"group":{"help":{"key":"dashboard_watchdog_help_group_offences","def":"Evidence of mismatched reveals, wrong signers or missed signature grace periods."},"id":"offences","key":"dashboard_watchdog_fsp_group_offences","def":"Offences"},"label":{"key":"dashboard_watchdog_fsp_reveal_offence","def":"Reveal offence"},"description":{"key":"dashboard_watchdog_fsp_reveal_offence_desc","def":"Commit and reveal do not match; immediate critical alert."},"events":{"alerts":["fsp.reveal-offence"],"recovery":"fsp.reveal-offence.recovered"},"defaultEnabled":true,"recovery":{"defaultEnabled":true}},{"id":"signature-mismatch","help":{"checked":{"key":"dashboard_watchdog_help_signature_mismatch_checked","def":"Checks whether an FTSO or FDC signature has a signer mismatch against the signing policy address."},"why":{"key":"dashboard_watchdog_help_signature_mismatch_why","def":"A signature from the wrong key is not counted for your weight. You lose the signature rewards, and it does not help finalise the round."},"causes":{"key":"dashboard_watchdog_help_signature_mismatch_causes","def":"The client signs with a key that is not your entity’s registered signing policy address, e.g. after a key change or a wrong key in the configuration."},"action":{"key":"dashboard_watchdog_help_signature_mismatch_action","def":"Compare the signer of the reported transaction with the signing policy address registered for your identity and correct the configured signing key."}},"group":{"help":{"key":"dashboard_watchdog_help_group_offences","def":"Evidence of mismatched reveals, wrong signers or missed signature grace periods."},"id":"offences","key":"dashboard_watchdog_fsp_group_offences","def":"Offences"},"label":{"key":"dashboard_watchdog_fsp_signature_mismatch","def":"Wrong signer"},"description":{"key":"dashboard_watchdog_fsp_signature_mismatch_desc","def":"Signature does not match the signing policy address."},"events":{"alerts":["fsp.signature-mismatch"],"recovery":"fsp.signature-mismatch.recovered"},"defaultEnabled":true,"recovery":{"defaultEnabled":true}},{"id":"signature-grace","help":{"checked":{"key":"dashboard_watchdog_help_signature_grace_checked","def":"Checks whether an FTSO or FDC signature missed its reward grace period."},"why":{"key":"dashboard_watchdog_help_signature_grace_why","def":"Signatures within the 10-second grace period after signing starts are always rewarded. Later ones count only if they still arrive before finalisation, which usually follows quickly."},"causes":{"key":"dashboard_watchdog_help_signature_grace_causes","def":"A slow RPC or indexer, a busy host, or queued transactions on the submit-signatures address."},"action":{"key":"dashboard_watchdog_help_signature_grace_action","def":"Compare signing start and your signature transaction in the logs, and check RPC response times and host load."}},"group":{"help":{"key":"dashboard_watchdog_help_group_offences","def":"Evidence of mismatched reveals, wrong signers or missed signature grace periods."},"id":"offences","key":"dashboard_watchdog_fsp_group_offences","def":"Offences"},"label":{"key":"dashboard_watchdog_fsp_signature_grace","def":"Signature grace missed"},"description":{"key":"dashboard_watchdog_fsp_signature_grace_desc","def":"Signature missed the reward grace period."},"events":{"alerts":["fsp.signature-grace"],"recovery":"fsp.signature-grace.recovered"},"defaultEnabled":true,"recovery":{"defaultEnabled":true}},{"id":"fdc-submit1","help":{"checked":{"key":"dashboard_watchdog_help_fdc_submit1_checked","def":"Reports an observed FDC submit1 when submission data is available."},"why":{"key":"dashboard_watchdog_help_fdcsubmit_why","def":"This submission phase is unexpected for FDC and warrants a configuration check."},"causes":{"key":"dashboard_watchdog_help_fdcsubmit_causes","def":"A submitter may be using the wrong protocol or submission method."},"action":{"key":"dashboard_watchdog_help_fdcsubmit_action","def":"Inspect the reported transaction and the submitter protocol configuration."}},"group":{"help":{"key":"dashboard_watchdog_help_group_fdc","def":"FDC bitvotes, signatures and agreement with consensus requests."},"id":"fdc","key":"dashboard_watchdog_fsp_group_fdc","def":"FDC"},"label":{"key":"dashboard_watchdog_fsp_fdc_submit1","def":"Unexpected FDC submit1"},"description":{"key":"dashboard_watchdog_fsp_fdc_submit1_desc","def":"An FDC submit1 was observed."},"events":{"alerts":["fsp.fdc-submit1"],"recovery":"fsp.fdc-submit1.recovered"},"defaultEnabled":true,"recovery":{"defaultEnabled":true}},{"id":"tx-failed","help":{"checked":{"key":"dashboard_watchdog_help_tx_failed_checked","def":"Reports a failed transaction in one of the five monitored submission phases."},"why":{"key":"dashboard_watchdog_help_tx_failed_why","def":"A reverted submission costs gas, and its data is not recorded, so that phase counts as missed for the round."},"causes":{"key":"dashboard_watchdog_help_tx_failed_causes","def":"Nonce conflicts from two clients on the same address, too little gas, a sender address not registered for the current epoch, or a contract revert after a protocol upgrade."},"action":{"key":"dashboard_watchdog_help_tx_failed_action","def":"Open the reported transaction in the explorer, read the revert reason and make sure only one client uses each submit address."}},"group":{"help":{"key":"dashboard_watchdog_help_group_transactions","def":"Failed transactions in the monitored submission phases."},"id":"transactions","key":"dashboard_watchdog_fsp_group_transactions","def":"Transactions"},"label":{"key":"dashboard_watchdog_fsp_tx_failed","def":"Failed transaction"},"description":{"key":"dashboard_watchdog_fsp_tx_failed_desc","def":"A submission phase failed."},"events":{"alerts":["fsp.tx-failed"],"recovery":"fsp.tx-failed.recovered"},"defaultEnabled":true,"recovery":{"defaultEnabled":true}},{"id":"fast-updates","help":{"checked":{"key":"dashboard_watchdog_help_fast_updates_checked","def":"Compares the modeled probability of no Fast Updates with your threshold, using signing weight and elapsed blocks. The optional block warning uses 1% of the reward-epoch block count."},"why":{"key":"dashboard_watchdog_help_fast_updates_why","def":"Fast Updates (block-latency feeds) are part of the Minimal Conditions: you must submit at least 80% of your expected updates per reward epoch, unless your weight is below 0.2% of the total."},"causes":{"key":"dashboard_watchdog_help_fast_updates_causes","def":"The Fast Updates client stopped, its accounts ran out of gas funds (“insufficient funds”), or the sortition key is not registered."},"action":{"key":"dashboard_watchdog_help_fast_updates_action","def":"Check the Fast Updates client logs and the balances of all Fast Updates accounts. With low weight, long gaps between selections are normal."}},"group":{"help":{"key":"dashboard_watchdog_help_group_fast_updates","def":"Fast Updates activity relative to signing weight and elapsed blocks."},"id":"fast-updates","key":"dashboard_watchdog_fsp_group_fast_updates","def":"Fast Updates"},"label":{"key":"dashboard_watchdog_fsp_fast_updates","def":"Fast Updates inactivity"},"description":{"key":"dashboard_watchdog_fsp_fast_updates_desc","def":"Alert when inactivity is statistically unlikely. Block-count warnings are off by default."},"events":{"alerts":["fsp.fast-updates"],"recovery":"fsp.fast-updates.recovered"},"defaultEnabled":true,"recovery":{"defaultEnabled":true},"parameters":[{"key":"probability","type":"number","label":{"key":"dashboard_watchdog_fsp_probability","def":"Probability threshold"},"default":1e-7,"min":1e-15,"max":0.1,"help":{"key":"dashboard_watchdog_help_parameter_probability","def":"A smaller probability threshold requires stronger statistical evidence of Fast Updates inactivity."}},{"key":"warningEnabled","type":"boolean","label":{"key":"dashboard_watchdog_fsp_warning_enabled","def":"Enable block-count warning"},"default":false,"help":{"key":"dashboard_watchdog_help_parameter_warningEnabled","def":"Also warn when blocks without updates reach 1% of the reward-epoch block count; disabled by default."}}]},{"id":"registration","help":{"checked":{"key":"dashboard_watchdog_help_registration_checked","def":"Checks whether registration for the next reward epoch is still missing after the configured delay from registration opening."},"why":{"key":"dashboard_watchdog_help_registration_why","def":"Missing the registration for a reward epoch means no participation and no FSP rewards for that whole epoch, and your passes are reset to zero."},"causes":{"key":"dashboard_watchdog_help_registration_causes","def":"The system client was not running during the 30-minute registration window, the registration transaction failed, or an entity address lacked funds."},"action":{"key":"dashboard_watchdog_help_registration_action","def":"Look for “Voter … registered for epoch …” in the system client logs and make sure the client runs through the registration window; registration is only possible then."}},"group":{"help":{"key":"dashboard_watchdog_help_group_registration","def":"Next-epoch registration and active signing policy membership."},"id":"registration","key":"dashboard_watchdog_fsp_group_registration","def":"Registration"},"label":{"key":"dashboard_watchdog_fsp_registration","def":"Next epoch registration"},"description":{"key":"dashboard_watchdog_fsp_registration_desc","def":"Alert once when registration remains pending beyond the configured delay."},"events":{"alerts":["fsp.registration"],"recovery":"fsp.registration.recovered"},"defaultEnabled":true,"recovery":{"defaultEnabled":true},"parameters":[{"key":"minutes","type":"integer","label":{"key":"dashboard_watchdog_fsp_minutes","def":"Delay in minutes"},"default":15,"min":1,"max":1440,"step":1,"help":{"key":"dashboard_watchdog_help_parameter_minutes","def":"Wait this many minutes after registration opens before warning about a missing registration."}}]},{"id":"not-in-policy","help":{"checked":{"key":"dashboard_watchdog_help_not_in_policy_checked","def":"Checks whether the identity is absent from the active signing policy."},"why":{"key":"dashboard_watchdog_help_not_in_policy_why","def":"Only entities in the active signing policy can submit, sign and earn rewards in the current reward epoch."},"causes":{"key":"dashboard_watchdog_help_not_in_policy_causes","def":"The registration for this epoch was missed or did not go through."},"action":{"key":"dashboard_watchdog_help_not_in_policy_action","def":"The current epoch cannot be joined any more. Make sure the next registration succeeds and check the logs of the last registration window."}},"group":{"help":{"key":"dashboard_watchdog_help_group_registration","def":"Next-epoch registration and active signing policy membership."},"id":"registration","key":"dashboard_watchdog_fsp_group_registration","def":"Registration"},"label":{"key":"dashboard_watchdog_fsp_not_in_policy","def":"Signing policy membership"},"description":{"key":"dashboard_watchdog_fsp_not_in_policy_desc","def":"Identity is not in the active signing policy."},"events":{"alerts":["fsp.not-in-policy"],"recovery":"fsp.not-in-policy.recovered"},"defaultEnabled":true,"recovery":{"defaultEnabled":true}},{"id":"balance-low","help":{"checked":{"key":"dashboard_watchdog_help_balance_low_checked","def":"Checks cached native balances of operational addresses against warning and critical thresholds; a read failure cannot prove recovery."},"why":{"key":"dashboard_watchdog_help_balance_why","def":"Low native funds can prevent operational transactions from paying gas."},"causes":{"key":"dashboard_watchdog_help_balance_causes","def":"Gas spending or outgoing transfers may have reduced an operational address balance."},"action":{"key":"dashboard_watchdog_help_balance_action","def":"Check which address is low and its recent transactions before replenishing it."}},"group":{"help":{"key":"dashboard_watchdog_help_group_balances","def":"Native funds at provider operational addresses used for transactions."},"id":"balances","key":"dashboard_watchdog_fsp_group_balances","def":"Balances"},"label":{"key":"dashboard_watchdog_fsp_balance_low","def":"Low operational balance"},"description":{"key":"dashboard_watchdog_fsp_balance_low_desc","def":"Hourly native balance check of submit, signatures and signing policy addresses."},"events":{"alerts":["fsp.balance-low"],"recovery":"fsp.balance-low.recovered"},"defaultEnabled":true,"recovery":{"defaultEnabled":true},"parameters":[{"key":"warning","type":"number","label":{"key":"dashboard_watchdog_fsp_warning","def":"Warning below (FLR/SGB)"},"default":25,"min":0.001,"max":1000000,"help":{"key":"dashboard_watchdog_help_parameter_warning","def":"Warn when a readable native balance is strictly below this amount."}},{"key":"critical","type":"number","label":{"key":"dashboard_watchdog_fsp_critical","def":"Critical below (FLR/SGB)"},"default":5,"min":0,"max":1000000,"help":{"key":"dashboard_watchdog_help_parameter_critical","def":"Escalate a low-balance alert below this amount; it must not exceed the warning threshold."}}]},{"id":"monitoring","help":{"checked":{"key":"dashboard_watchdog_help_monitoring_checked","def":"Always checks analyzer health. Missing, failed or more than ten-minute-old runs or round data pause provider evaluation."},"why":{"key":"dashboard_watchdog_help_monitoring_why","def":"Stale monitoring cannot reliably assess provider health."},"causes":{"key":"dashboard_watchdog_help_monitoring_causes","def":"The analyzer may have stopped, failed, or stopped receiving complete rounds."},"action":{"key":"dashboard_watchdog_help_monitoring_action","def":"Check analyzer status, last run and indexed round freshness."}},"group":{"help":{"key":"dashboard_watchdog_help_group_system","def":"Availability and freshness of the monitoring data."},"id":"system","key":"dashboard_watchdog_fsp_group_system","def":"System"},"label":{"key":"dashboard_watchdog_fsp_monitoring","def":"Monitoring availability"},"description":{"key":"dashboard_watchdog_fsp_monitoring_desc","def":"Always on. Pauses provider alerts while the analyzer or its results are stale."},"events":{"alerts":["fsp.monitoring"],"recovery":"fsp.monitoring.recovered"},"defaultEnabled":true,"recovery":{"defaultEnabled":true},"required":true},{"id":"fdc-consensus","help":{"checked":{"key":"dashboard_watchdog_help_fdc_consensus_checked","def":"Checks consecutive voting rounds with at least one unconfirmed consensus request and emits one aggregate alert."},"why":{"key":"dashboard_watchdog_help_fdc_consensus_why","def":"Requests the consensus confirmed but you did not usually mean your verifier could not check them. Without that data you often cannot build and sign the consensus Merkle root, and the round does not count for you."},"causes":{"key":"dashboard_watchdog_help_fdc_consensus_causes","def":"A verifier for one chain is down or behind, or its data source (e.g. a BTC, DOGE or XRP node) is not synced."},"action":{"key":"dashboard_watchdog_help_fdc_consensus_action","def":"Find out which chain or attestation type the unconfirmed requests belong to and check that verifier’s health and sync status."}},"group":{"help":{"key":"dashboard_watchdog_help_group_fdc","def":"FDC bitvotes, signatures and agreement with consensus requests."},"id":"fdc","key":"dashboard_watchdog_fsp_group_fdc","def":"FDC"},"label":{"key":"dashboard_watchdog_fsp_fdc_consensus","def":"Unconfirmed consensus requests"},"description":{"key":"dashboard_watchdog_fsp_fdc_consensus_desc","def":"Consecutive rounds with unconfirmed consensus requests; one aggregate alert."},"events":{"alerts":["fsp.fdc-consensus"],"recovery":"fsp.fdc-consensus.recovered"},"defaultEnabled":true,"recovery":{"defaultEnabled":true},"parameters":[{"key":"rounds","type":"integer","label":{"key":"dashboard_watchdog_fsp_rounds","def":"Consecutive rounds"},"default":2,"min":1,"max":20,"step":1,"help":{"key":"dashboard_watchdog_help_parameter_rounds","def":"Number of consecutive bad voting rounds; 2 ignores a single isolated miss. Missing evidence resets the streak, without proving recovery."}}]},{"id":"fdc-bitvote-length","help":{"checked":{"key":"dashboard_watchdog_help_fdc_bitvote_length_checked","def":"Checks whether the FDC bitvote length matches the verified unique request count."},"why":{"key":"dashboard_watchdog_help_fdc_bitvote_length_why","def":"A bitvote of the wrong length cannot be matched to the round’s requests, so it does not count towards the consensus or your FDC participation."},"causes":{"key":"dashboard_watchdog_help_fdc_bitvote_length_causes","def":"The FDC client saw a different set of requests than the chain, e.g. because of indexer lag or a client version problem after an upgrade."},"action":{"key":"dashboard_watchdog_help_fdc_bitvote_length_action","def":"Check that the C-chain indexer is at the chain head and that the FDC client runs the current version, then compare the request count in the logs."}},"group":{"help":{"key":"dashboard_watchdog_help_group_fdc","def":"FDC bitvotes, signatures and agreement with consensus requests."},"id":"fdc","key":"dashboard_watchdog_fsp_group_fdc","def":"FDC"},"label":{"key":"dashboard_watchdog_fsp_fdc_bitvote_length","def":"FDC bitvote length"},"description":{"key":"dashboard_watchdog_fsp_fdc_bitvote_length_desc","def":"Bitvote length differs from the verified unique request count."},"events":{"alerts":["fsp.fdc-bitvote-length"],"recovery":"fsp.fdc-bitvote-length.recovered"},"defaultEnabled":true,"recovery":{"defaultEnabled":true}},{"id":"fdc-reveal-offence","help":{"checked":{"key":"dashboard_watchdog_help_fdc_reveal_offence_checked","def":"Reports the analyzer’s FDC reveal offence: the bitvote covers consensus but a valid signature is missing."},"why":{"key":"dashboard_watchdog_help_fdc_reveal_offence_why","def":"When your bitvote covers the consensus you are expected to sign the resulting Merkle root. The analyzer treats a missing valid signature as an FDC offence, and penalties can reduce your epoch rewards."},"causes":{"key":"dashboard_watchdog_help_fdc_reveal_offence_causes","def":"The FDC signing step failed after the bitvote, often because verifier responses were missing and the Merkle tree could not be built."},"action":{"key":"dashboard_watchdog_help_fdc_reveal_offence_action","def":"Check the FDC client and verifier health for the reported round and the submitSignatures transaction."}},"group":{"help":{"key":"dashboard_watchdog_help_group_offences","def":"Evidence of mismatched reveals, wrong signers or missed signature grace periods."},"id":"offences","key":"dashboard_watchdog_fsp_group_offences","def":"Offences"},"label":{"key":"dashboard_watchdog_fsp_fdc_reveal_offence","def":"FDC reveal offence"},"description":{"key":"dashboard_watchdog_fsp_fdc_reveal_offence_desc","def":"Bitvote covers the consensus but a valid signature is missing."},"events":{"alerts":["fsp.fdc-reveal-offence"],"recovery":"fsp.fdc-reveal-offence.recovered"},"defaultEnabled":true,"recovery":{"defaultEnabled":true}},{"id":"mc-anchor","help":{"checked":{"key":"dashboard_watchdog_help_mc_anchor_checked","def":"Checks the observed FTSO anchor hit rate in the selected window once enough recent samples exist. Zero signing weight makes this inapplicable."},"why":{"key":"dashboard_watchdog_help_mc_anchor_why","def":"Officially, anchor-feed estimates must lie within 0.5% of the median in 80% of voting rounds per reward epoch. This window is an early indicator, not the official result."},"causes":{"key":"dashboard_watchdog_help_observed_causes","def":"Low participation, connectivity interruptions or incomplete observations can lower the measured value."},"action":{"key":"dashboard_watchdog_help_observed_action","def":"Check the window, sample count and source freshness before investigating the provider or validator."}},"group":{"help":{"key":"dashboard_watchdog_help_group_minimal_conditions","def":"Observed FTSO and FDC early warnings, separate from official Minimal Conditions decisions."},"id":"minimal-conditions","key":"dashboard_watchdog_fsp_group_minimal_conditions","def":"Minimal Conditions"},"label":{"key":"dashboard_watchdog_fsp_mc_anchor","def":"Anchor early warning"},"description":{"key":"dashboard_watchdog_fsp_mc_anchor_desc","def":"Observed anchor hits below the window threshold; this is not an official eligibility decision."},"events":{"alerts":["fsp.mc-anchor"],"recovery":"fsp.mc-anchor.recovered"},"defaultEnabled":true,"recovery":{"defaultEnabled":true},"parameters":[{"key":"threshold","type":"percent","label":{"key":"dashboard_watchdog_fsp_threshold","def":"Warning below (%)"},"default":80,"min":1,"max":100,"help":{"key":"dashboard_watchdog_help_parameter_threshold","def":"Warn below this percentage after enough fresh observations; recovery requires two percentage points more, capped at 100%."}},{"key":"hours","type":"select","label":{"key":"dashboard_watchdog_fsp_window","def":"Window"},"default":"2","options":[{"value":"2","label":{"key":"dashboard_watchdog_fsp_hours_2","def":"2 hours"}},{"value":"4","label":{"key":"dashboard_watchdog_fsp_hours_4","def":"4 hours"}},{"value":"6","label":{"key":"dashboard_watchdog_fsp_hours_6","def":"6 hours"}}],"help":{"key":"dashboard_watchdog_help_parameter_hours","def":"Choose the observation window in hours; this is not a full reward-epoch assessment."}},{"key":"minimum","type":"integer","label":{"key":"dashboard_watchdog_fsp_minimum","def":"Minimum observations"},"default":40,"min":10,"max":240,"step":1,"help":{"key":"dashboard_watchdog_help_parameter_minimum","def":"At least this many observations are required before evaluating the percentage."}}]},{"id":"mc-fdc","help":{"checked":{"key":"dashboard_watchdog_help_mc_fdc_checked","def":"Checks observed FDC participation in consensus rounds with enough recent samples; rounds without consensus and zero signing weight are excluded."},"why":{"key":"dashboard_watchdog_help_mc_fdc_why","def":"Officially, FDC requires successful participation (the correct Merkle root) in 60% of voting rounds per reward epoch. Your threshold here can warn earlier."},"causes":{"key":"dashboard_watchdog_help_observed_causes","def":"Low participation, connectivity interruptions or incomplete observations can lower the measured value."},"action":{"key":"dashboard_watchdog_help_observed_action","def":"Check the window, sample count and source freshness before investigating the provider or validator."}},"group":{"help":{"key":"dashboard_watchdog_help_group_minimal_conditions","def":"Observed FTSO and FDC early warnings, separate from official Minimal Conditions decisions."},"id":"minimal-conditions","key":"dashboard_watchdog_fsp_group_minimal_conditions","def":"Minimal Conditions"},"label":{"key":"dashboard_watchdog_fsp_mc_fdc","def":"FDC early warning"},"description":{"key":"dashboard_watchdog_fsp_mc_fdc_desc","def":"Observed FDC participation below the window threshold. Rounds without consensus are excluded."},"events":{"alerts":["fsp.mc-fdc"],"recovery":"fsp.mc-fdc.recovered"},"defaultEnabled":true,"recovery":{"defaultEnabled":true},"parameters":[{"key":"threshold","type":"percent","label":{"key":"dashboard_watchdog_fsp_threshold","def":"Warning below (%)"},"default":80,"min":1,"max":100,"help":{"key":"dashboard_watchdog_help_parameter_threshold","def":"Warn below this percentage after enough fresh observations; recovery requires two percentage points more, capped at 100%."}},{"key":"hours","type":"select","label":{"key":"dashboard_watchdog_fsp_window","def":"Window"},"default":"2","options":[{"value":"2","label":{"key":"dashboard_watchdog_fsp_hours_2","def":"2 hours"}},{"value":"4","label":{"key":"dashboard_watchdog_fsp_hours_4","def":"4 hours"}},{"value":"6","label":{"key":"dashboard_watchdog_fsp_hours_6","def":"6 hours"}}],"help":{"key":"dashboard_watchdog_help_parameter_hours","def":"Choose the observation window in hours; this is not a full reward-epoch assessment."}},{"key":"minimum","type":"integer","label":{"key":"dashboard_watchdog_fsp_minimum","def":"Minimum observations"},"default":40,"min":10,"max":240,"step":1,"help":{"key":"dashboard_watchdog_help_parameter_minimum","def":"At least this many observations are required before evaluating the percentage."}}]},{"id":"mc-uptime","help":{"checked":{"key":"dashboard_watchdog_help_mc_uptime_checked","def":"Checks observed validator connectivity across P-chain viewpoints, not official Uptime. This warning is disabled by default."},"why":{"key":"dashboard_watchdog_help_mc_uptime_why","def":"Staking requires 80% total uptime per reward epoch. This is an observed connectivity signal, not the official uptime."},"causes":{"key":"dashboard_watchdog_help_observed_causes","def":"Low participation, connectivity interruptions or incomplete observations can lower the measured value."},"action":{"key":"dashboard_watchdog_help_observed_action","def":"Check the window, sample count and source freshness before investigating the provider or validator."}},"group":{"help":{"key":"dashboard_watchdog_help_group_validator","def":"Observed P-chain connectivity and registered NodeID validator membership."},"id":"validator","key":"dashboard_watchdog_fsp_group_validator","def":"Validator"},"label":{"key":"dashboard_watchdog_fsp_mc_uptime","def":"Validator connectivity"},"description":{"key":"dashboard_watchdog_fsp_mc_uptime_desc","def":"Multiple P-chain viewpoints; warning disabled pending parallel-run verification."},"events":{"alerts":["fsp.mc-uptime"],"recovery":"fsp.mc-uptime.recovered"},"defaultEnabled":false,"recovery":{"defaultEnabled":true},"parameters":[{"key":"threshold","type":"percent","label":{"key":"dashboard_watchdog_fsp_threshold","def":"Warning below (%)"},"default":80,"min":1,"max":100,"help":{"key":"dashboard_watchdog_help_parameter_threshold","def":"Warn below this percentage after enough fresh observations; recovery requires two percentage points more, capped at 100%."}},{"key":"hours","type":"select","label":{"key":"dashboard_watchdog_fsp_window","def":"Window"},"default":"2","options":[{"value":"2","label":{"key":"dashboard_watchdog_fsp_hours_2","def":"2 hours"}},{"value":"4","label":{"key":"dashboard_watchdog_fsp_hours_4","def":"4 hours"}},{"value":"6","label":{"key":"dashboard_watchdog_fsp_hours_6","def":"6 hours"}}],"help":{"key":"dashboard_watchdog_help_parameter_hours","def":"Choose the observation window in hours; this is not a full reward-epoch assessment."}},{"key":"minimum","type":"integer","label":{"key":"dashboard_watchdog_fsp_minimum","def":"Minimum observations"},"default":40,"min":10,"max":240,"step":1,"help":{"key":"dashboard_watchdog_help_parameter_minimum","def":"At least this many observations are required before evaluating the percentage."}}]},{"id":"validator-not-listed","help":{"checked":{"key":"dashboard_watchdog_help_validator_not_listed_checked","def":"Warns only when all known registered NodeIDs are confirmed absent from the current validator set. No NodeIDs or an unknown result do not prove absence."},"why":{"key":"dashboard_watchdog_help_validator_not_listed_why","def":"A node that is not an active validator earns no staking rewards, and the staking Minimal Condition requires 80% total uptime per reward epoch."},"causes":{"key":"dashboard_watchdog_help_validator_not_listed_causes","def":"The validator’s stake period ended, the node was never added as a validator, or the NodeID linked to the entity changed."},"action":{"key":"dashboard_watchdog_help_validator_not_listed_action","def":"Check the node’s stake end time, renew the stake if needed and confirm the NodeID linked to your identity."}},"group":{"help":{"key":"dashboard_watchdog_help_group_validator","def":"Observed P-chain connectivity and registered NodeID validator membership."},"id":"validator","key":"dashboard_watchdog_fsp_group_validator","def":"Validator"},"label":{"key":"dashboard_watchdog_fsp_validator_not_listed","def":"Validator not listed"},"description":{"key":"dashboard_watchdog_fsp_validator_not_listed_desc","def":"No registered NodeID is a current validator. Check for missing or expired stake. No NodeIDs means not applicable."},"events":{"alerts":["fsp.validator-not-listed"],"recovery":"fsp.validator-not-listed.recovered"},"defaultEnabled":true,"recovery":{"defaultEnabled":true}},{"id":"rewards-unclaimed","help":{"checked":{"key":"dashboard_watchdog_help_rewards_unclaimed_checked","def":"Reports personal unclaimed direct and fee rewards above your minimum once per reward epoch; recovery follows when the amount is at or below it."},"why":{"key":"dashboard_watchdog_help_rewards_unclaimed_why","def":"FSP rewards expire after 25 reward epochs (about three months); unclaimed direct and fee rewards are then lost."},"causes":{"key":"dashboard_watchdog_help_rewards_causes","def":"Rewards became claimable, or a claim has not yet appeared in the cached snapshot."},"action":{"key":"dashboard_watchdog_help_rewards_action","def":"Review the epoch, amount and claim status in your rewards view."}},"group":{"help":{"key":"dashboard_watchdog_help_group_rewards","def":"Personal unclaimed rewards of the provider addresses, grouped by epoch."},"id":"rewards","key":"dashboard_watchdog_fsp_group_rewards","def":"Rewards"},"label":{"key":"dashboard_watchdog_fsp_rewards_unclaimed","def":"Unclaimed rewards"},"description":{"key":"dashboard_watchdog_fsp_rewards_unclaimed_desc","def":"One summary per epoch of your personal unclaimed rewards (direct and fee claims of the provider addresses)."},"events":{"alerts":["fsp.rewards-unclaimed"],"recovery":"fsp.rewards-unclaimed.recovered"},"defaultEnabled":true,"recovery":{"defaultEnabled":true},"parameters":[{"key":"minimum","type":"number","label":{"key":"dashboard_watchdog_fsp_reward_minimum","def":"Minimum amount (FLR/SGB)"},"default":1,"min":0,"max":1000000000,"help":{"key":"dashboard_watchdog_help_parameter_reward_minimum","def":"Alert only when personal unclaimed rewards are strictly greater than this native-token amount."}}]}]},"products":[{"productKey":"watchdog-slot","name":"Watchdog slot","unitPriceCredits":500,"maxQuantityPerWallet":20,"durationDiscounts":[[12,2000],[6,1000]],"volumeDiscounts":[[10,1000],[5,500]],"maxDiscountBps":null,"uiDurations":[1,6,12]},{"productKey":"provider-watchdog","name":"Provider watchdog slot","unitPriceCredits":5000,"maxQuantityPerWallet":20,"durationDiscounts":[[12,2000],[6,1000]],"volumeDiscounts":[[5,1000],[3,500]],"maxDiscountBps":2500,"uiDurations":[1,6,12]}],"watchTypes":[{"type":"wallet-balance","billing":{"kind":"slot","productKey":"watchdog-slot"}},{"type":"feed-move","billing":{"kind":"slot","productKey":"watchdog-slot"}},{"type":"provider-eligibility","billing":{"kind":"slot","productKey":"watchdog-slot"}},{"type":"credits-balance","billing":{"kind":"free","maxPerWallet":3}},{"type":"reward-signing","billing":{"kind":"slot","productKey":"watchdog-slot"}},{"type":"provider-fsp","billing":{"kind":"slot","productKey":"provider-watchdog"}}],"buyEndpoint":"/api/x402/subscriptions","watchEndpoint":"/api/x402/watches","note":"Buy slots, then create/edit/delete watches freely — see /x402/docs#watchdog"},"rewards":{"tasks":[{"key":"signup","credits":100,"verification":"none"},{"key":"telegram_join","credits":200,"verification":"auto"},{"key":"discord_join","credits":200,"verification":"auto"},{"key":"x_mention","credits":500,"verification":"review"},{"key":"x_follow","credits":100,"verification":"review"}],"trialDays":3,"trialEndpoint":"/api/x402/subscriptions/trial","note":"One-time earned credits; conversion to FBEST from 50k earned credits comes in a later phase"},"resources":[{"resource":"trust-radar","priceCredits":5,"description":"AI Trust Radar — trust/risk snapshot per wallet","accepts":[{"scheme":"ftsobest-prepaid-router","network":"flare","maxAmountRequired":"0","resource":"https://ftso.app/api/x402/pricing#trust-radar","description":"AI Trust Radar — trust/risk snapshot per wallet — 5 credit(s) per call (prepaid)","mimeType":"application/json","payTo":"0x17b8a1476623e150bd727CB8640bBA743f4CdFdA","asset":"0xc312E2c99477d2396c8722164538C94cf1CB7703","maxTimeoutSeconds":600,"extra":{"settlement":"onchain_router_prepaid","docs":"/x402/docs","chainId":14,"assetSymbol":"FBEST","assetDecimals":18,"bonusBps":1000,"priceCredits":5,"usdPer1000CreditsMicros":"1000000","minTopupCredits":10000,"authEndpoint":"/api/x402/auth/challenge","tokenEndpoint":"/api/x402/auth/token","topupEndpoint":"/api/x402/topup","accountEndpoint":"/api/x402/account","pricingEndpoint":"/api/x402/pricing","flow":"challenge -> token -> topup(authorization, asset optional) -> router.pay(tx) -> confirm(txHash) -> retry with Bearer"}},{"scheme":"ftsobest-prepaid-router","network":"flare","maxAmountRequired":"0","resource":"https://ftso.app/api/x402/pricing#trust-radar","description":"AI Trust Radar — trust/risk snapshot per wallet — 5 credit(s) per call (prepaid)","mimeType":"application/json","payTo":"0x17b8a1476623e150bd727CB8640bBA743f4CdFdA","asset":"0x1D80c49BbBCd1C0911346656B529DF9E5c2F783d","maxTimeoutSeconds":600,"extra":{"settlement":"onchain_router_prepaid","docs":"/x402/docs","chainId":14,"assetSymbol":"WFLR","assetDecimals":18,"bonusBps":0,"priceCredits":5,"usdPer1000CreditsMicros":"1000000","minTopupCredits":10000,"authEndpoint":"/api/x402/auth/challenge","tokenEndpoint":"/api/x402/auth/token","topupEndpoint":"/api/x402/topup","accountEndpoint":"/api/x402/account","pricingEndpoint":"/api/x402/pricing","flow":"challenge -> token -> topup(authorization, asset optional) -> router.pay(tx) -> confirm(txHash) -> retry with Bearer"}},{"scheme":"ftsobest-prepaid-router","network":"flare","maxAmountRequired":"0","resource":"https://ftso.app/api/x402/pricing#trust-radar","description":"AI Trust Radar — trust/risk snapshot per wallet — 5 credit(s) per call (prepaid)","mimeType":"application/json","payTo":"0x17b8a1476623e150bd727CB8640bBA743f4CdFdA","asset":"0xAd552A648C74D49E10027AB8a618A3ad4901c5bE","maxTimeoutSeconds":600,"extra":{"settlement":"onchain_router_prepaid","docs":"/x402/docs","chainId":14,"assetSymbol":"FXRP","assetDecimals":6,"bonusBps":0,"priceCredits":5,"usdPer1000CreditsMicros":"1000000","minTopupCredits":10000,"authEndpoint":"/api/x402/auth/challenge","tokenEndpoint":"/api/x402/auth/token","topupEndpoint":"/api/x402/topup","accountEndpoint":"/api/x402/account","pricingEndpoint":"/api/x402/pricing","flow":"challenge -> token -> topup(authorization, asset optional) -> router.pay(tx) -> confirm(txHash) -> retry with Bearer"}},{"scheme":"ftsobest-prepaid-router","network":"flare","maxAmountRequired":"0","resource":"https://ftso.app/api/x402/pricing#trust-radar","description":"AI Trust Radar — trust/risk snapshot per wallet — 5 credit(s) per call (prepaid)","mimeType":"application/json","payTo":"0x305b8D823E64A763372D9bb62748426E560b4d03","asset":"0x0000000000000000000000000000000000000000","maxTimeoutSeconds":600,"extra":{"settlement":"native_transfer_prepaid","docs":"/x402/docs","chainId":14,"assetSymbol":"FLR","assetDecimals":18,"bonusBps":0,"priceCredits":5,"usdPer1000CreditsMicros":"1000000","minTopupCredits":10000,"authEndpoint":"/api/x402/auth/challenge","tokenEndpoint":"/api/x402/auth/token","topupEndpoint":"/api/x402/topup","accountEndpoint":"/api/x402/account","pricingEndpoint":"/api/x402/pricing","flow":"challenge -> token -> topup(asset:FLR) -> plain FLR transfer to payTo with data=topupHandle -> confirm(txHash) -> retry with Bearer"}}]},{"resource":"rewards-intelligence-scan","priceCredits":10,"description":"External rewards scanner per wallet","accepts":[{"scheme":"ftsobest-prepaid-router","network":"flare","maxAmountRequired":"0","resource":"https://ftso.app/api/x402/pricing#rewards-intelligence-scan","description":"External rewards scanner per wallet — 10 credit(s) per call (prepaid)","mimeType":"application/json","payTo":"0x17b8a1476623e150bd727CB8640bBA743f4CdFdA","asset":"0xc312E2c99477d2396c8722164538C94cf1CB7703","maxTimeoutSeconds":600,"extra":{"settlement":"onchain_router_prepaid","docs":"/x402/docs","chainId":14,"assetSymbol":"FBEST","assetDecimals":18,"bonusBps":1000,"priceCredits":10,"usdPer1000CreditsMicros":"1000000","minTopupCredits":10000,"authEndpoint":"/api/x402/auth/challenge","tokenEndpoint":"/api/x402/auth/token","topupEndpoint":"/api/x402/topup","accountEndpoint":"/api/x402/account","pricingEndpoint":"/api/x402/pricing","flow":"challenge -> token -> topup(authorization, asset optional) -> router.pay(tx) -> confirm(txHash) -> retry with Bearer"}},{"scheme":"ftsobest-prepaid-router","network":"flare","maxAmountRequired":"0","resource":"https://ftso.app/api/x402/pricing#rewards-intelligence-scan","description":"External rewards scanner per wallet — 10 credit(s) per call (prepaid)","mimeType":"application/json","payTo":"0x17b8a1476623e150bd727CB8640bBA743f4CdFdA","asset":"0x1D80c49BbBCd1C0911346656B529DF9E5c2F783d","maxTimeoutSeconds":600,"extra":{"settlement":"onchain_router_prepaid","docs":"/x402/docs","chainId":14,"assetSymbol":"WFLR","assetDecimals":18,"bonusBps":0,"priceCredits":10,"usdPer1000CreditsMicros":"1000000","minTopupCredits":10000,"authEndpoint":"/api/x402/auth/challenge","tokenEndpoint":"/api/x402/auth/token","topupEndpoint":"/api/x402/topup","accountEndpoint":"/api/x402/account","pricingEndpoint":"/api/x402/pricing","flow":"challenge -> token -> topup(authorization, asset optional) -> router.pay(tx) -> confirm(txHash) -> retry with Bearer"}},{"scheme":"ftsobest-prepaid-router","network":"flare","maxAmountRequired":"0","resource":"https://ftso.app/api/x402/pricing#rewards-intelligence-scan","description":"External rewards scanner per wallet — 10 credit(s) per call (prepaid)","mimeType":"application/json","payTo":"0x17b8a1476623e150bd727CB8640bBA743f4CdFdA","asset":"0xAd552A648C74D49E10027AB8a618A3ad4901c5bE","maxTimeoutSeconds":600,"extra":{"settlement":"onchain_router_prepaid","docs":"/x402/docs","chainId":14,"assetSymbol":"FXRP","assetDecimals":6,"bonusBps":0,"priceCredits":10,"usdPer1000CreditsMicros":"1000000","minTopupCredits":10000,"authEndpoint":"/api/x402/auth/challenge","tokenEndpoint":"/api/x402/auth/token","topupEndpoint":"/api/x402/topup","accountEndpoint":"/api/x402/account","pricingEndpoint":"/api/x402/pricing","flow":"challenge -> token -> topup(authorization, asset optional) -> router.pay(tx) -> confirm(txHash) -> retry with Bearer"}},{"scheme":"ftsobest-prepaid-router","network":"flare","maxAmountRequired":"0","resource":"https://ftso.app/api/x402/pricing#rewards-intelligence-scan","description":"External rewards scanner per wallet — 10 credit(s) per call (prepaid)","mimeType":"application/json","payTo":"0x305b8D823E64A763372D9bb62748426E560b4d03","asset":"0x0000000000000000000000000000000000000000","maxTimeoutSeconds":600,"extra":{"settlement":"native_transfer_prepaid","docs":"/x402/docs","chainId":14,"assetSymbol":"FLR","assetDecimals":18,"bonusBps":0,"priceCredits":10,"usdPer1000CreditsMicros":"1000000","minTopupCredits":10000,"authEndpoint":"/api/x402/auth/challenge","tokenEndpoint":"/api/x402/auth/token","topupEndpoint":"/api/x402/topup","accountEndpoint":"/api/x402/account","pricingEndpoint":"/api/x402/pricing","flow":"challenge -> token -> topup(asset:FLR) -> plain FLR transfer to payTo with data=topupHandle -> confirm(txHash) -> retry with Bearer"}}]},{"resource":"rewards-intelligence-reports","priceCredits":10,"description":"Rewards intelligence report generator","accepts":[{"scheme":"ftsobest-prepaid-router","network":"flare","maxAmountRequired":"0","resource":"https://ftso.app/api/x402/pricing#rewards-intelligence-reports","description":"Rewards intelligence report generator — 10 credit(s) per call (prepaid)","mimeType":"application/json","payTo":"0x17b8a1476623e150bd727CB8640bBA743f4CdFdA","asset":"0xc312E2c99477d2396c8722164538C94cf1CB7703","maxTimeoutSeconds":600,"extra":{"settlement":"onchain_router_prepaid","docs":"/x402/docs","chainId":14,"assetSymbol":"FBEST","assetDecimals":18,"bonusBps":1000,"priceCredits":10,"usdPer1000CreditsMicros":"1000000","minTopupCredits":10000,"authEndpoint":"/api/x402/auth/challenge","tokenEndpoint":"/api/x402/auth/token","topupEndpoint":"/api/x402/topup","accountEndpoint":"/api/x402/account","pricingEndpoint":"/api/x402/pricing","flow":"challenge -> token -> topup(authorization, asset optional) -> router.pay(tx) -> confirm(txHash) -> retry with Bearer"}},{"scheme":"ftsobest-prepaid-router","network":"flare","maxAmountRequired":"0","resource":"https://ftso.app/api/x402/pricing#rewards-intelligence-reports","description":"Rewards intelligence report generator — 10 credit(s) per call (prepaid)","mimeType":"application/json","payTo":"0x17b8a1476623e150bd727CB8640bBA743f4CdFdA","asset":"0x1D80c49BbBCd1C0911346656B529DF9E5c2F783d","maxTimeoutSeconds":600,"extra":{"settlement":"onchain_router_prepaid","docs":"/x402/docs","chainId":14,"assetSymbol":"WFLR","assetDecimals":18,"bonusBps":0,"priceCredits":10,"usdPer1000CreditsMicros":"1000000","minTopupCredits":10000,"authEndpoint":"/api/x402/auth/challenge","tokenEndpoint":"/api/x402/auth/token","topupEndpoint":"/api/x402/topup","accountEndpoint":"/api/x402/account","pricingEndpoint":"/api/x402/pricing","flow":"challenge -> token -> topup(authorization, asset optional) -> router.pay(tx) -> confirm(txHash) -> retry with Bearer"}},{"scheme":"ftsobest-prepaid-router","network":"flare","maxAmountRequired":"0","resource":"https://ftso.app/api/x402/pricing#rewards-intelligence-reports","description":"Rewards intelligence report generator — 10 credit(s) per call (prepaid)","mimeType":"application/json","payTo":"0x17b8a1476623e150bd727CB8640bBA743f4CdFdA","asset":"0xAd552A648C74D49E10027AB8a618A3ad4901c5bE","maxTimeoutSeconds":600,"extra":{"settlement":"onchain_router_prepaid","docs":"/x402/docs","chainId":14,"assetSymbol":"FXRP","assetDecimals":6,"bonusBps":0,"priceCredits":10,"usdPer1000CreditsMicros":"1000000","minTopupCredits":10000,"authEndpoint":"/api/x402/auth/challenge","tokenEndpoint":"/api/x402/auth/token","topupEndpoint":"/api/x402/topup","accountEndpoint":"/api/x402/account","pricingEndpoint":"/api/x402/pricing","flow":"challenge -> token -> topup(authorization, asset optional) -> router.pay(tx) -> confirm(txHash) -> retry with Bearer"}},{"scheme":"ftsobest-prepaid-router","network":"flare","maxAmountRequired":"0","resource":"https://ftso.app/api/x402/pricing#rewards-intelligence-reports","description":"Rewards intelligence report generator — 10 credit(s) per call (prepaid)","mimeType":"application/json","payTo":"0x305b8D823E64A763372D9bb62748426E560b4d03","asset":"0x0000000000000000000000000000000000000000","maxTimeoutSeconds":600,"extra":{"settlement":"native_transfer_prepaid","docs":"/x402/docs","chainId":14,"assetSymbol":"FLR","assetDecimals":18,"bonusBps":0,"priceCredits":10,"usdPer1000CreditsMicros":"1000000","minTopupCredits":10000,"authEndpoint":"/api/x402/auth/challenge","tokenEndpoint":"/api/x402/auth/token","topupEndpoint":"/api/x402/topup","accountEndpoint":"/api/x402/account","pricingEndpoint":"/api/x402/pricing","flow":"challenge -> token -> topup(asset:FLR) -> plain FLR transfer to payTo with data=topupHandle -> confirm(txHash) -> retry with Bearer"}}]},{"resource":"providers-rewards","priceCredits":2,"description":"Provider reward dataset per chain/epoch","accepts":[{"scheme":"ftsobest-prepaid-router","network":"flare","maxAmountRequired":"0","resource":"https://ftso.app/api/x402/pricing#providers-rewards","description":"Provider reward dataset per chain/epoch — 2 credit(s) per call (prepaid)","mimeType":"application/json","payTo":"0x17b8a1476623e150bd727CB8640bBA743f4CdFdA","asset":"0xc312E2c99477d2396c8722164538C94cf1CB7703","maxTimeoutSeconds":600,"extra":{"settlement":"onchain_router_prepaid","docs":"/x402/docs","chainId":14,"assetSymbol":"FBEST","assetDecimals":18,"bonusBps":1000,"priceCredits":2,"usdPer1000CreditsMicros":"1000000","minTopupCredits":10000,"authEndpoint":"/api/x402/auth/challenge","tokenEndpoint":"/api/x402/auth/token","topupEndpoint":"/api/x402/topup","accountEndpoint":"/api/x402/account","pricingEndpoint":"/api/x402/pricing","flow":"challenge -> token -> topup(authorization, asset optional) -> router.pay(tx) -> confirm(txHash) -> retry with Bearer"}},{"scheme":"ftsobest-prepaid-router","network":"flare","maxAmountRequired":"0","resource":"https://ftso.app/api/x402/pricing#providers-rewards","description":"Provider reward dataset per chain/epoch — 2 credit(s) per call (prepaid)","mimeType":"application/json","payTo":"0x17b8a1476623e150bd727CB8640bBA743f4CdFdA","asset":"0x1D80c49BbBCd1C0911346656B529DF9E5c2F783d","maxTimeoutSeconds":600,"extra":{"settlement":"onchain_router_prepaid","docs":"/x402/docs","chainId":14,"assetSymbol":"WFLR","assetDecimals":18,"bonusBps":0,"priceCredits":2,"usdPer1000CreditsMicros":"1000000","minTopupCredits":10000,"authEndpoint":"/api/x402/auth/challenge","tokenEndpoint":"/api/x402/auth/token","topupEndpoint":"/api/x402/topup","accountEndpoint":"/api/x402/account","pricingEndpoint":"/api/x402/pricing","flow":"challenge -> token -> topup(authorization, asset optional) -> router.pay(tx) -> confirm(txHash) -> retry with Bearer"}},{"scheme":"ftsobest-prepaid-router","network":"flare","maxAmountRequired":"0","resource":"https://ftso.app/api/x402/pricing#providers-rewards","description":"Provider reward dataset per chain/epoch — 2 credit(s) per call (prepaid)","mimeType":"application/json","payTo":"0x17b8a1476623e150bd727CB8640bBA743f4CdFdA","asset":"0xAd552A648C74D49E10027AB8a618A3ad4901c5bE","maxTimeoutSeconds":600,"extra":{"settlement":"onchain_router_prepaid","docs":"/x402/docs","chainId":14,"assetSymbol":"FXRP","assetDecimals":6,"bonusBps":0,"priceCredits":2,"usdPer1000CreditsMicros":"1000000","minTopupCredits":10000,"authEndpoint":"/api/x402/auth/challenge","tokenEndpoint":"/api/x402/auth/token","topupEndpoint":"/api/x402/topup","accountEndpoint":"/api/x402/account","pricingEndpoint":"/api/x402/pricing","flow":"challenge -> token -> topup(authorization, asset optional) -> router.pay(tx) -> confirm(txHash) -> retry with Bearer"}},{"scheme":"ftsobest-prepaid-router","network":"flare","maxAmountRequired":"0","resource":"https://ftso.app/api/x402/pricing#providers-rewards","description":"Provider reward dataset per chain/epoch — 2 credit(s) per call (prepaid)","mimeType":"application/json","payTo":"0x305b8D823E64A763372D9bb62748426E560b4d03","asset":"0x0000000000000000000000000000000000000000","maxTimeoutSeconds":600,"extra":{"settlement":"native_transfer_prepaid","docs":"/x402/docs","chainId":14,"assetSymbol":"FLR","assetDecimals":18,"bonusBps":0,"priceCredits":2,"usdPer1000CreditsMicros":"1000000","minTopupCredits":10000,"authEndpoint":"/api/x402/auth/challenge","tokenEndpoint":"/api/x402/auth/token","topupEndpoint":"/api/x402/topup","accountEndpoint":"/api/x402/account","pricingEndpoint":"/api/x402/pricing","flow":"challenge -> token -> topup(asset:FLR) -> plain FLR transfer to payTo with data=topupHandle -> confirm(txHash) -> retry with Bearer"}}]},{"resource":"ftso-analytics","priceCredits":1,"description":"FTSO feed analytics (board/movers/volatility/overview)","accepts":[{"scheme":"ftsobest-prepaid-router","network":"flare","maxAmountRequired":"0","resource":"https://ftso.app/api/x402/pricing#ftso-analytics","description":"FTSO feed analytics (board/movers/volatility/overview) — 1 credit(s) per call (prepaid)","mimeType":"application/json","payTo":"0x17b8a1476623e150bd727CB8640bBA743f4CdFdA","asset":"0xc312E2c99477d2396c8722164538C94cf1CB7703","maxTimeoutSeconds":600,"extra":{"settlement":"onchain_router_prepaid","docs":"/x402/docs","chainId":14,"assetSymbol":"FBEST","assetDecimals":18,"bonusBps":1000,"priceCredits":1,"usdPer1000CreditsMicros":"1000000","minTopupCredits":10000,"authEndpoint":"/api/x402/auth/challenge","tokenEndpoint":"/api/x402/auth/token","topupEndpoint":"/api/x402/topup","accountEndpoint":"/api/x402/account","pricingEndpoint":"/api/x402/pricing","flow":"challenge -> token -> topup(authorization, asset optional) -> router.pay(tx) -> confirm(txHash) -> retry with Bearer"}},{"scheme":"ftsobest-prepaid-router","network":"flare","maxAmountRequired":"0","resource":"https://ftso.app/api/x402/pricing#ftso-analytics","description":"FTSO feed analytics (board/movers/volatility/overview) — 1 credit(s) per call (prepaid)","mimeType":"application/json","payTo":"0x17b8a1476623e150bd727CB8640bBA743f4CdFdA","asset":"0x1D80c49BbBCd1C0911346656B529DF9E5c2F783d","maxTimeoutSeconds":600,"extra":{"settlement":"onchain_router_prepaid","docs":"/x402/docs","chainId":14,"assetSymbol":"WFLR","assetDecimals":18,"bonusBps":0,"priceCredits":1,"usdPer1000CreditsMicros":"1000000","minTopupCredits":10000,"authEndpoint":"/api/x402/auth/challenge","tokenEndpoint":"/api/x402/auth/token","topupEndpoint":"/api/x402/topup","accountEndpoint":"/api/x402/account","pricingEndpoint":"/api/x402/pricing","flow":"challenge -> token -> topup(authorization, asset optional) -> router.pay(tx) -> confirm(txHash) -> retry with Bearer"}},{"scheme":"ftsobest-prepaid-router","network":"flare","maxAmountRequired":"0","resource":"https://ftso.app/api/x402/pricing#ftso-analytics","description":"FTSO feed analytics (board/movers/volatility/overview) — 1 credit(s) per call (prepaid)","mimeType":"application/json","payTo":"0x17b8a1476623e150bd727CB8640bBA743f4CdFdA","asset":"0xAd552A648C74D49E10027AB8a618A3ad4901c5bE","maxTimeoutSeconds":600,"extra":{"settlement":"onchain_router_prepaid","docs":"/x402/docs","chainId":14,"assetSymbol":"FXRP","assetDecimals":6,"bonusBps":0,"priceCredits":1,"usdPer1000CreditsMicros":"1000000","minTopupCredits":10000,"authEndpoint":"/api/x402/auth/challenge","tokenEndpoint":"/api/x402/auth/token","topupEndpoint":"/api/x402/topup","accountEndpoint":"/api/x402/account","pricingEndpoint":"/api/x402/pricing","flow":"challenge -> token -> topup(authorization, asset optional) -> router.pay(tx) -> confirm(txHash) -> retry with Bearer"}},{"scheme":"ftsobest-prepaid-router","network":"flare","maxAmountRequired":"0","resource":"https://ftso.app/api/x402/pricing#ftso-analytics","description":"FTSO feed analytics (board/movers/volatility/overview) — 1 credit(s) per call (prepaid)","mimeType":"application/json","payTo":"0x305b8D823E64A763372D9bb62748426E560b4d03","asset":"0x0000000000000000000000000000000000000000","maxTimeoutSeconds":600,"extra":{"settlement":"native_transfer_prepaid","docs":"/x402/docs","chainId":14,"assetSymbol":"FLR","assetDecimals":18,"bonusBps":0,"priceCredits":1,"usdPer1000CreditsMicros":"1000000","minTopupCredits":10000,"authEndpoint":"/api/x402/auth/challenge","tokenEndpoint":"/api/x402/auth/token","topupEndpoint":"/api/x402/topup","accountEndpoint":"/api/x402/account","pricingEndpoint":"/api/x402/pricing","flow":"challenge -> token -> topup(asset:FLR) -> plain FLR transfer to payTo with data=topupHandle -> confirm(txHash) -> retry with Bearer"}}]}]}