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

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://developers.fireblocks.com/feedback

```json
{
  "path": "/api-reference/travel-rule/validate-travel-rule-transaction",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# Validate Travel Rule Transaction

> Validate Travel Rule transactions.
Checks what beneficiary VASP details are required by your jurisdiction and the beneficiary's jurisdiction.
**Deprecation Notice** This endpoint will be deprecated soon in favor of the [validate full](https://developers.fireblocks.com/reference/validatefulltravelruletransaction) endpoint. Please update your integrations to use the  [validate full](https://developers.fireblocks.com/reference/validatefulltravelruletransaction) endpoint to ensure compatibility with future releases.
Checks what beneficiary VASP details are required by your jurisdiction and the beneficiary's jurisdiction.
Learn more about Fireblocks Travel Rule management in the following [guide](https://developers.fireblocks.com/docs/define-travel-rule-policies).

Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.



## OpenAPI

````yaml https://docs.fireblocks.com/api/v1/swagger.yaml post /screening/travel_rule/transaction/validate
openapi: 3.0.0
info:
  title: Fireblocks API
  description: >
    Fireblocks provides a suite of applications to manage digital asset
    operations and a complete development platform to build your business on the
    blockchain.


    - Visit our website for more information: [Fireblocks
    Website](https://fireblocks.com)

    - Visit our developer docs: [Fireblocks
    DevPortal](https://developers.fireblocks.com)
  version: 1.6.2
  contact:
    email: developers@fireblocks.com
servers:
  - url: https://api.fireblocks.io/v1
    description: Fireblocks Production Environment Base URL
  - url: https://sandbox-api.fireblocks.io/v1
    description: Fireblocks Sandbox Environment Base URL
security: []
paths:
  /screening/travel_rule/transaction/validate:
    post:
      tags:
        - Travel Rule
      summary: Validate Travel Rule Transaction
      description: >-
        Validate Travel Rule transactions.

        Checks what beneficiary VASP details are required by your jurisdiction
        and the beneficiary's jurisdiction.

        **Deprecation Notice** This endpoint will be deprecated soon in favor of
        the [validate
        full](https://developers.fireblocks.com/reference/validatefulltravelruletransaction)
        endpoint. Please update your integrations to use the  [validate
        full](https://developers.fireblocks.com/reference/validatefulltravelruletransaction)
        endpoint to ensure compatibility with future releases.

        Checks what beneficiary VASP details are required by your jurisdiction
        and the beneficiary's jurisdiction.

        Learn more about Fireblocks Travel Rule management in the following
        [guide](https://developers.fireblocks.com/docs/define-travel-rule-policies).


        Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
        Viewer.
      operationId: validateTravelRuleTransaction
      parameters:
        - name: notation
          in: query
          description: >-
            Specifies the notation of the transaction. Possible values are: -
            `notabene`: Uses Notabene notation (default behavior). -
            `fireblocks`: Uses Fireblocks notation, with automatic translation
            of asset tickers and amounts. - `<none>`: Defaults to `notabene` for
            backward compatibility.

            **Note:** The default value for the `notation` parameter will change
            from `notabene` to `fireblocks` Update your integrations
            accordingly.
          required: false
          schema:
            $ref: '#/components/schemas/TravelRuleNotationEnum'
        - $ref: '#/components/parameters/X-Idempotency-Key'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TravelRuleValidateTransactionRequest'
      responses:
        '200':
          description: Transaction validated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TravelRuleValidateTransactionResponse'
        default:
          $ref: '#/components/responses/Error'
components:
  schemas:
    TravelRuleNotationEnum:
      type: array
      items:
        type: string
        enum:
          - fireblocks
          - notabene
    TravelRuleValidateTransactionRequest:
      type: object
      properties:
        transactionAsset:
          type: string
          example: BTC
          description: Transaction asset symbol (BTC,ETH)
        destination:
          type: string
          example: bc1qxy2kgdygjrsqtzq2n0yrf1234p83kkfjhx0wlh
          description: Transaction destination address
        transactionAmount:
          type: string
          example: '10'
          description: Transaction amount in the transaction asset
        transactionAssetDecimals:
          type: number
          example: 8
          description: >-
            Number of decimals in the transaction asset. This is used to convert
            the transaction amount to the smallest unit of the asset
        originatorVASPdid:
          type: string
          example: did:ethr:0x44957e75d6ce4a5bf37aae117da86422c848f7c2
          description: This is the identifier assigned to your VASP
        originatorEqualsBeneficiary:
          type: boolean
          example: false
          description: >-
            "True" if the originator and beneficiary is the same person and you
            therefore do not need to collect any information. "False" if it is a
            third-party transfer.
        travelRuleBehavior:
          type: boolean
          example: true
          description: >-
            This will also check if the transaction is a TRAVEL_RULE in the
            beneficiary VASP's jurisdiction
        beneficiaryVASPdid:
          type: string
          example: did:ethr:0x46a7ed5813ce735387df2bfb245bd7722e0de992
          description: >-
            This is the identifier assigned to the VASP the funds are being sent
            to
        beneficiaryVASPname:
          type: string
          example: HelloCrypto
          description: Beneficiary VASP name
        beneficiaryName:
          type: string
          example: John Doe
          description: Beneficiary  name
        beneficiaryAccountNumber:
          type: string
          example: 1234-1234-1234-12234
          description: Beneficiary  name
        beneficiaryAddress:
          $ref: '#/components/schemas/TravelRuleAddress'
      required:
        - transactionAsset
        - destination
        - transactionAmount
        - originatorVASPdid
        - originatorEqualsBeneficiary
    TravelRuleValidateTransactionResponse:
      type: object
      properties:
        isValid:
          type: boolean
          description: >-
            "isValid" will tell you if you have collected all the information
            needed for the travel rule data transfer. Once this field = "true",
            you can move on to the next step which is to transfer the front-end
            information to your back-end and perform Travel Rule Transaction
            create
          example: true
        type:
          type: string
          description: >-
            "type" will tell you if the virtual asset value converted to FIAT
            value of the withdrawal request is above (=TRAVELRULE) or below
            (=BELOW_THRESHOLD) the threshold in your jurisdiction. If it is to
            an unhosted wallet which does not require travel rule information to
            be sent and only collected, it will say NON_CUSTODIAL.
          example: TRAVELRULE
        beneficiaryAddressType:
          type: string
          enum:
            - UNKNOWN
            - HOSTED
            - UNHOSTED
          description: >-
            "beneficiaryAddressType" will tell you if your blockchain analytics
            provider or internal address book has been able to identify the
            wallet address.
          example: UNKNOWN
        addressSource:
          type: string
          enum:
            - UNKNOWN
            - ADDRESS_HASH
            - ADDRESS_GRAPH
            - CHAINALYSIS
            - ELLIPTIC
            - CRYSTAL
          description: >-
            "addressSource" will tell you if the address was found in your
            internal address book or identified by the blockchain analytics
            provider.
          example: UNKNOWN
        beneficiaryVASPdid:
          type: string
          description: The VASP DID of the beneficiary VASP
          example: did:ethr:0x46a7ed5813ce735387df2bfb245bd7722e0de992
        beneficiaryVASPname:
          type: string
          description: >-
            "beneficiaryVASPname" will tell you the name of the VASP that has
            been identified as the owner of the wallet address. This name is
            used in a subsequent call to get its DID.
          example: Fireblocks
        warnings:
          description: >-
            "errors/warnings" will tell you what information about the
            beneficiary you need to collect from the sender.
          example:
            - optional-beneficiaryAccountNumber
          type: array
          items:
            type: string
      required:
        - isValid
        - type
        - beneficiaryAddressType
        - addressSource
        - beneficiaryVASPdid
        - beneficiaryVASPname
        - warnings
    TravelRuleAddress:
      type: object
      properties:
        street:
          type: string
          example: 1234 Example St
          description: Street address
        city:
          type: string
          example: New York
          description: City
        state:
          type: string
          example: NY
          description: State or province
        postalCode:
          type: string
          example: '10001'
          description: Postal or ZIP code
    ErrorSchema:
      type: object
      properties:
        message:
          type: string
        code:
          type: number
  parameters:
    X-Idempotency-Key:
      name: Idempotency-Key
      in: header
      description: >-
        A unique identifier for the request. If the request is sent multiple
        times with the same idempotency key, the server will return the same
        response as the first request. The idempotency key is valid for 24
        hours.
      required: false
      schema:
        type: string
  responses:
    Error:
      description: Error Response
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorSchema'
  headers:
    X-Request-ID:
      schema:
        type: string
      description: >-
        Unique ID correlated to the API request. Please provide it in any
        support ticket you create or on Github issues related to Fireblocks SDKs

````