# Create a Cross Boder Money Movement

Creating **cross-border money movements** allows you to transfer funds between accounts located in different geographies.

To do this, follow the steps below:

<Steps>
  <Step title="FX Quote">
    You must have previously created an FX quotation using the currency pair of your interest.
  </Step>
  <Step title="Funding the operation">
    You must fund the operation if required (this applies to **static quotes**).
  </Step>
  <Step title="Create the money movement">
    Link the source account (which already has funds or will be funded later) with the destination account that will receive the funds.
  </Step>
</Steps>

---

## Valid account combinations

Below are the valid **source and destination account combinations** supported to create cross-border money movements.

<Tabs>
  <Tab title="🇺🇸 USD">
   | FX Quote Currency Pair | Source | Source type | Destination | Destination type |
|------------|---------------|--------------------|-------------------------------|--------------------------|
| `USD/COP` | [account_id](https://docs.cobre.com/obtain-all-accounts-25933210e0.md) | Cobre Balance Global – USD (type: `cobre_balance`) | [account_id](https://docs.cobre.com/obtain-all-accounts-25933210e0.md) | Cobre Balance Colombia (type: `cobre_balance`) |
| `USD/MXN` | [account_id](https://docs.cobre.com/obtain-all-accounts-25933210e0.md) | Cobre Balance Global – USD (type: `cobre_balance`) | [account_id](https://docs.cobre.com/obtain-all-accounts-25933210e0.md) | Cobre Balance Mexico (type: `clabe`) |
  </Tab>

  <Tab title="🇲🇽 MXN">
   | FX Quote Currency Pair | Source | Source type | Destination | Destination type |
|------------|---------------|--------------------|-------------------------------|--------------------------|
| `MXN/COP` | [account_id](https://docs.cobre.com/obtain-all-accounts-25933210e0.md) | Cobre Balance Mexico (type: `clabe`) | [account_id](https://docs.cobre.com/obtain-all-accounts-25933210e0.md) | Cobre Balance Colombia (type: `cobre_balance`) |
| `MXN/USD` | [account_id](https://docs.cobre.com/obtain-all-accounts-25933210e0.md) | Cobre Balance Mexico (type: `clabe`) | [account_id](https://docs.cobre.com/obtain-all-accounts-25933210e0.md) | Cobre Balance Global – USD (type: `cobre_balance`) |
  </Tab>

  <Tab title="🇨🇴 COP">
   | FX Quote Currency Pair | Source | Source type | Destination | Destination type |
|------------|---------------|--------------------|-------------------------------|--------------------------|
| `COP/USD` | [account_id](https://docs.cobre.com/obtain-all-accounts-25933210e0.md) | Cobre Balance Colombia (type: `cobre_balance`) | [account_id](https://docs.cobre.com/obtain-all-accounts-25933210e0.md) | Cobre Balance Global – USD (type: `cobre_balance`) |
| `COP/MXN` | [account_id](https://docs.cobre.com/obtain-all-accounts-25933210e0.md) | Cobre Balance Colombia (type: `cobre_balance`) | [account_id](https://docs.cobre.com/obtain-all-accounts-25933210e0.md) | Cobre Balance Mexico (type: `clabe`) |
  </Tab>
</Tabs>

---

## Status Transitions (How to reason about the lifecycle)

<Tabs>
<Tab title="Static Quotes">


![crossborder-static-quote.gif](https://api.apidog.com/api/v1/projects/1075179/resources/380082/image-preview)

Here is the conceptual state diagram (simplified):
* `initiated` → `processing`
* `initiated` → `pending_approval` (checker_approval = true)
* `pending_approval` → `processing` (decision: approved)
* `pending_approval` → `canceled` (decision: denied)
* `processing` → `completed`
* `processing` → `failed` / `rejected`

</Tab>
    
<Tab title="Rolling Quotes">
    
![crossborder-rolling-quote.gif](https://api.apidog.com/api/v1/projects/1075179/resources/380079/image-preview)
    
Here is the conceptual state diagram (simplified):

* `initiated` → `pending_funds`
* `pending_funds` → `processing`
* `pending_funds` → `pending_approval` (checker_approval = true)
* `pending_approval` → `processing` (decision: approved)
* `pending_approval` → `canceled` (decision: denied)
* `processing` → `completed`
* `processing` → `failed` / `rejected`
    
</Tab>
</Tabs>
---

## Actions performed on a Cross-Border Money Movement

<Tabs>
  <Tab title="📌 Create">
    **Description:** [Create Cross-Border Money Movement](https://docs.cobre.com/create-a-cross-border-money-movement-25933255e0.md)  
    **What to expect:** A cross-border money movement object is created for the amount defined in the previously generated FX quote.
  </Tab>

  <Tab title="🔍 Retrieval">
    **Description:** [Retrieve Cross-Border Money Movements](https://docs.cobre.com/obtain-all-the-cross-border-money-movements-25933257e0.md)  
    **What to expect:** A list of cross-border money movements or a specific movement, including its current payment status.
  </Tab>
</Tabs>

:::tip[]
Don’t forget to [subscribe to the required events](https://docs.cobre.com/subscribe-to-events-25933276e0.md) to always stay informed about money movement status changes.
:::

---

## How to Get Started

### Before using this API

<Steps>
  <Step title="Create an FX Quote">
    Create either a **static_quote** or **rolling_quote**.  
    See [FX Quotation API](https://docs.cobre.com/create-a-fx-quote-25933252e0.md)
  </Step>

  <Step title="Create Cobre Balance accounts">
    Create the source and destination accounts using a valid combination.  
    See [Cobre Balance API](https://docs.cobre.com/create-or-connect-an-account-25933209e0.md).
  </Step>

  <Step title="Create a Cross-Border Money Movement">
    Using the FX quote ID created in the previous step, provide the source and destination accounts to create a cross-border money movement.  
    See [Cross-Border API](https://docs.cobre.com/create-a-cross-border-money-movement-25933255e0.md).
  </Step>
</Steps>

### What to expect after using this API

<Steps>
  <Step title="Cross-border money movement creation">
    A **cross-border money movement** object will be created in `initiated` status, including FX quote instructions and linked source and destination account details.  
    See [Cross-Border API](https://docs.cobre.com/obtain-all-the-cross-border-money-movements-25933257e0.md).
  </Step>

  <Step title="Transaction creation">
    Once the movement reaches `completed` status, the following transactions are created:
    - `cbmm_debit` on the source account  
    - `cbmm_credit` on the destination account  
    See [Account Transactions API](https://docs.cobre.com/obtain-all-transactions-25933213e0.md).
  </Step>
</Steps>




