# On/Off Ramp Module

The On/Off Ramp Module serves as the critical bridge between traditional fiat economies and the City Protocol neofinance ecosystem. By integrating with leading global payment gateways, this module ensures that user onboarding and offboarding are frictionless, compliant, and universally accessible.

{% hint style="info" %}
**This module is designed to eliminate the friction typically associated with entering the Web3 space.**&#x20;

Instead of requiring users to navigate complex centralized exchanges before interacting with on-chain assets, the On/Off Ramp Module allows direct fiat-to-crypto and crypto-to-fiat conversions directly within the founder's application interface.
{% endhint %}

The On/Off Ramp Module is built on top of MCE's regulated settlement layer, and provides programmatic access to fiat deposit instructions, crypto wallet funding, OTC conversion pricing, and third-party fiat withdrawals. The `MceRampClient` exported from `@cityprotocol/core` wraps these operations into authenticated asynchronous calls, abstracting away credential management, request signing, and endpoint routing.

This layer exists because vaults alone do not solve the full lifecycle of capital movement. Before a user can subscribe to a vault, their capital needs to arrive on-chain. After a redemption, it often needs to leave. The ramp client closes that gap by giving founders a single SDK surface for moving money in and out of the protocol, whether that money starts in a bank account, a crypto wallet, or needs to land in a third-party beneficiary's account.

> The ramp layer is server-side only. API credentials must never be exposed in frontend bundles. All calls are authenticated against MCE's production environment and carry real settlement obligations.

***

### Fiat Gateway Integration

City Protocol aggregates top-tier fiat gateway providers to ensure global coverage, competitive rates, and localized payment methods.

{% tabs %}
{% tab title="Global Accessibility" %} <mark style="color:$primary;">**Global Accessibility**</mark>

Through integrations with Moonpay, Transak, Ramp, Mercuryo, and Alchemy Pay, users can purchase crypto using credit cards, debit cards, bank transfers (SEPA, ACH), and localized payment methods like Apple Pay and Google Pay.
{% endtab %}

{% tab title="Optimized Routing" %} <mark style="color:$primary;">**Optimized Routing**</mark>

The module dynamically routes transactions to the provider offering the highest authorization rates and lowest fees for the user's specific jurisdiction and payment method.
{% endtab %}

{% tab title="Seamless User Experience" %} <mark style="color:$primary;">**Seamless User Experience**</mark>

The entire purchasing flow is embedded within the application via the City Protocol SDK, preventing user drop-off by keeping them within the native environment.
{% endtab %}
{% endtabs %}

***

### Underlying Protocols

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th data-type="content-ref"></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td><strong>Moonpay</strong></td><td><a href="https://www.moonpay.com/">https://www.moonpay.com/</a></td><td><a href="/files/wwMu6WKw7YmC3n1aAHZm">/files/wwMu6WKw7YmC3n1aAHZm</a></td></tr><tr><td><strong>Ramp</strong></td><td><a href="https://rampnetwork.com/">https://rampnetwork.com/</a></td><td><a href="/files/25XKwLIxfR7IhwDDkaBh">/files/25XKwLIxfR7IhwDDkaBh</a></td></tr><tr><td><strong>Mercuryo</strong></td><td><a href="https://mercuryo.io/">https://mercuryo.io/</a></td><td><a href="/files/53AQ3w5t0bwhaXEuZEHH">/files/53AQ3w5t0bwhaXEuZEHH</a></td></tr><tr><td><strong>Metacomp</strong></td><td><a href="https://www.mce.sg/">https://www.mce.sg/</a></td><td><a href="/files/tXHlAsRcnv0SST2bn06V">/files/tXHlAsRcnv0SST2bn06V</a></td></tr></tbody></table>

***

### Key Components

<table><thead><tr><th width="179.26171875">Component</th><th width="226.3125">Purpose</th><th>Description</th></tr></thead><tbody><tr><td>Fiat On-Ramp</td><td>Bank Deposit Instructions</td><td>Returns the receiving bank details (account number, routing number, reference memo) so a user can wire fiat into the protocol from their banking app.</td></tr><tr><td>Crypto On-Ramp</td><td>Wallet Deposit Address</td><td>Generates a network-specific deposit address for a participant, allowing users to fund their account by sending tokens from an external wallet.</td></tr><tr><td>OTC Quoting</td><td>Conversion Pricing</td><td>Fetches live buy/sell quotes for supported trading pairs, letting the frontend preview exchange rates and expected output before committing.</td></tr><tr><td>Fiat Off-Ramp</td><td>Third-Party Withdrawal</td><td>Initiates an outbound wire to an external bank account, covering the full path from protocol-held value to fiat settlement at the beneficiary's bank.</td></tr></tbody></table>


---

# 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/neofinance-as-a-service/on-off-ramp-module.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.
