# edgestash: reconstructing Vercel Blob and Upstash Redis API behavior

> edgestash implements a self-hosted server for the Vercel Blob and Upstash Redis REST APIs, allowing their published SDKs to use a different endpoint. The author reports using REA to inspect SDK bundles for headers, error mappings and rate-limit Lua scripts, then documenting behavior in API specs and testing the implementation against Redis and SDK clients.

- Type: Case study
- Targets: Website
- Category: Community REA investigations
- Relationship: Author-reported mixed workflow
- Sources reviewed: 2026-11-07
- Added to the catalog: 2026-11-09
- Original resource: <https://github.com/devtechedge/edgestash>
- Primary source: <https://github.com/devtechedge/edgestash/blob/783df97eec329628ac1976ed83f1429920f2866c/README.md>
- Catalog page: <https://awesomerea.org/resources/edgestash-case/>
- Record JSON: <https://awesomerea.org/resources/edgestash-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/edgestash-case/index.md)

## Requirements & limits

- **Prerequisites:** Node.js 20 or later and pnpm are required for the documented source workflow.
- **Testing evidence:** The author reports 2,381 of 2,381 differential Redis cases matching redis-server 8.0.2.
- **Limits:** The embedded engine is single-node and snapshot-based; some Blob and Redis operations are unimplemented.
- **License:** MIT license.

## Primary sources

1. <https://github.com/devtechedge/edgestash/blob/783df97eec329628ac1976ed83f1429920f2866c/README.md>
2. <https://github.com/devtechedge/edgestash/blob/783df97eec329628ac1976ed83f1429920f2866c/docs/LIMITATIONS.md>

## More in Websites

- [BaoCut Design: porting reconstructed canvas and design-system editors](https://awesomerea.org/resources/baocut-design-canvas-case/index.md) · Case study
- [whatsapp-web-reveng: documenting the legacy WhatsApp Web protocol](https://awesomerea.org/resources/whatsapp-web-reveng-legacy-protocol-case/index.md) · Case study
- [Ruffle: a Rust reimplementation of Adobe Flash Player](https://awesomerea.org/resources/ruffle-flash-player-case/index.md) · Case study
- [Littlebird.ai static home-page rebuild](https://awesomerea.org/resources/littlebird-static-rebuild-case/index.md) · Case study
- [Sheypoor MCP: mapping marketplace APIs from browser traffic](https://awesomerea.org/resources/sheypoor-mcp-case/index.md) · Case study
- [ZCode-Android: reconstructing the ZCode remote-control client](https://awesomerea.org/resources/zcode-android-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
