Sitowise
Resources

Risks

Read this before you spend anything. It is the complete list of ways this can go badly for you, written plainly, including the parts that are inconvenient to say.

1. Rewards are funded by Sitowise during the launch period

Sitowise is a genuine Uniswap v4 hook, and that code is written and deployable. But a v4 pool fixes its hook at initialisation and a hook cannot be attached to pools that already exist. Until Sitowise creates pools that name the hook and those pools carry real volume, the hook earns nothing.

So the value credited to nodes today comes from Sitowise, not from swap flow. It is discretionary. It can be reduced without notice, paused, or stopped permanently. Nothing in the contract compels anyone to credit anything to any node, ever.

Every round records its funding mode, and that field is public in GET /api/distributions. You can check for yourself which source has been funding rounds.

2. This is not a yield, an investment, or a return

A node is not a deposit, a security, a share of a fund, or a claim on any pool of assets. Nothing accrues at a rate. Sitowise publishes no APR, no projection and no payback period, because any such figure would be invented.

Historical figures on this site, including the charts, describe what has already happened. They are not a forecast, and past rounds do not entitle you to future ones. If you are buying a node expecting a specific return, you have misunderstood what it is, and you should not buy one.

3. The purchase is final

The 0.02 ETH is a plain transfer to the payments wallet, which is an ordinary account Sitowise controls. It is not escrowed, not held on your behalf, not refundable, and not recoverable by retiring the node or by any other action. There is no cancellation window and no function that could reverse it, because the contract never receives that money in the first place.

A node also cannot be sold or transferred, so there is no exit other than withdrawing whatever has been credited to it. You may withdraw less in total than you paid. That is a realistic outcome, not a remote one.

4. A balance is real ETH, and that is a smaller promise than it sounds

A credit is a payable call: creditBatch reverts unless the ETH sent with it equals the amounts being credited, so a balance cannot exist without the money behind it, and no withdrawal can fail for want of liquidity. You can check this without asking anyone. outstanding() is the sum of every node balance and isSolvent() returns whether the contract still covers it. Both are public views.

That removes one risk and leaves the larger one untouched. Nothing obliges anyone to credit your node anything, ever. The danger is not that a balance you hold evaporates, it is that no balance appears in the first place, or that credits stop after a few rounds. A backed balance of zero is still zero.

The whole balance moves at once, to an address you name, and the transfer is a raw call. A destination that rejects ETH makes the transaction revert with TransferFailed, which costs gas and changes nothing else.

5. The code is not audited

No third party has reviewed this contract. There are 112 passing tests including fuzzed invariants, which demonstrates that the paths the author thought of behave as intended and says nothing about the paths they did not. A fault in a contract holding ETH can mean the loss of that ETH, and this one holds every node balance.

The contract is small, public and verified on the explorer. Review it yourself or assume the risk; see Audits.

6. Operator discretion and centralisation

This is not a decentralised protocol and does not claim to be. One party runs the ledger, decides what is credited, and holds the owner, relayer and distributor keys.

The operator canThe operator cannot
Decide what, if anything, is credited to nodesTake a node from you, or move it
Retire a node, excluding it from future roundsReduce a node’s balance, or either of its running totals
Pause new mintsPause or block a withdrawal
Change the relayer and the distributorWithdraw from a node it does not own
Change the per-wallet cap, up to a hard ceiling of 100Raise that cap past the ceiling, which is a constant
Remove contract funds that back no node, through rescueRemove any ETH that backs a node balance
Change the price and the payments wallet, both of which live off chainCharge you anything at withdrawal time, or take a cut of one
Stop operating entirelyUpgrade or replace the deployed contract

The full analysis, including what each limit is enforced by, is on Security model.

7. Operator keys live on a server

Two keys sit on the application server because they have to send transactions unattended. Neither of them, and no key at all, can withdraw from a node: only the node’s own owner can, and the contract checks msg.sender against nothing else. What a leak costs is still worth stating exactly.

  • The relayer may call mintFor and nothing else. Stolen, it mints nodes to addresses that never paid, and burns whatever gas the key holds. That dilutes future rounds and costs Sitowise money; it does not touch anything you hold.
  • The distributor may call creditBatch and nothing else. Because that call is payable and has to carry the ETH being credited, the key holds the payout float. Stolen, that float is gone, and rounds stop until it is replaced. Only a few days of runway is meant to sit on it, but that is an operating practice, not something the contract enforces.
  • The owner key is the cold deployer key and is meant to stay off the server. It can pause new mints, change the relayer and the distributor, change the per-wallet cap, and call rescue for at most freeBalance(). Stolen, it can halt sales and take unattached funds. It cannot reach a node balance, cannot block a withdrawal, and cannot change the code. Ownership transfer is two-step, so it also cannot be handed away by a typo.

8. Payment happens off chain, and mistakes there are unrecoverable

You buy a node by sending ETH to an ordinary wallet. No contract validates that transfer, so nothing about it can revert, and nothing about it can be undone.

  • Send to the wrong address and the money is simply gone. There is no contract holding it, nobody who can reverse it, and no support process that can recover it. Take the payments address from Addresses, never from a message.
  • Send the wrong amount and no node is minted. The transfer is held for manual review and needs a person to sort out.
  • A payment can be seen and still not minted, if the relayer is out of gas, the contract is paused, or the process is down. Your payment hash is the only reference for putting that right, so keep it.
  • The node is minted to whichever address sent the ETH. Pay from an exchange and the node belongs to the exchange, permanently and irrecoverably.

9. Dependency on Sitowise continuing to operate

Withdrawal survives Sitowise disappearing. It needs no server, no signature and no permission, and the contract is verified on the explorer, so any node owner can call withdraw or withdrawAll for whatever balance they already hold without this site existing.

Everything else stops. Only the distributor can call creditBatch, so nothing new is ever credited to any node. Only the relayer can call mintFor, so payments already sent but not yet minted would need a human who is no longer there. This site, the API and the dashboard are conveniences; balances, ownership and the running totals are on chain and readable without any of them.

10. Chain and infrastructure risk

  • Everything runs on Robinhood Chain, chain id 4663. Downtime, congestion, reorganisation or a change in the network affects Sitowise directly.
  • The RPC endpoint, the explorer and this site are third-party or hosted services and can be unavailable.
  • The hook depends on Uniswap v4 contracts on that chain. A problem in the PoolManager would affect accrual.
  • Gas prices are outside anyone’s control, and you pay gas for your payment and for every withdrawal.

11. Mistakes you can make that nobody can undo

  • Losing the wallet. Nodes cannot be reassigned, so losing the key loses the node permanently.
  • Paying from an address you do not control. The node is minted to whichever address the ETH came from, and it can never be moved to you afterwards.
  • Withdrawing to the wrong address. You choose the destination and the transfer is final. Nobody checks it for you and there is no reversal.
  • Withdrawing to a contract that cannot receive ETH. The transaction reverts, which costs gas.
  • Signing something else. Sitowise never asks for a seed phrase or a private key, never asks you to send ETH anywhere except the payments wallet printed on Addresses, never asks you to pay to unlock a balance, and never sells nodes second-hand, because they cannot be transferred. Anyone offering otherwise is impersonating this project.

Nothing on this site is financial, legal or tax advice, and nobody here is licensed to give any. How a node and its payouts are treated where you live is your responsibility to determine, and the answer may be unfavourable. Access may be restricted or unlawful in some jurisdictions. There is no consumer protection, no deposit insurance and no recourse if any of the above goes wrong.

In one line