Testnet troubleshooting¶
This page lists the common problems in the testnet app (https://putgo.fi/app/) as symptom → cause → what to do. The full walkthrough is in the Testnet guide.
Three things to do first¶
Most problems can be pinned down with these three steps:
- Look at the network indicator at the top of the page. It shows which chain your wallet is connected to. If it is not Robinhood Chain Testnet (chain id 46630), switch first.
- Refresh the page. The page reads its data from a public RPC, and when the RPC is busy the numbers lag.
- Open the activity drawer. Your last 50 transactions are there, each with a status and a block-explorer link. Whether a transaction succeeded, failed or never went out is decided by what you see here.
Connection and network¶
The page asks you to switch network¶
Cause: the wallet is connected to a chain other than Robinhood Chain Testnet.
What to do: click "Switch to Robinhood Chain Testnet". If the network is not in the wallet, it offers to add it; confirm. If your wallet cannot add networks automatically, enter these by hand:
| Item | Value |
|---|---|
| Network name | Robinhood Chain Testnet |
| Chain ID | 46630 |
| RPC | https://rpc.testnet.chain.robinhood.com |
| Currency symbol | ETH |
| Block explorer | https://explorer.testnet.chain.robinhood.com |
The wallet already has chain id 46630, but the page says it cannot see the market¶
Cause: the wallet's entry for 46630 uses a different RPC address, which may lag or point at a different set of nodes, so the wallet cannot read the market contract.
What to do: in the wallet's network settings, find the entry with chain id 46630 and change its RPC to https://rpc.testnet.chain.robinhood.com (the page's "Network details" shows this address), save, and refresh the page. Do not create a second entry with the same chain id; most wallets do not allow it.
Cannot connect a wallet on a phone¶
Cause: a phone browser generally cannot talk to a wallet app directly.
What to do: open https://putgo.fi/app/ inside the wallet app's built-in browser.
Fees and tokens¶
ETH balance is 0 and the buttons are unavailable¶
Cause: every transaction pays its fee in test ETH, and a fresh address has none.
What to do: open https://faucet.testnet.chain.robinhood.com/, pass the human check and sign in with a Google account; a small amount of test ETH arrives in about a minute, and the page refreshes on its own. If it is still 0 after a few minutes, check whether the faucet page shows an error, or request again a little later.
The wallet does not show test TSLA / USDG¶
Cause: wallets do not display tokens that have not been imported. The balances on the page are read straight from the chain and do not depend on what the wallet shows.
What to do: use the "add to wallet" button on the page, or import by hand:
| Token | Address | Decimals |
|---|---|---|
| Test TSLA | 0x4B0E9B2f3747fb9D11CeA2Cb3518365D16E809e4 |
18 |
| Test USDG | 0x42fa9A8085c0bc633Afa4e19a1f491db9a4dC0fE |
6 |
TSLA / USDG from the faucet does not appear on the page¶
Cause: the demo uses mock tokens deployed by PUTGO, not the official test tokens handed out by the Robinhood faucet. The addresses differ and the two are not interchangeable.
What to do: click "Mint 100 test TSLA" and "Mint 100,000 test USDG" on the page. Minting has no limit.
When buying protection¶
The button says the price is stale¶
Cause: buying requires the official price to have been updated within the allowed freshness window (see Markets and parameters). The testnet price is written by an automated updater run by the PUTGO team, about every two minutes; occasionally it falls behind the window.
What to do: wait about two minutes; the page refreshes the price and its update time on its own. If the price is still stale after ten minutes, the updater has stopped; report it as described at the end of this page.
The button says the amount is below the minimum purchase¶
Cause: each purchase has a lower bound on notional value (deposited amount × current price), given on Markets and parameters. The page converts that bound into an amount of TSLA at the current price and shows it.
What to do: increase the amount, or click "Use minimum" to fill in the smallest allowed value. Deposits on the Earn panel have the same lower bound.
The button says the pool can protect at most a certain amount¶
Cause: the Money Pool's unreserved USDG is not enough to reserve the floor for the amount you entered. Protection is always for the full amount; you are never given a proportional part.
What to do: reduce the amount to within the remaining capacity shown ("Use room" fills it in), or wait for other protections to expire or exit and free up capacity, or deposit USDG yourself on the Earn panel to enlarge it.
The button says purchases are paused¶
Cause: the operator account has paused new purchases. During the demo this is done while deploying, upgrading or handling an incident.
What to do: wait for it to resume. A pause affects new purchases only: existing positions settle as usual, and early exit, withdrawal and claiming are unaffected. Resumption is announced on X at @Putgofi.
The rate in the quote differs from the rate on the confirmation card¶
Cause: the premium rate is set by utilization, and between the quote and your confirmation, other people's purchases, exits or withdrawals change utilization. The page re-quotes before you confirm.
What to do: this is normal. The figures on the confirmation card are the ones used onchain. "Max rate you accept" is a ceiling set automatically slightly above the quote: if the rate goes above it, the transaction fails instead of going through at the higher rate.
Transactions¶
You cancelled the transaction in the wallet¶
Cause: you pressed reject in the wallet pop-up or closed it. The transaction was never sent; nothing happened onchain.
What to do: simply start again. Note that buying protection and depositing USDG each take two signatures: approve first, then buy or deposit.
The transaction reverted onchain¶
Cause: the transaction was sent and then rejected by the contract. Common cases: the price or rate changed between quote and execution and the rate went above the ceiling on the confirmation card; someone else used up the remaining capacity first; the official price became stale in the meantime; the approved allowance was not enough.
What to do: refresh the page, get a fresh quote, and try again. The activity drawer has a block-explorer link that shows the exact reason for the failure. The fee has been spent, but your tokens were not taken.
The transaction has been pending for a long time¶
Cause: slow block production on the testnet, a busy RPC, or a fee set too low by the wallet.
What to do: wait a few minutes first; the page keeps polling for the receipt. After ten minutes, open the explorer link in the activity drawer to see whether it has landed; if it has not, use your wallet's "speed up" or "cancel" function on that transaction. Do not send the same action again while it is pending.
Page data¶
The page shows old numbers; balances or positions have not updated¶
Cause: the page reads from a public RPC, and when the RPC is busy or briefly unavailable the numbers lag. An RPC error notice may appear at the top of the page at the same time.
What to do: refresh the page. If the notice persists, wait a few minutes and try again; funds and positions onchain do not change because the page cannot read them.
The quote keeps showing loading¶
Cause: the page is waiting for the market configuration, the price or the chain clock, usually because the RPC is slow.
What to do: wait a few seconds; if that does not help, refresh. Make sure the network indicator shows Robinhood Chain Testnet.
Positions and settlement¶
A position stays on "Awaiting price"¶
Cause: after 12:00 UTC on the expiry day, the settlement price has to be recorded onchain by the operator account. That usually takes minutes, but occasionally it is late.
What to do: wait. Nothing is lost: the position stays in force, the reserved USDG stays locked, and once the price is recorded you can settle and claim at any time. If it is still not recorded after a day, report it as described at the end of this page.
The position has expired but there is no settle button¶
Cause: the settlement price has not been recorded yet (see above), or the page data is lagging.
What to do: refresh the page. "Settle and book payout" appears only after the position card shows the settlement price.
Nothing under "Ready to claim" after settling¶
Cause: settling and claiming are two transactions. "Settle and book payout" only books the result; "Claim" is what moves the funds to your wallet. While the settlement transaction is still pending, the page does not yet show a claimable amount.
What to do: confirm in the activity drawer that the settlement transaction succeeded, refresh the page, then click "Claim".
Claimable income on the Earn panel stays at 0¶
Cause: on the testnet, premium is credited to the pool once a day at 12:00 UTC, per position, not second by second. When someone has just bought protection, your claimable premium appears at the next settlement time. There is also no premium while the pool has no live protection.
What to do: refresh after the next 12:00 UTC.
You can withdraw less than you deposited¶
Cause: only the unreserved part of the pool can be withdrawn. USDG backing live protection cannot be taken until those protections expire or exit. In addition, if a protection has been delivered, the pool paid out USDG and received TSLA, so your USDG share fell accordingly, and the TSLA received in exchange is collected under "Claimable income" (it is the converted part of your USDG, not income).
What to do: take the amount shown under "Withdrawable now" first, and the rest after the protections expire.
Reporting a problem¶
If none of the above solves it, contact @Putgofi on X with:
- your wallet address;
- the hash of the relevant transaction from the activity drawer;
- the time it happened (with your time zone);
- the reason text shown under the button, or a screenshot.
The demo's contract addresses are in the Testnet guide. All test tokens have no value; do not send real assets to any testnet address.