Deposit and cash out
Two transactions in, one transaction out, at the price on chain when you sign.
Before you start
You need a browser wallet that can connect to Robinhood Chain (chain ID 4663), USDG on that chain, and a small amount of ETH on that chain for gas. When you connect, the site asks your wallet to switch to Robinhood Chain and offers to add the network if your wallet does not know it.
Deposits are open. The vault page connects your wallet, quotes the deposit from the contract, and asks you to approve and then deposit.
Depositing
- Enter an amount of USDG. The site shows how much vRENT it buys, using
previewDepositon the vault at the current price. - Approve. Your wallet asks you to let the vault take that exact amount of USDG. The site never requests an unlimited approval.
- Deposit. A second transaction calls
deposit(amount, you). The vault takes the USDG and mints vRENT to your address at the current price.
The site sets a minimum deposit of 100 USDG. The minimum is a rule of the site: the contract itself accepts smaller amounts, and someone calling it from another interface can deposit less.
Deposit cap and pause
The vault has a deposit cap in USDG. The cap is compared with everything the vault holds, so settled rent and token fees use up room under it along with deposits. The owner can also pause deposits.
Both limits surface through the standard ERC-4626 functions. While deposits are paused, or once the vault holds as much as the cap, maxDeposit and maxMint return 0. Otherwise maxDeposit returns the room left under the cap. A deposit larger than maxDeposit reverts with ERC4626ExceededMaxDeposit, and a mint larger than maxMint reverts with ERC4626ExceededMaxMint. The site reads the cap, the pause flag and maxDeposit, and tells you when the vault is full or paused.
Neither limit touches vRENT you already hold. Lowering the cap below the vault's current holdings stops new deposits and changes nothing else.
Cashing out
Cashing out is one transaction: redeem(shares, you, you). It burns the vRENT you name and sends you its USDG value at the current price. You need no approval, because you are redeeming your own shares. The site quotes the USDG you will receive with previewRedeem before you sign.
There is no exit fee, notice period or queue. The vault holds nothing but USDG, so it can pay every holder at once. ERC-4626 rounds in the vault's favour, so a cash-out can pay up to 0.000001 USDG less than the exact value.
Redemption cannot be paused. The pause switch blocks deposit and mint and nothing else: redeem, withdraw, vRENT transfers and rent settlement all keep working while deposits are paused.
What the owner key can and cannot do
Both contracts have an owner. The table lists every power the owner has, and the powers the contracts were built without.
| Action | Owner | Detail |
|---|---|---|
| Pause and unpause deposits | Can | pause() and unpause(). Redemption is unaffected. |
| Change the deposit cap | Can | setCap(uint256). Existing holders are unaffected. |
| Transfer ownership | Can, in two steps | The owner calls transferOwnership. Nothing changes until the new owner calls acceptOwnership. |
| Publish a Roll | Can | publish on the RollRegistry, numbered in strict sequence. |
| Withdraw or sweep vault USDG | Cannot | No such function exists. USDG leaves only through redeem or withdraw by a holder. |
| Freeze, burn or move a holder's vRENT | Cannot | No such function exists. |
| Blocklist an address | Cannot | No such function exists. |
| Pause redemptions | Cannot | The pause covers deposits and mints only. |
| Edit or delete a published Roll | Cannot | The registry has no update or delete function. Corrections come as a later Roll. |
| Renounce ownership | Cannot | renounceOwnership() reverts on purpose. Without an owner, the cap and the pause switch would be frozen forever. |
Gas
Every transaction pays gas in ETH on Robinhood Chain. A deposit takes two transactions (approve, then deposit) and a cash-out takes one. Without ETH on Robinhood Chain your wallet cannot send either, so add a little before you start.
About USDG
USDG is an upgradeable, pausable token controlled by its issuer. If the issuer pauses USDG or changes its code, USDG transfers can stop or change how they work, and that includes the payout when you cash out. Rentday's promise that redemption is never paused covers Rentday's contract only.
The address and decimals of USDG are on Chain and addresses. The wider risk is described on Risks.