Chainwalk/Documentation
Getting StartedQuick Start

Base / USDC quick start

The launch path uses official USDC on Base, an ordinary buyer wallet and platform-paid gas. Prices are integer micro-USDC. The seller payout is the wallet used to sign in.

1. Save a project and plan

bash
POST /v1/admin/tenants/{tenant}/projects
Authorization: Bearer $JWT
Content-Type: application/json

{ "id": "docs", "name": "Documentation", "status": "draft" }
bash
POST /v1/admin/tenants/{tenant}/plans
Authorization: Bearer $JWT
Content-Type: application/json

{
  "id": "pro_30", "project_id": "docs", "tier": 1,
  "name": "Pro 30 days", "duration_days": 30, "grace_days": 0,
  "price": { "amount": 9900000, "currency": "USDC" },
  "sbt": true, "status": "draft"
}

2. Review and open sales

bash
GET /v1/admin/tenants/{tenant}/plans/pro_30/launch-readiness
Authorization: Bearer $JWT

# Review price, fee, seller_net, seller and issues. Then:
POST /v1/admin/tenants/{tenant}/plans/pro_30/launch
Authorization: Bearer $JWT
Content-Type: application/json

{ "revision": "COPY_THE_REVIEWED_REVISION" }
Info
The launch command reuses project and plan publication. A partial failure preserves progress: reload readiness and safely retry. Real payments also require operator-approved terms, support details and sponsor limits.

3. Connect your server

bash
POST /v1/admin/tenants/{tenant}/apikeys
Authorization: Bearer $JWT
Content-Type: application/json

{ "name": "docs-paywall", "role": "paywall", "ttl_seconds": 3600 }
bash
POST /v1/integration/tenants/{tenant}/access/check
X-API-Key: $PAYWALL_API_KEY
Content-Type: application/json

{ "wallet": "0x1111111111111111111111111111111111111111", "plan_id": "pro_30" }

Keep the key off the browser. Start with examples/paid-content, configure its exact tenant and plan, and set EXAMPLE_PRODUCT_URL on the backend. Its product login is separate from the buyer receipt.

4. Share the offer

text
/offers/{tenant}/pro_30

The buyer connects their wallet and signs an order-scoped USDC authorization. Chainwalk submits it and completes the managed purchase. After expiry, a separate new purchase starts a new term. Paid delivery problems go to email support.