Action Transfer
PATCH /api/v2/travelrule/transfers/{transfer_id OR reference_id}/{action}
This endpoint is used to take actions on a transfer depending on the current transfer status.
Path Parameters
transfer_id
string
A system-generated identifier unique to each transaction
Example: 0663cc41-ef29-7995-8000-2d9b414b3174
reference_id
string
A unique identifier provided by the originator when initiating the transfer.
Example: transfer20250312040414
action
string
The action to be applied. See list of supported actions below.
NOTE: querying the transfer details by reference_Id is only supported for transfer requests created by the user (outgoing transfers).
Querying by reference_id won't work for recipients of the transfer request (incoming transfers).
Transfers can be queried using either the transfer_id or the reference_id.
reference_id: A unique identifier provided by the originator when initiating the transfer. It serves as a reference to track and retrieve transfer details and is only applicable for outgoing transfers. For incoming transfers, reference_id is not supported.
transfer_id: A system-generated identifier unique to each transaction. It can be used to track and retrieve details for both outgoing and incoming transfers.
Request Body
retry
boolean
Indicates if transfer request should be updated for resending.
True if action is "reject"
reject_error
string
The rejection error code of the transfer request. See below for the list of error codes.
True if action is "reject"
message
string
Additional information on why transfer request is rejected.
True if action is "reject"
transaction_hash
string
The blockchain transaction hash of the completed crypto transaction.
True if action is "complete"
Transfer Status and Supported Actions
The allowed transfer actions depend on the protocol used and whether the transfer is outgoing or incoming. An outgoing transfer is initiated by the VASP to send a transfer request to a counterparty, while an incoming transfer is a transfer request received by the counterparty VASP. Each action taken—such as “accept,” “reject,” or “complete”—triggers a change in the transfer’s status, ensuring that the workflow reflects the real-time state of the transaction.
-
INITIATED
The transfer request is sent to the beneficiary VASP using the Create Transfer endpoint.
-
REVIEW
The transfer request is being reviewed by the beneficiary VASP.
cancel
CANCELED
The originator VASP canceled the transfer request using the Action Transfer endpoint.
repair
REVIEW
The originator VASP updates the transfer request based on the rejection reason using the Action Transfer endpoint.
reject
REJECTED
The beneficiary VASP rejected the originator VASP’s request, providing a reason and indicating whether a retry is allowed, using the Action Transfer endpoint.
accept
ACCEPTED
The beneficiary VASP accepted the transfer request, allowing the originator VASP to proceed with executing the crypto transaction using the Action Transfer endpoint.
complete
COMPLETED
The originator VASP has completed the execution of the crypto transaction using the Action Transfer endpoint.
flow
cancel → CANCELED repair → REVIEW complete → COMPLETED
accept → ACCEPTED reject → REJECTED
trisa
repair → REVIEW complete → COMPLETED
accept → ACCEPTED reject → REJECTED
trp
complete → COMPLETED
accept → ACCEPTED reject → REJECTED
Reject Transfer Error Codes
0
REJECTED
Default rejection reason.
1
UNKNOWN_WALLET_ADDRESS
VASP doesn't control the beneficiary wallet address.
2
UNKNOWN_ORIGINATOR
The originator account can't be identified.
3
UNKNOWN_BENEFICIARY
The beneficiary account can't be identified.
4
UNSUPPORTED_CURRENCY
VASP doesn't support the specified cryptocurrency.
5
EXCEEDED_TRADING_VOLUME
VASP can't receive more transaction inflows.
6
COMPLIANCE_CHECK_FAIL
VASP internal compliance check has failed.
7
NO_COMPLIANCE
VASP not able to implement travel rule compliance.
8
HIGH_RISK
VASP unwilling to proceed with the transaction after risk assessment.
9
OUT_OF_NETWORK
Wallet address or transaction is not available on the specified blockchain network.
10
BAD_REQUEST
11
UNPARSEABLE_IDENTITY
Unable to parse identity record.
12
PRIVATE_INFO_WRONG_FORMAT
13
UNPARSEABLE_TRANSACTION
Unable to parse transaction data record.
14
MISSING_FIELDS
There are missing required fields in the transaction data.
15
INCOMPLETE_IDENTITY
The identity record is not complete enough for compliance purposes.
16
VALIDATION_ERROR
There was an error validating a field in the transaction data.
17
COMPLIANCE_PERIOD_EXCEEDED
The review period has exceeded the required compliance timeline.
18
CANCELED
The transfer request was canceled.
Understanding Travel Rule Transfer Statuses
The status of a Travel Rule transfer evolves as the transfer progresses through different stages. Importantly, the status can differ depending on the point of view:
Originator’s View - The sender (originator) sees the status reflecting the current action they have completed or are awaiting confirmation on. Beneficiary’s View - The recipient (beneficiary) sees a status representing what is pending on their side, such as needing to review, accept, or reject the transfer.
This dual perspective ensures that each party clearly understands their respective responsibilities at any given stage.
Sample Requests
Response
Last updated