> ## Documentation Index
> Fetch the complete documentation index at: https://docs.royaltyport.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Linking Contracts

> Link Royaltyport contracts to Curve contracts and manage suggested matches

## How Contract Linking Works

Each Royaltyport contract you want to sync to Curve must be linked to a Curve contract. The integration can suggest links based on assignor, catalog (ISRC/UPC/names), and contract type. You can approve suggestions or link and unlink manually. Contract links are stored in **safe linking** mode so that difference checks and syncs use a stable mapping.

## Linked Tab

Under **Links** → **Contracts** → **Linked** you’ll see:

| Row type                    | Description                                           |
| --------------------------- | ----------------------------------------------------- |
| **Linked**                  | A Royaltyport contract is linked to a Curve contract. |
| **Unlinked RP Contract**    | A Royaltyport contract with no Curve link.            |
| **Unlinked Curve Contract** | A Curve contract with no Royaltyport link.            |

Columns include **Contract (Royaltyport)** (shown as Assignee × Assignor), **Contract (Curve)**, **Reason**, and **Actions**. There are links to open the contract in Royaltyport and in Curve. You can filter by RP contract search (assignee/assignor names), Curve contract search, and row type.

### Matching Reasons (Linked Tab)

Links may have been created because of:

* **Matching assignor and catalog (ISRC)** — Same assignor and matching catalog by ISRC.
* **Matching assignor and catalog (UPC)** — Same assignor and matching catalog by UPC.
* **Matching assignor and catalog (track name)** — Same assignor and matching track name.
* **Matching assignor and catalog (release name)** — Same assignor and matching release name.

### Actions on the Linked Tab

* **Linked** — **Unlink** (with confirmation) to remove the link. **Link** is disabled.
* **Unlinked RP contract** — **Link** (pencil) opens the edit modal to choose a Curve contract.
* **Unlinked Curve contract** — **Link** (pencil) opens the edit modal to choose a Royaltyport contract.

## Suggested Tab

The **Suggested** tab lists possible contract matches that the system has proposed. Suggestion reasons can include:

* **Matching catalog (ISRC only)** — Catalog matches by ISRC.
* **Matching catalog (UPC only)** — Catalog matches by UPC.
* **Matching track name only** — Track name match.
* **Matching release name only** — Release name match.
* **Matching assignor and contract type** — Same assignor and contract type.

For each suggestion you can **Approve** (create the link) or **Reject** (dismiss; contracts stay unlinked).

## Manual Linking (Edit Modal)

When you click **Link** on an unlinked Royaltyport or Curve contract:

* **RP contract mode** — The Royaltyport contract is fixed; you choose a Curve contract from a searchable dropdown.
* **Curve contract mode** — The Curve contract is fixed; you choose a Royaltyport contract from a searchable dropdown.

If there is a suggestion, it may be pre-selected with the reason shown. You can keep it or pick another contract. Saving creates the link with **safe linking**, so it is used consistently for syncs and [contract difference checks](/projects/settings/integrations/curve/contract-alerts).

## Safe Linking

Contract links created through the integration (including from suggestions) are stored with **safe linking**. That means they are treated as confirmed mappings for:

* Pushing contract and term data to Curve during [sync runs](/projects/settings/integrations/curve/syncing-contracts).
* Pulling and comparing data from Curve for [contract alerts](/projects/settings/integrations/curve/contract-alerts) (rates, catalog, costs).

Complete contract linking and resolve any alerts before starting new sync runs so data stays consistent.

## Next Steps

<Card title="Contract Alerts" icon="alert-triangle" href="/projects/settings/integrations/curve/contract-alerts">
  Review and resolve differences between linked contracts.
</Card>

<Card title="Syncing Contracts" icon="refresh-cw" href="/projects/settings/integrations/curve/syncing-contracts">
  Run syncs after linking is complete.
</Card>
