xpr-cloud-bot Testnet

When something is wrong

Four states a vault can be in that are not “fine”. In every one of them the answer to “what do I need to do?” is the same, and the page says it out loud: nothing, your money has not moved.

Paused

paused

You pressed Pause.

This vault is paused
The contract refuses every trade while it is paused. Your tokens are exactly where they were and you can take them out at any time with one signature. Resume it whenever you like, with one signature from your wallet.
Paused. Nothing can trade.
Signed by paul as a plain action. It does not go through us and it works if every server of ours is down.

Pause is deliberately lopsided: one of your signatures stops it, two are needed to start it. Tightening is always easier than loosening.

Not enough price providers

below quorum

Fewer providers are reporting than your vault requires, or the newest price is too old.

The price feed is below your quorum
Only 2 of 3 providers are reporting. Until that recovers, the contract itself refuses every trade — this is a fence doing its job, not an outage on your side. Nothing is at risk and nothing needs you.
Healthy, for comparison
5 of 3 needed — newest reading 8s old, you allow 120s
Each provider, and how old its last point is
providerpriceage
e.oracles0.002460008s
g.oracles0.0024478010s
c.oracles0.0024371017s
d.oracles0.0024509021s
a.oracles0.0024612046s

Aggregate is 0.00245660000 USD, the mean-median the oracles contract publishes for feed 3. A provider counts as live when its newest point is under 120 seconds old, measured against the chain’s head block time rather than your computer’s clock.

Below quorum
2 of 3 needed — newest reading 14s old, you allow 120s

Below your quorum, the contract refuses every trade. Your money is untouched and the bot simply waits.

Each provider, and how old its last point is
providerpriceage
e.oracles0.0024600014s
g.oracles0.0024478061s
c.oracles0.00243710402s
d.oracles0.00245090908s
a.oracles0.002461203311s

Aggregate is 0.00245660000 USD, the mean-median the oracles contract publishes for feed 3. A provider counts as live when its newest point is under 120 seconds old, measured against the chain’s head block time rather than your computer’s clock.

The exchange is outside your band

buys cannot fill

The exchange is trading far enough from the chain's price feed that one side of your band is unreachable. On XPR/XMD this is the normal state, not a rare one.

Buys cannot fill at the moment
The exchange last traded at 0.003920 and your ceiling is 0.002530. The bot will skip the tick rather than pay over your band. Sells are unaffected.
Both sides can fill

Both sides can fill at the moment. The bot may only set a limit further inside this band, never outside it.

The exchange has run away upward

A buy cannot fill right now: the exchange is asking 0.003920 and your ceiling is 0.002530. The bot will skip the tick rather than pay more.

This is the cost of measuring against the feed rather than against the exchange. We would rather a strategy skip a tick than buy above the price the chain can prove.

Creation stopped part way

half built

The account exists, the rest did not land. The chain cannot create an account and let it act in one transaction, so there is always a seam where this can happen.

It stopped part way, and that is recoverable

Your vault account exists but is not finished. Creation takes two transactions, and the second one did not land.

Nothing of yours is in it. The vault is empty until you fund it, which happens after the prove-it check.

Stopped. Nothing of yours is at risk.4 of 7 on chain
Your transferlandedsigned by you, in your wallet
  1. Your payment arrived
    Done.
    The chain actions behind this step
    transfer → treasury
  2. Your payment is final
    Done.
    The chain actions behind this step
    last_irreversible_block ≥ payment block
Transaction 1 of 2landedsigned by our creator account
  1. Your vault account exists
    Done.
    The chain actions behind this step
    eosio::newaccount
    eosio::buyrambytes
A gap you can stop in

The account now exists but is not set up. The chain checks every signature before it runs anything, so a brand-new account cannot act in the transaction that created it. Creation is always two transactions, and this is the seam between them.

Nothing of yours is in it, and nothing can be until you fund it.

Transaction 2 of 2in progresssigned through the vault, ending with us removed
  1. The contract is on it
    Done.
    The chain actions behind this step
    eosio::setcode
    eosio::setabi
  2. Your fences are written in
    The node did not accept the transaction. Nothing was charged for it.
    The chain actions behind this step
    init
    settoken ×2
    setmarket
    setglobal
  3. The bot gets its one door
    Not started.
    The chain actions behind this step
    eosio::updateauth
    eosio::linkauth
  4. We let go
    Not started.
    The chain actions behind this step
    eosio::updateauth vault@active