Recently I have properly calculated and updated the [README "Cost estimates" section for the Lake Framework project](https://github.com/near/near-lake-framework-rs). And thought it might be a great chance to share this here as well. ## Lake-indexer ecosystem cost estimates (Updated Mar 10, 2023 with more precise calculations) **TL;DR** approximately $20 per month (for AWS S3 access, paid directly to AWS) for the reading of fresh blocks ### Historical indexing | Blocks | GET | LIST | Subtotal GET | Subtotal LIST | Total $ | |---|---|---|---|---|---| | 1000 | 5000 | 4 | 0.00215 | 0.0000216 | $0.00 | | 86,400 | 432000 | 345.6 | 0.18576 | 0.00186624 | $0.19 | | 2,592,000 | 12960000 | 10368 | 5.5728 | 0.0559872 | $5.63 | | 77,021,059 | 385105295 | 308084.236 | 165.5952769 | 1.663654874 | $167.26 | **Note:** ~77m of blocks is the number of blocks on the moment I was calculating. **84,400 blocks is approximate number of blocks per day** (1 block per second * 60 seconds * 60 minutes * 24 hours) **2,592,000 blocks is approximate number of blocks per months** (86,400 blocks per day * 30 days) ### Tip of the network indexing | Blocks | GET | LIST | Subtotal GET | Subtotal LIST | Total $ | |---|---|---|---|---|---| | 1000 | 5000 | 1000 | 0.00215 | 0.0054 | $0.01 | | 86,400 | 432000 | 86,400 | 0.18576 | 0.46656 | $0.65 | | 2,592,000 | 12960000 | 2,592,000 | 5.5728 | 13.9968 | $19.57 | | 77,021,059 | 385105295 | 77,021,059 | 165.5952769 | 415.9137186 | $581.51 | Explanation: Assuming NEAR Protocol produces accurately 1 block per second (which is really not, the average block production time is 1.3s). A full day consists of 86400 seconds, that's the max number of blocks that can be produced. According to the [Amazon S3 prices](https://aws.amazon.com/s3/pricing/?nc1=h_ls) `list` requests are charged for $0.0054 per 1000 requests and `get` is charged $0.00043 per 1000 requests. Calculations (assuming we are following the tip of the network all the time): ``` 86400 blocks per day * 5 requests for each block / 1000 requests * $0.0004 per 1k requests = $0.19 * 30 days = $5.7 ``` **Note:** 5 requests for each block means we have 4 shards (1 file for common block data and 4 separate files for each shard) And a number of `list` requests we need to perform for 30 days: ``` 86400 blocks per day / 1000 requests * $0.005 per 1k list requests = $0.47 * 30 days = $14.1 $5.7 + $14.1 = $19.8 ``` The price depends on the number of shards. --- You might have noticed that the Historical indexing process does fewer `LIST` requests to AWS than the Tip of the network indexing. In the comments let me know if you me to explain the reasoning behind this.