Prerequisites
Before setting up a local environment, make sure you have the following:- Node.js — use the version specified in
.nvmrcor theenginesfield inpackage.json - pnpm (recommended) or npm
- PostgreSQL — used locally for session storage
- P2P.me SDK environment — a staging environment is recommended for development; avoid pointing local builds at production P2P.me endpoints
Getting Started
1
Fork and clone the repo
Fork the repository on GitHub, then clone your fork locally:
2
Install dependencies
Install all project dependencies from the repo root:If you prefer npm:
3
Configure environment
Copy the example environment file and fill in the required values. See the Configuration page for a full description of each variable.At minimum you’ll need to set
VITE_P2P_SDK_ENV, VITE_APP_URL, and the server-side secrets listed as placeholders in .env.example.4
Start the dev server
Run the development script to start both the Vite frontend and the Express backend together:The frontend will typically be available at
http://localhost:5173 and the API at http://localhost:3000 unless you’ve overridden the defaults in your .env.5
Make changes and open a PR
Create a feature branch from
main, make your changes, and open a pull request back against main. Include a clear description of what changed and why. Reference any related issues or ADRs.Architecture Decisions
Significant technical decisions — choice of SDK integration path, session storage approach, NEAR Intents routing, etc. — are documented as Architecture Decision Records (ADRs). Reading through them is the fastest way to understand why the codebase is structured the way it is before proposing large changes.TODO: Link to the ADR directory when the repository is public.
Code Style
- TypeScript throughout — all new code should be typed; avoid
anyunless unavoidable - Linting and formatting are enforced by the project’s ESLint and Prettier configuration; run the lint script before opening a PR
- P2P.me SDK — keep usage on the pure
@p2pdotme/sdkintegration path; do not patch, monkey-patch, or fork SDK internals - No secrets in code — see Configuration for the hard rule on environment variables
0xramp is currently in public beta. The formal contribution process, issue templates, and ADR workflow will be finalized closer to the v1.0 release.TODO: Add a link to
CONTRIBUTING.md when available.