Why this matters
SCF demos need to distinguish an unavailable facilitator/provider from a broken product. A public readiness endpoint can expose non-sensitive status for API, x402 facilitator config, and provider availability.
Scope
Add a public readiness endpoint such as /api/readiness returning:
- API uptime/build metadata;
- demo mode status;
- Stellar network label;
- facilitator configured: boolean;
- facilitator supported check status if safe and cached;
- provider counts by mode;
- storage backend status.
Do not return API keys, secret keys, facilitator auth headers, private URLs, or wallet secrets.
Suggested files
apps/api/src/routes/public.ts
apps/api/src/lib/config.ts
apps/api/src/lib/build-metadata.ts
apps/api/src/lib/storage/index.ts
Acceptance criteria
- Endpoint returns useful non-sensitive readiness JSON.
- Tests verify secret-like config values are not emitted.
- Endpoint works in demo mode without live facilitator credentials.
- Existing
/health behavior remains compatible.
Why this matters
SCF demos need to distinguish an unavailable facilitator/provider from a broken product. A public readiness endpoint can expose non-sensitive status for API, x402 facilitator config, and provider availability.
Scope
Add a public readiness endpoint such as
/api/readinessreturning:Do not return API keys, secret keys, facilitator auth headers, private URLs, or wallet secrets.
Suggested files
apps/api/src/routes/public.tsapps/api/src/lib/config.tsapps/api/src/lib/build-metadata.tsapps/api/src/lib/storage/index.tsAcceptance criteria
/healthbehavior remains compatible.