An onchain cap table implementation combining Solidity smart contracts with an off-chain Node.js API server. Implements the Open Cap Table Coalition (OCF) standard.
Read official docs at https://docs.transferagentprotocol.xyz.
This is a pnpm monorepo:
tap-cap-table/
├── app/ # Next.js frontend
├── server/ # Express API server
├── chain/ # Solidity smart contracts (Foundry)
├── docs/ # Nextra documentation site
└── ocf/ # OCF standard (git submodule)
pnpm install
pnpm setup
cp .env.example .env # Edit with your keys (see below)
pnpm docker:up # Start MongoDB, server, and appThis spins up three services via Docker: Server http://localhost:8293 App http://localhost:3000 MongoDB localhost:27017
Then go read official docs
Environment: Copy
.env.exampleto.envand fill inPRIVATE_KEY,RPC_URL,CHAIN_ID, and theNEXT_PUBLIC_*variables for the frontend. For Plume Mainnet, setCHAIN_ID=98866andRPC_URL=https://rpc.plume.org.
# Docker (runs all services: MongoDB, server, app)
pnpm docker:up # Start all services
pnpm docker:down # Stop all services
pnpm docker:logs # Stream logs
pnpm docker:build # Rebuild and start
# Local development (hot-reload, run instead of Docker server/app)
pnpm dev # API server
pnpm app:dev # Frontend
pnpm docs:dev # Docs siteFor developers using Warp, see WARP.md for AI-assisted development guidance.
We welcome all contributions. Please give a quick read to our CONTRIBUTING guidelines before submitting new PRs!
This project uses a multi-license structure:
- Core Protocol (
chain/): BUSL-1.1 (converts to AGPLv3 on January 1, 2028) - API Server (
server/): AGPL-3.0 - Frontend (
app/): Proprietary - Documentation (
docs/): MIT
For enterprise licensing inquiries, please contact the owner of this repo.