jessepollak / jessepollak/home
feat(funding): add ZARP partner mint/redemption on the provider seam
- Dominant language
- TypeScript
- Stars
- 12
- Forks
- 11
- Avg merge
- 3h 33m
- Merged PRs (30d)
- 269
Description
Parent: #282. Portfolio decision: #539.
## Goal
Add the prioritized **ZAR → ZARP on Base** route through an approved ZARP issuance/redemption partner.
## Route
- Fiat/rail: same-name ZAR bank transfer through an approved partner; burn/redemption to same-name bank account.
- Asset: ZARP on Base, `0xb755506531786C8aC63B756BaB1ac387bACB0C04`.
- Audience: approved institutional/business partners; not public retail.
## External gate
Name the partner and owner, confirm onboarding eligibility, credentials/API or operational instructions, whitelisting, fees/limits, status/recovery, and direct Base mint support. Keep blocked until the partner contract is known.
## Done when
A conforming partner-specific ZARP integration is merged inert, ZAR/Base binding and audience controls are explicit, and acceptance is ready to verify transfer, mint, reconciliation, burn, and bank payout.
## Shared constraints
Parent architecture: #282. Portfolio tracker: #15. Research/decision: #539. Production acceptance/observability: #541.
- Use the existing funding-provider seam; do not create a parallel flow.
- Destination comes only from the verified Home session. No double dispatch, float token math, credential exposure, or raw PII/provider payloads in GitHub.
- Adapter and fixture work must be secret-free. Live/authenticated and funded operations require explicit separate authorization.
- Adapter completion does not imply route availability. Update #15 only at the earned evidence tier.
## Standard acceptance
- Exact binding recorded: country, fiat, domestic rail, asset, `chainId=8453`, checksum contract, and eligible audience.
- Provider contract documented: quote behavior, KYC/KYB, idempotency, destination binding, instructions, status, webhooks, expiry, cancellation, refund, and failure recovery.
- Provider manifest, asset registry, country binding, fixtures, conformance tests, env contract, and README are complete.
- Country-scoped quote/non-funded flow verifies fees, limits, expected delivery, direct Base destination, and reconciliation.
- Production/funded proof is a later explicit gate under #541 and the provider acceptance runbook.
Contributor guide
Research direction
Start by tracing the existing funding-provider seam referenced by #282 and reviewing the portfolio decision in #539. Confirm the partner contract, onboarding eligibility, credentials, and operational details first; until those are known, keep the route blocked. Done means a secret-free, inert partner integration with explicit ZAR/Base and audience bindings, fixtures, conformance tests, and acceptance coverage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, backend-api-design, payments
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 28/100