jessepollak / jessepollak/home

feat(funding): add ZARP partner mint/redemption on the provider seam

Open
#554 0 comments 0 reactions 0 assignees View on GitHub
lane:backend priority:p1 status:blocked
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.