Quickstart

Run Bondrail locally and route your first payment through a BondrailAccount.

Testnet/local prototype; not audited. You need Node 24, pnpm 10.32.0 and Foundry 1.8.4. For a standalone Solidity integration, use the external package example.

pnpm check:all
# Optional full local payment/vault/browser rehearsal (starts and stops its own services):
pnpm e2e:local
anvil

In another terminal, deploy the protocol and the demo launchpad (a Native project) to the local chain:

export BONDRAIL_CHAIN_ID=31337 BONDRAIL_DEPLOYMENT=local BONDRAIL_ENV=local
export BONDRAIL_RPC_URL=http://127.0.0.1:8545 BONDRAIL_RPC_URLS=http://127.0.0.1:8545
export BONDRAIL_KEY_DIR="$(mktemp -d)"
pnpm tsx scripts/deploy.ts
pnpm tsx demo/scripts/setup-demo.ts pumplab --force

The first run creates the account, has the reviewer approve the PumpLab template hash with setNativeTemplate, then deploys and binds it with deployNative. It then stops: a bond needs real history. Send traffic, then run setup again to issue, fund and activate the bond:

pnpm tsx demo/scripts/traffic-launchpad.ts pumplab organic 1
pnpm tsx demo/scripts/setup-demo.ts pumplab --force

Every buy went in through collect, every sell out through settleOut, and the account's history is on-chain. Locally the minimum-history wait is skipped by advancing the chain clock; the current testnet manifest configures 10 minutes (factory.minHistory()).

Keep the same shell/key directory for all commands. The isolated manifest is docs/deployments/31337-local.json; production and the judged archive remain untouched. For app configuration, see the repository local setup.

Next: build a Native project or make an x402 API pay its account.