Platform · Docs · Provider setup · Renter app
DCP is a full-stack GPU compute marketplace. Providers connect NVIDIA GPU machines, report capacity through a lightweight daemon, and earn for completed workloads. Renters use the web app, API, SDKs, or IDE extension to run inference and container jobs with SAR payments, API-key controls, and auditable settlement records.
The platform is built around three product surfaces:
- Provider operations: registration, daemon install, heartbeat, capability reporting, earnings, and payout settings.
- Renter workflows: marketplace discovery, job submission, OpenAI-compatible inference, billing, and spend controls.
- Platform control plane: admin dashboards, pricing, payment reconciliation, deployment templates, health checks, and security gates.
This repository contains the DCP platform application and API:
- Next.js web application and public docs
- Express backend with SQLite persistence
- Provider onboarding/installers
- Docker workload templates
- Payment, billing, and settlement services
- Local escrow-contract workspace
- SDK and IDE-extension sources
- Tests, CI, deployment, and security policy files
Related long-term source-of-truth repositories:
| Repository | Purpose |
|---|---|
DCP-SA/dcp-agent |
Provider machine agent |
DCP-SA/dcp-desktop |
Desktop provider app |
DCP-SA/dcp-contracts |
Shared API contracts and generated client types |
Renter / SDK / IDE
|
v
dcp.sa Next.js app
|
v
api.dcp.sa Express backend
|
+-- SQLite data store
+-- Moyasar payment services
+-- Escrow settlement services
+-- Provider routing and health
|
v
Provider daemon + GPU runtime
Core layers:
| Layer | Technology |
|---|---|
| Frontend | Next.js 14, React 18, TypeScript, Tailwind CSS |
| Backend | Express.js, SQLite via better-sqlite3, Zod |
| Payments | Moyasar, SAR/halala accounting |
| Blockchain | Solidity, Hardhat, ethers.js, Base testnet |
| Jobs | Docker, Dockerode, NVIDIA Container Toolkit |
| P2P | libp2p discovery prototype |
| Testing | Jest, Playwright, template validation |
| Deployment | Vercel frontend, VPS backend, GitHub Actions |
dcp-platform/
├── app/ Next.js app, dashboards, docs, API proxies
├── backend/ Express API, services, migrations, installers, tests
├── components/ Shared React UI components
├── contracts/ Local escrow contract workspace
├── docker-templates/ GPU workload template definitions
├── docs/ Public product, API, compliance, and architecture docs
├── e2e/ Playwright end-to-end tests
├── infra/ Deployment and runtime configuration
├── lib/ Frontend utilities
├── ops/ Operator scripts
├── orchestration/ Health, monitoring, failover, and checkpoint modules
├── p2p/ libp2p discovery prototype
├── packages/ Shared package work
├── public/ Static web assets
├── scripts/ Repo-level smoke, release, and maintenance scripts
├── sdk/ Node and Python SDK sources
├── security/ Security test harnesses and policy entry points
├── tests/ Cross-cutting test suites
└── vscode-extension/ VS Code / Cursor extension source
See REPO_MAP.md for the maintained directory map.
Install root dependencies:
npm installRun the web app:
npm run devRun the backend:
cd backend
npm install
node src/server.jsValidate deploy templates:
npm --prefix backend run templates:validateBuild the web app:
npm run buildStart with the example environment files and only enable integrations you need locally.
cp .env.example .env.local
cp backend/.env.example backend/.envCommon variables:
| Variable | Purpose |
|---|---|
BACKEND_URL |
Backend API origin used by the frontend |
NEXT_PUBLIC_DC1_API |
Public API URL consumed by existing client code |
MOYASAR_SECRET_KEY |
Payment API key for top-ups and payouts |
MOYASAR_WEBHOOK_SECRET |
Webhook HMAC validation secret |
ESCROW_CONTRACT_ADDRESS |
Escrow contract address for chain-backed settlement |
BASE_RPC_URL |
Base RPC URL for escrow operations |
Secrets must stay in local env files or the deployment secret store. Do not commit real keys, databases, logs, or operator notes.
Public docs live in docs/ and are served in the app at dcp.sa/docs.
Useful entry points:
- Quickstart
- API reference
- Provider guide
- Renter guide
- SDK guides
- Pricing guide
- GPU compatibility matrix
- Container security
- Escrow architecture
Operational notes, private research, launch checklists, agent memories, and informal drafts do not belong in this public repository.
DCP uses scoped API keys, rate limits, CORS allowlists, payment webhook verification, container sandboxing, and secret scanning in CI.
Read:
Responsible disclosure: security@dcp.sa.
Proprietary. All rights reserved.
dcp.sa · docs · support@dcp.sa