---
# System prepended metadata

title: HODL Helper

---

# HODL Helper
==Believe in something and just HODL==
![hodl-helper-logo](https://hackmd.io/_uploads/SkLsOt6Wkg.png)


## About
HODL Helper aims to help people lock away tokens they truly believe so they aren't tempted into trading.

One of the best moves people can make when investing is to "buy and hold". This is especially true in the stock market, but I also believe that it can be valid in crypto, even if that hasn't been fully proven yet.

Locking tokens away helps keep people true to the strategy, as humans are easily tempted by charts in general. The goal of this app is to lock tokens away without completely stopping users from accessing the funds in case they need them.

## Protocol
The onchain protocol is built around the concept of a "Lock". A Lock escrows any amount of a single token, along with a user-specified holding period. 

To setup a Lock, a small fee of 0.00069 ETH is charged as part of the transaction. This fee helps fund the development of the app. It's pretty easy for infrastructure for the frontend and backend (planned for future) to need to scale with traffic, which costs money.

You can always add more tokens to an existing Lock, which again incurs the same small transaction fee (0.00069 ETH).

The tokens in a Lock can be withdrawn at any point, however, if withdrawn prior to the holding period ending, a 10% penalty is applied. This penalty is not applied if withdrawing after the holding period ends.

### Sequence Diagram
```sequence
Title: Smart Contract Sequences
Note left of User: User approves 
User -> Token: Approve HODL Helper contract
Token -> User: Transaction success
Note left of User: User configures Lock
User -> HODL Helper: Create Lock
HODL Helper --> Token: Escrow tokens
Token --> HODL Helper: Tokens escrowed
HODL Helper --> Protocol Owner: Transfer fee
HODL Helper -> User: Transaction success
Note left of User: User adds to Lock
User -> HODL Helper: Add to Lock
HODL Helper --> Token: Escrow tokens
Token --> HODL Helper: Tokens escrowed
HODL Helper --> Protocol Owner: Transfer fee
HODL Helper -> User: Transaction success
Note left of User: User withdraws early
User -> HODL Helper: Withdraw tokens
HODL Helper --> Token: Transfer penalty
Token --> Protocol Owner: Penalty tokens sent
HODL Helper --> Token: Transfer remaining
Token --> User: Remaining tokens sent
HODL Helper -> User: Transaction Success
Note left of User: User withdraws after holding
User -> HODL Helper: Withdraw tokens
HODL Helper --> Token: Transfer remaining
Token --> User: Remaining tokens sent
HODL Helper -> User: Transaction Success
```

## dApp
The current dApp is written in NextJS. It's a framework I'm comfortable with and has large support, especially in web3 and it uses React.

It's meant to be a pretty simple MVP. I've built the smart contract to be useable as a simple backend, however, more complex ideas I have like trending tokens will require a backend in the future. For now, that's something I planning on working on, but want to get this out in front of the community to get feedback.

### Design
I'm not a designer, but I'd like to think that I've learned a few things over the last few years of building. This doesn't mean that the design is good, but hopefully it's not bad either. 

In my head, HODL Helper has always been yellow. Not sure why, maybe it's cause I think the logo should be similar to the Walmart smiley face stickers they give out. I'm open to changing this around and would love input from the community.

Please feel free to roast my designs! I need the help :)

## Roadmap
Honestly, I want to build the app out more than the MVP, but it's not on a set timeline and I want to stay open to ideas from the community.

Here's a mindmap of ideas I have for the future of the app that can serve as a good starting point.

```markmap
# HODL Helper
---
## Protocol
### EVM
#### Ethereum
#### Base
#### Arbitrum
#### Optimism
### Solana (future)
---
## Frontend
### NextJS
### Recent Locks feed
### Copy Lock
### Shareable Lock page
### In-app token purchases via DEXs (future)
### Top tokens people are locking away (future)

---
## Backend (future)
### Django REST Framework
### Index Locks for easier querying
### Public API for retreiving indexed data
```