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
anvilIn 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 --forceThe 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 --forceEvery 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.