Nnotch
AppDocs
Open app
NOTCH PROTOCOL / DOCUMENTATION

Stake. Earn.
Choose your next move.

Notch connects two actions: stake to earn supported stock-token rewards, then keep those rewards or use a chosen amount in a verified double-or-nothing round.

Robinhood Chain readySolidity 0.8.2430% staker allocation
01

Staking

Users approve the staking token once, choose an amount, and call stake. The contract records the amount actually received, so fee-on-transfer behavior cannot inflate a position.

1ConnectAuthenticate a wallet and switch to the configured chain.
2Approve + stakePrincipal moves into the staking contract.
3Exit anytimeUnstaking remains available even while new deposits are paused.
Principal protection

Tracked stake is reserved by the contract and cannot be recovered through the excess-token admin function.

02

Reward distribution

Authorized distributors fund supported RWA reward tokens. The configured staker share is distributed pro rata using accumulated reward-per-share accounting. The current launch setting directs 30% to stakers and can be changed by the configuration role for future funding rounds.

Distribution model
staker reward = funded amount × configured staker share
user reward   = staker reward × user stake / total stake

Changing the share does not rewrite rewards already accrued. Rounding dust stays reserved until it can be distributed or claimed.

03

Double or nothing

Flipping is optional. A player chooses heads or tails and wagers an enabled reward token within its configured limits. The contract transfers only that wager and locks enough bankroll for the maximum 2× payout before requesting randomness.

INPUT

Your chosen reward amount

The rest of the wallet balance and all staked principal remain outside the round.

OUTPUT

0× or 2× the wager

A win creates a claimable balance. A loss closes the round without touching other rewards.

04

Verified settlement

Each round requests randomness through the configured Quiver coordinator and provider. Only the coordinator callback can settle a pending bet. The result bit maps to heads or tails, and duplicate callbacks cannot settle a round twice.

  1. Bet placedWager transferred, payout locked, request sequence stored.
  2. Randomness deliveredCoordinator callback resolves the side and releases the payout lock.
  3. Claim or recoverWins become claimable. A timed-out request can be retried or refunded after the configured window.
05

Safety model

Solvency first

Available bankroll excludes locked payouts and all existing claims.

Role separation

Configuration, pausing, and reward distribution use explicit access-control roles.

Safe exits

Pausing blocks new risk while unstaking and claims remain available.

Reentrancy guards

Every token-moving user and operator path is guarded.

06

Admin controls

StakingSet the future staker share, add reward tokens, apply treasury policy, pause deposits, and recover only excess assets.
FlippingEnable tokens, set wager limits, fund or withdraw available bankroll, set timeout, and pause new rounds.
UsersStake, unstake, claim rewards, place rounds, retry delivery, refund expired rounds, and claim winnings.
07

Launch setup

The build is prepared for Robinhood Chain mainnet and testnet. Final deployment needs the token contract address, developer wallet address, and deployer key supplied through local environment variables.

Required local environment
NOTCH_TOKEN_ADDRESS=0x...
DEV_WALLET=0x...
DEPLOYER_PRIVATE_KEY=0x...