# Journey result: Sign up and pay with crypto

- **Source**: `WALKTHROUGH/journeys/sign-up-and-pay-crypto.md`
- **Walked**: 2026-05-29 by Claude (Opus 4.8) against commit `eff6655269` (+
  fix)
- **Verdict**: **pass (surfaces) / partial (settlement)** — all crypto-rail
  surfaces render and the BFF payment endpoints respond; live wallet settlement
  still needs a real merchant integration (documented external dependency).
- **Walker**:
  `/tmp/claude-oshun-lt-2-walkthrough/walk.mjs sign-up-and-pay-crypto`
- **Runtime**: prod build `:3010` (Next 16.2.6) + BFF `:4010`
  (`USE_MOCK_ADAPTERS=true`).

## Summary

Major improvement over the prior "blocked" walk. `/billing` exists,
`/billing/crypto` renders, `/aaa-upgrade` renders, and the `/v1/payments/*` +
`/v1/entitlements/aaa` BFF endpoints respond (added in goal-2/3). One genuine
bug found **and fixed**: the `/aaa-upgrade` "Continue in Yemaya Studio" CTA
pointed at the non-existent `/welcome/yemaya` (404 when authenticated).
Repointed to `/studio`.

### 2026-06-28 issued-paywall support addendum

The issued `/billing/crypto` paywall now exposes the same
`mailto:billing@oshun.app` billing-support action as the pending invoice notice.
`billing-crypto-paywall.spec.ts` verifies that the action is present as a single
44 px target on a real BFF-issued BTC address-visible paywall, on the USDC/Base
disclosure gate before acknowledgement, and on the USDC/Base address-visible
state after acknowledgement. The journey remains partial only for the external
wallet/provider, rate-oracle, receipt-download, and return-to-gated-surface legs
that are outside the local browser/BFF seam.

## Steps

- **Step 1 — Sign up**: pass (lands `/onboarding`, session set).
- **Step 2 — `/billing`**: pass (200; no longer the prior "Page not found").
- **Step 3 — `/billing/crypto` paywall**: pass (renders; full rail hydration
  needs an `?invoice=<id>` from a real merchant flow).
- **Step 4 — `/aaa-upgrade` entitlement bounce**: pass — but surfaced the dead
  "Continue in Yemaya Studio" link (see Bug 1).
- **Step 5 — BFF crypto endpoints**: pass (`/v1/payments/*`,
  `/v1/entitlements/aaa` respond; previously all 404).

## Bugs found

1. **Dead link: `/aaa-upgrade` → `/welcome/yemaya` (404)** —
   `apps/oshun/web/src/app/aaa-upgrade/page.tsx:54` — **FIXED** (→ `/studio`).
   - `/welcome/yemaya` has no route file; anonymous → 307→/welcome,
     authenticated → 404. The page's secondary CTA already used a real route
     (`/studio/generation-gallery`); the primary now points to `/studio`.
   - Severity: P2 (narrow, entitlement-gated surface).

## Open questions

- Live crypto settlement (`payment.invoice.confirmed/settled`) still depends on
  a real merchant/wallet integration — see
  `results/external-dependencies/crypto-merchant-settlement.md`. The rail
  surfaces and BFF stubs are reachable; the settlement cascade is not
  exercisable headless.
