Card Module

Architecture Overview

City Protocol's card infrastructure provides a unified interface for issuing and managing payment cards as part of our Neofinance as a Service layer.

The card module is designed to abstract away provider-specific complexity, enabling integrators to build against a single, stable surface, CityCardClient , regardless of the underlying card issuer. Card issuance, lifecycle management, and sensitive operations like PAN reveal are all handled through a provider-backed model that keeps integration surfaces consistent and provider logic encapsulated.


Key Components

Component
Description

CityCardClient

The primary integration surface. Provider-agnostic client that exposes a uniform API for card creation, lifecycle actions, and sensitive operations across all supported providers.

Card Providers

Encapsulated provider modules — including ReapCardProvider, InterlaceCardProvider, and URCardProvider — that handle issuer-specific logic behind the unified client interface.

KYC Payload

Identity verification data required at card creation. Passed directly through the creation call and forwarded to the underlying provider in accordance with its compliance requirements.

Lifecycle Actions

A set of post-issuance operations — freeze, unfreeze, reveal, and replace — that allow integrators to manage card state throughout its lifecycle. Availability varies by provider.

Meta Context

Optional metadata fields (client ID, email, OTP phone number) that allow integrators to correlate card records with their own internal user and compliance systems.

Last updated