Provides data needed to track yield farming returns in sheets.
______
_.-"` `"-._
.'__ .. ._ . . '.
/ |__ /\ |_)|\/| \
/ | /``\| \| | \
; _ ;
| |_| /\ |\ || \ |
| _. | |/``\| \||_/ |
; /__`A ,_ ;
\ |= |;._.}{__ /
_.-""-|.' # '. ` `.-"{}<._
/ 1938 \ \ x `"
----/ \_.-'|--X----
-=_ | | |- X. =_
- __ |_________|_.-'|_X-X##
jgs `'-._|_|;:;_.-'` '::. `"-
.:;. .:. ::. '::.
Add farmhand.gs
to a sheet using tools -> script editor. Use FHPRICE
, FHCHANGE
, FHCOINS
to get coin data.
- Simple APY is an extrapolation of earnings since start. In other words, take the value at t=0, take the value at t=now, and draw a line through both points to t=1y. We probably get a more accurate prediction by including data of each days value, i.e. a trend line.
- We use
/coins/list
to figure out CoinGecko coin IDs. - We use
/simple/price
to get a token price. - We use
/coins/{id}/market_chart
to get percent changes in price over arbitrary periods.
We'd like to not hit the CoinGecko API for every requested price. We therefore implement the following caching strategies.
- The full list of tickers is cached for 4 hours.
- A simple price is cached for 60 minutes.
- A historic price is cached indefinitely, meaning for a given day in the past, the same price change is returned until a new day begins.