# How to start?

## 1. Contract & Legal onboarding

Before starting technical integration, the following steps are required:

- signing a cooperation agreement;
- alignment on the legal model (custodial / non-custodial);
- defining the regulatory role of the party (Originator / Beneficiary / Both).
After completing legal onboarding, access to the platform and API can be granted.


## 2. User registration

After signing the contract, it is required to:

- register a user (organization) in the TRP Admin Panel;
- create a project and select the working environment (Test / Production);
- [configure user access and roles](https://docs.travel-rule.com/md/guide);
- [generate API credentials](https://docs.travel-rule.com/api/vasp).


## 3. End-to-End integration guide

Before starting development, it is recommended to review the full end-to-end integration guide, which describes:
overall interaction architecture;

- [step-by-step integration flow](https://docs.travel-rule.com/md/guide);
- typical usage scenarios;
- possible errors and their handling.


## 4. Client-side integration

Client-side integration consists of two key steps.

### Step 1 - Travel Address generation

At this stage, the client:

- [generates a Travel Address for a specific asset and environment](https://docs.travel-rule.com/api/vasp/address/paths/~1travel-address~1generate/post);
- links the Travel Address to an internal account or wallet;
- uses it as an identification point for incoming and outgoing transfers.


### Step 2 - Transfer initiation

After generating the Travel Address, the client:

- [creates a request to initiate a transfer](https://docs.travel-rule.com/api/vasp/transfer/initiate);
- provides originator and beneficiary data in accordance with the Travel Rule;
- receives transfer processing statuses and messages from counterparties.