Summary
Incorporate Starknet as a fully documented, test-enforced path in examples/facilitator-server, using the already-implemented core Starknet support.
Core Starknet primitives already exist in packages/core; this issue focuses on example server integration hardening, CI coverage, and docs quality.
Why
examples/facilitator-server already wires Starknet in setup, but the integration is implicit and under-tested. This makes regressions likely when touching setup, /supported normalization, or env handling.
Scope
- In scope:
examples/facilitator-server tests, setup behavior validation, docs/comments, CI assertions.
- Out of scope: new Starknet protocol implementation in core, Starknet
upto, production mainnet settlement automation.
Requirements
- Starknet remains opt-in via
STARKNET_NETWORKS.
- Missing sponsor address must fail fast with actionable error.
/supported must expose Starknet kinds, extra.paymasterEndpoint, extra.sponsorAddress, and signers["starknet:*"].
- Preserve EVM/SVM behavior.
Detailed Task List
1) Add Starknet /supported test coverage (TDD first)
2) Make minimal setup/app changes to pass tests
3) Add Starknet config validation tests
4) Add CI/runtime assertion for Starknet-enabled boot path
5) Documentation and operator guidance
6) Regression safety and completion
Acceptance Criteria
Implementation Notes
- Follow strict Red -> Green -> Refactor workflow.
- Keep library/application separation intact (
packages/core remains side-effect-free library code).
- Use package imports in examples (no relative imports to core internals).
Source
Derived from: docs/prd-starknet-facilitator-server.md
Summary
Incorporate Starknet as a fully documented, test-enforced path in
examples/facilitator-server, using the already-implemented core Starknet support.Core Starknet primitives already exist in
packages/core; this issue focuses on example server integration hardening, CI coverage, and docs quality.Why
examples/facilitator-serveralready wires Starknet in setup, but the integration is implicit and under-tested. This makes regressions likely when touching setup,/supportednormalization, or env handling.Scope
examples/facilitator-servertests, setup behavior validation, docs/comments, CI assertions.upto, production mainnet settlement automation.Requirements
STARKNET_NETWORKS./supportedmust expose Starknet kinds,extra.paymasterEndpoint,extra.sponsorAddress, andsigners["starknet:*"].Detailed Task List
1) Add Starknet
/supportedtest coverage (TDD first)examples/facilitator-server/tests/starknet-supported.test.ts./supportedwhen Starknet configs are registered.extra.paymasterEndpointandextra.sponsorAddressare present.supported.signers["starknet:*"].starknet:SN_*) and x402 v2.2) Make minimal setup/app changes to pass tests
examples/facilitator-server/src/setup.tsonly as needed to satisfy failing tests.3) Add Starknet config validation tests
examples/facilitator-server/tests/starknet-config-validation.test.ts.4) Add CI/runtime assertion for Starknet-enabled boot path
examples/facilitator-server/tests/e2e-ci.ts(or add a dedicated Starknet e2e script)./supportedincludes expected Starknet network entry.5) Documentation and operator guidance
STARKNET_NETWORKSSTARKNET_RPC_URL_STARKNET_MAINNETSTARKNET_RPC_URL_STARKNET_SEPOLIASTARKNET_PAYMASTER_ENDPOINT_STARKNET_MAINNETSTARKNET_PAYMASTER_ENDPOINT_STARKNET_SEPOLIASTARKNET_PAYMASTER_API_KEY(+ per-network overrides)STARKNET_SPONSOR_ADDRESS(+ per-network overrides)6) Regression safety and completion
cd examples/facilitator-server && bun run test.cd examples/facilitator-server && bun run build.cd examples/facilitator-server && bun run test:e2e.Acceptance Criteria
examples/facilitator-server/tests./supportedreturns Starknet metadata (paymasterEndpoint,sponsorAddress) and signer list when enabled.Implementation Notes
packages/coreremains side-effect-free library code).Source
Derived from:
docs/prd-starknet-facilitator-server.md