# Overview

This document gives a high-level mental model for City SDK and how integrators should think about the stack.

Use it as the starting point for product + architecture decisions before diving into any single module.

***

### What is the City SDK

City SDK is the builder-facing integration layer for launching a neobank with City.

City sits between your product and the underlying provider stack so you don’t have to wire together wallet infrastructure, compliance vendors, card issuers, payment providers, ramps, swaps, lending venues, and yield systems independently.

***

### What City SDK is not

City is not your end-user application and it does not replace your product logic.

Your team still owns:

* the user experience
* customer/account/ledger models
* policy, permissions, and support operations
* how financial capabilities are packaged into your product

***

### The mental model

There are three layers in a typical City integration:

1. your product
2. City SDK + City-managed backend flows
3. upstream providers and protocols

***

### Recommended architecture

For production, default to backend-first:

1. frontend collects user intent and renders UX
2. frontend calls your backend
3. backend calls City SDK clients
4. backend stores state, enforces policy, and processes async updates
5. frontend renders normalized results

***

### Module map

Use these modules depending on the capability you are building:

* wallet: wallet login, session verification, and connected-account identity
* kyc: applicant creation, verification status, hosted verification-token flows
* aml: address/transaction screening
* card: issuance and lifecycle actions across providers
* payment: checkout, collection, and settlement flows
* ramp: deposit instructions, OTC quotes, and withdrawal requests
* add-fund: deposit-address + supported-asset flows
* swap: quote, approvals, route building, execution orchestration
* lending: protocol interactions
* vault: yield + managed vault interactions
* portfolio: indexed portfolio + activity visibility

***

### Suggested rollout order

Most teams integrate in this sequence:

1. wallet + account identity
2. KYC + AML controls
3. funding + money movement
4. cards, payments, and spending
5. swaps, lending, vaults, and portfolio features


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://city-protocol.gitbook.io/docs/software-development-kit/overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
