Announcing our upcoming $40,000 Hackathon

Strips Finance (now RabbitX)
5 min readNov 25, 2021

Calling all hackers and innovators. We are pleased to announce our first STRIPS hackathon for developers to try out and test the robustness of our protocol to attacks. With $40,000 up for grabs, will you emerge as a winner? At STRIPS, we have always been striving to continue to push the boundaries and redefine.

STRIPS Contest Details

  1. $40,000 USDC main award pot
  2. Read our guidelines for more details
  3. Starts: 1 December 12:00pm UTC
  4. Ends: 12 December 12:00pm UTC

Introduction

Whitepaper

STRIPS allows traders to easily trade interest rates in DeFi. Traders on STRIPS can go long or short interest rates across a variety of interest rate protocols. STRIPS uses a virtual automated market maker (vAMM) model for liquidity.

In finance, interest rate swaps account for $400 trillion of daily traded volume, which represents over 80% of the world’s total derivatives volume. Interest rates touch on nearly every financial product in traditional markets, but unlike traditional finance, the tools to wield them in decentralised finance (DeFi) have yet to be developed or meaningfully deployed in the market.

STRIPS aims to solve this by allowing traders to easily trade interest rates using a derivative instrument called an interest rate swap. Interest rate swaps pay the difference between a floating rate and a fixed rate and allow traders to express directional views on interest rates in a flexible, capital-efficient way. Interest rate swaps are a tool for traders to express directional views in both bull and bear markets. STRIPS will be looking to launch on Arbitrum.

Key Features

The following are the key features of STRIPS:

  1. Users can long or short an interest rate market using leverage. Position collateral is in USDC.
  2. Users position pnl consists of funding pnl and trading pnl in USDC.

Funding Pnl is calculated as follows (for longs):

Trade Pnl is calculated as follows (for longs):

  1. Users can add collateral and remove collateral from their open positions above the liquidation threshold.
  2. Positions are netted for the same market. (i.e. if a trader goes long $100 and then goes short $200, his position will be -$100)
  3. Users can earn LP tokens + (USDC trading profits and fees) by staking in the AMM
  4. Users can earn LP tokens + (USDC liquidation profits by staking) in the insurance fund
  5. Users can stake STRP in governance contract and earn 20% trading fees for the whole protocol
  6. Traders and stakers can earn additional STRP rewards from trading and staking
  7. Liquidators can call function to liquidate positions with collateral and unrealized loss together is less than 3.5% of notional, and share 0.2% of liquidation profit

Contracts

link to github with all of the information necessary for the hackathon will be released on 1st December.

🔍 Scope

link to github with all of the information necessary for the hackathon will be released on 1st December.

All contracts below are deployed on arbitrum network.

STRP — major Strips ERC-20 token, deployed on ethereum network.

STRP-USDC sushi LP token — this token used by strips protocol for staking. There is special STRP-USDC sushi pool on arbitrum. If a staker wants to stake to Market or Insurance the chain will look like this:

  • Buy STRP on ethereum.
  • Bridge STRP and USDC to arbitrum
  • Stake STRP-USDC to sushi pool on arbitrum and get back LP token
  • Now staker can use LP token to stake to Market or Insurance contracts.

Dao — this is a multisig wallet contract that owns all the assets above. (not on a diagram)

SLPToken — each market tracks stake profit through this contract. SLPToken is created each time Dao creates the new market. SLPToken is owned by the market. (not on a diagram)

Rewarder — similar to SLPToken (also 1–1 to market, and owned by market), but keeps track of staker/trader STRP rewards. (not on a diagram)

SushiLpOracle — contract that keeps track of sushi LP price.

Strips — it’s the main contract (only one), you can think about it as a clearing house. Strips is the major contract which traders interact with if they want to trade on the market.

InsuranceFund — the contract that keeps the insurance funds (only one contract for all markets). If any market can’t pay profit to traders it borrows money from Insurance.

IrsMarket — the contract that represents the market, keeps staker funds and profit. Staker interact directly with the IrsMarket contract for stake/unstake operation.

AssetOracle — the contract that keeps track of underlying assets for the market. One per market.

Libraries:

Architecture of the strips protocol is built such that all logic is encapsulated in libraries, where main contracts make delegatecalls to and send pointers to their storage.

StakingImpl — library that implements staking/unstaking functionality. IrsMarket contracts and InsuranceFund contract make delegatecall to this library when staker wants to stake. Also this library can burn LP tokens in sushi pool if there is not rough liquidity for market/insurance.

TradeImpl — library that implements trading operations. When trader communicate with Strips to make a trade on any market, Strips delegatecall to TradeImpl for executing trading logic.

StripsViewImpl — Getters for real-time data operations, like pnl calculator for positions and other.

StripsAdminImpl — Strips’ admin functions

Rewards

The rewards will be given on a pro-rata basis based on the severity of the hack and the number of duplicate reports.

Rewards will be given out pro-rata according to a points formula:

Points = Severity * (0.8^Report Counts) / Report Counts
Reward = Pot size * Points / Total Points

Criteria

  • If you can find anything similarly severe which is not mentioned in examples: your severity score will be 10/10
  • If you can achieve anything mentioned in hacking examples: you will get severity score 8/10
  • If you can find technical issues such as overflow and underflow: your severity score is likely to be 5/10
  • If you can find minor issues such as missing modifier: your severity score 2/10

Strips will remain the authority to assign the severity score and categorize similar findings into same report counts. We ensure to be 100% unbiased when we review your reports.

Important:

➡️ Following the official start on 1st December, we will release the github repo with all the necessary code and scripts for the hackathon, along with examples.

➡️ Turn in your reports before the contest end time 12 December.

➡️ Publicly disclosing any discovered bugs or vulnerabilities is grounds for disqualification.

STRIPS is currently hiring for several roles. Interested applicants can email their resume and cover letters to jobs@strips.finance.

To learn more please visit the project’s website at https://strips.finance/ or follow the project on

Twitter | Telegram | Discord

--

--