# Deposit Interactions

## Deposit With Travel Rule

The Travel Rule deposit process ensures compliance with international regulatory requirements by facilitating the secure exchange of information between Virtual Asset Service Providers (VASPs) during cryptocurrency transactions. This process involves verifying and sharing key details, such as wallet addresses and transaction data, between the originator and beneficiary VASPs. By integrating tools like DEFY’s backend services, the workflow ensures that all parties involved adhere to the Travel Rule by validating transaction details, confirming wallet ownership, and securely transmitting transaction hashes. This helps prevent illicit activities such as money laundering and enhances trust and transparency in digital asset transactions.

<figure><img src="/files/TxD9JJLH4qvvTFRnJMBJ" alt=""><figcaption><p>Defy Travel Rule Deposit Schema</p></figcaption></figure>

### Travel Rule Step-by-step

1. **Travel Rule Message Sending**
   * Originator VASP Backend sends a Travel Rule message to Defy Backend.
2. **Pending Operation Display**
   * Our Backend does AML and other jobs displays the transaction as a pending operation on the interface.
3. **Approval or Rejection Decision**
   * If you accept the transaction (Step 3.a), you will find the wallet address used in the transaction from your own database and report it to us.
   * If you reject the transaction (Step 3.b), it will revert to the other VASP.
4. **Wallet Address Transmission**
   * The wallet address in the transaction is sent to the DEFY Backend via the [`send_address`](/travel-rule/api-reference.md#send-wallet-address) service.
5. **Wallet Forwarding via Approval Service**
   * The wallet address received is delivered to the other VASP through the approval service.
6. **Transaction Hash Information**
   * The counterpart VASP provides the `transaction_hash` information on-chain.
7. **Transaction Hash Forwarding**
   * The DEFY Backend sends the `transaction_hash` data to the "Beneficiary VASP Backend" via a webhook.

> ### 📘 Do I have everything?
>
> Once all the information about the originator and beneficiary has been pulled from the databases and orchestrated into the IVMS101 format, you can send it to [`create_tx`](/travel-rule/api-reference.md#create-transaction) to confirm that everything is present.

You could also leverage [`create_tx`](/travel-rule/api-reference.md#create-transaction) when building the address book database so that everything gets collected from the start.

## Deposit Without Travel Rule

If the other VASP customer has sent money directly to your customer, you need to continue with this flow.

<figure><img src="/files/kxM6VEgnt8k90wInCOjh" alt=""><figcaption><p>Defy Travel Rule Deposit without TRP Schema</p></figcaption></figure>

### Travel Rule Step-by-step

1. **Sends Funds**
   * Originator VASP Backend sends funds directly to beneficiary VASP.
2. **Beneficiary VASP Collects Infos**
   * Beneficiary VASP collect customer infos prepares data.
3. **Requesting Service**
   * Beneficiary VASP backend requests [`receive_tx_without_protocol`](/travel-rule/api-reference.md#receive-transaction-without-protocol) service with prepared data.
4. **Screening on Dashboard**
   * After all these steps you can look transaction on our dashboard.

You could also leverage [`receive_tx_without_protocol`](/travel-rule/api-reference.md#receive-transaction-without-protocol) when building the address book database so that everything gets collected from the start.


---

# 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://docs.getdefy.co/travel-rule/deposit-interactions.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.
