Escrow before approval
Separate paying from becoming an approved member, so the contract can represent a purchase awaiting identity verification.
Case 01 · Membership platform
A buyer pays first; the certificate follows identity approval.
I built the frontend, backend and smart contracts that turn a membership purchase into an identity-verified NFT certificate and benefits inside the Phil app.
The purchase, identity verification, certificate minting and treasury-release flow reached Polygon production. Membership benefits connect back to the Phil ecosystem.
A purchase crosses four systems: wallet, identity verification, membership contract and Phil account. I needed each system to agree on whether the buyer was actually a member.
Built the purchase experience, wallet connection, account authentication and membership certificate views.
Connected Cognito authentication, Didit identity verification, webhook handling and the Phil API.
Implemented upgradeable membership, escrow, tier upgrades and NFT certificate contracts.
The member chooses a tier and pays through the membership contract. For a new buyer, the funds are held while identity verification is pending.
purchaseMembershipPayment recorded; membership is not yet approved.A verified identity-provider webhook updates eligibility. The backend connects the identity decision to the membership and the Phil account.
KYC webhook → eligibilityAn identity decision must reach the correct membership.After approval, the membership flow releases escrow to the treasury and issues the NFT membership certificate.
approveAndMintThe certificate and settlement follow the approval state.Membership state is reflected in the Phil profile. PHL benefits are handled through the rewards service rather than assumed to come from the NFT contract.
Membership → app profile → rewardsThe on-chain purchase becomes a usable product entitlement.Separate paying from becoming an approved member, so the contract can represent a purchase awaiting identity verification.
Connect wallet state, identity-provider events, contract events and the Phil profile so the buyer sees the same membership status throughout.
Public membership portal. No account or wallet is needed to see the entry experience.
Deployed membership address recorded in the production launch.
Case based on the membership implementation and April 2026 production launch records.
The walkthrough explains the implementation. It does not connect a wallet or submit transactions.