Statuses

Every institution on a transfer keeps its own state, and no state is shared between them. Two statuses matter most: your own, My Status in the dashboard, and the transaction status, Tx Status, which combines every institution’s status with the settlement. It is normal for the two to differ while a transfer is in progress.

My Status and Transaction status, together

Read the two together to know where a transfer stands and whether it waits on you.

Your statusTransaction statusWhat it means
PendingActiveSomething is still open on your side: your policies are running or flagged the transfer, or a requirement is not met. requires_action says whether it waits on you.
AuthorizedActiveYour side is done, and another institution has not authorized the transfer yet. There is nothing for you to do.
AuthorizedReadyToSettleEvery institution has authorized the transfer. The originator’s institution sends the funds.
RejectedRejectedYour side rejected the transfer. Another institution’s rejection also makes it Rejected.
Your statusTransaction statusWhat it means
PendingActiveSomething is still open on your side: your policies are running or flagged the transfer, or a requirement is not met. requires_action says whether it waits on you.
AuthorizedActiveYour side is done, and another institution has not authorized the transfer yet. There is nothing for you to do.
AuthorizedReadyToSettleEvery institution has authorized the transfer. The originator’s institution sends the funds.
RejectedRejectedYour side rejected the transfer. Another institution’s rejection also makes it Rejected.

Your status (My Status)

Your status says where your institution stands on the transfer. It is public, so every institution on the transfer sees the status of every other one, but not why. In the API, it is the status of your own entry in the transfer’s agents, the one with your DID and the role VASP. The other entries in agents, such as the settlement address, do not count towards any status.

StatusWhat it means
PendingYour policies are still running or flagged the transfer, or one of your requirements is still open.
AuthorizedYour policies approved the transfer, and every requirement on your side is satisfied, skipped or not applicable.
RejectedYour policies or your team rejected the transfer.
CanceledThe originator’s institution, which created the transfer, canceled it before settlement. No other institution can cancel.
StatusWhat it means
PendingYour policies are still running or flagged the transfer, or one of your requirements is still open.
AuthorizedYour policies approved the transfer, and every requirement on your side is satisfied, skipped or not applicable.
RejectedYour policies or your team rejected the transfer.
CanceledThe originator’s institution, which created the transfer, canceled it before settlement. No other institution can cancel.

Your status can still change after it is Authorized. When something on the transfer changes and your policies run again, a new flag or a reopened requirement puts it back to Pending, and a rejection makes it Rejected. When your team overrides a flag with POST /api/v1/transfers/{id}/force-authorize, it becomes Authorized straight away and every open requirement your institution set becomes Skipped. Requirements another institution set for you stay open until you meet them, and the hold on personal data is never skipped.

Transaction status

The transaction status says where the transfer stands across every institution. It is the status of the transfer itself, which Notabene derives from every institution’s status and the settlement. When an institution has canceled, the transfer is Canceled even if another one rejected it.

How a transfer’s status moves

Before settlement

Active

At least one institution is still Pending.

ReadyToSettle

Every institution is Authorized. The sender can send the funds.

Ends before settlement

An institution rejects the transfer, or the originator cancels it.

RejectedCanceled

The funds move before everyone authorized

The sender records the transaction hash

After settlement

SettledIncompleteAuthorization

The funds moved while an institution is not Authorized yet. It becomes Settled once they are.

Settled

The funds moved and every institution is Authorized.

SettledCanceled

The funds moved after the originator canceled the transfer.

Funds have to come back

Revert

RevertRequested

A revert was requested. It returns the funds as a new transfer, linked to this one.

RevertAuthorized

The revert was authorized.

Reverted

The revert settled on chain.

A revert can also end

RevertedIncompleteAuthorization

The revert settled before it was authorized.

RevertRejected

The revert was refused.

RevertCanceled

The revert was withdrawn.

Once a transfer is settled, it never returns to a status before settlement. Settled can still move back to SettledIncompleteAuthorization, for example when an institution rejects the transfer after settlement over a compliance issue, and returning the funds then takes a revert.

StatusWhat it meansWhat your backend does
ActiveAt least one institution is still Pending.Nothing, unless something waits on you: then the transfer’s requires_action is true and you receive requirements.pending.v3.
ReadyToSettleEvery institution is Authorized.As the sender, send the funds and record the transaction hash with POST/api/v1/transfers/{id}/settle.
RejectedAt least one institution rejected the transfer.Do not send the funds.
CanceledThe originator canceled the transfer before settlement.Do not send the funds.
SettledThe funds moved and every institution is Authorized.As the beneficiary, credit your customer.
SettledIncompleteAuthorizationThe funds moved while at least one institution is not Authorized yet. It becomes Settled once they are.Keep answering what is asked. A transfer you create from a deposit is here within a second of being created.
SettledCanceledThe funds moved after the originator canceled the transfer.Look into it.
StatusWhat it meansWhat your backend does
ActiveAt least one institution is still Pending.Nothing, unless something waits on you: then the transfer’s requires_action is true and you receive requirements.pending.v3.
ReadyToSettleEvery institution is Authorized.As the sender, send the funds and record the transaction hash with POST /api/v1/transfers/{id}/settle.
RejectedAt least one institution rejected the transfer.Do not send the funds.
CanceledThe originator canceled the transfer before settlement.Do not send the funds.
SettledThe funds moved and every institution is Authorized.As the beneficiary, credit your customer.
SettledIncompleteAuthorizationThe funds moved while at least one institution is not Authorized yet. It becomes Settled once they are.Keep answering what is asked. A transfer you create from a deposit is here within a second of being created.
SettledCanceledThe funds moved after the originator canceled the transfer.Look into it.

Each time the transaction status changes, your webhook endpoint receives transfer.status_changed.v3 with the status before and after. When your policies hold the transfer for review, the transfer reads requires_action: true until your team decides. Webhooks describes the other events.

JSON
{
  "eventType": "transfer.status_changed.v3",
  "payload": {
    "id": "8f3c2a1e-5b7d-4c90-a1f2-3e4d5c6b7a80",
    "for": "did:web:example.com:pt",
    "fromStatus": "ReadyToSettle",
    "toStatus": "Settled",
    "settlementId": "eip155:1:tx/0x7d3c9e1f0a2b4c6d8e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d"
  }
}
{
  "eventType": "transfer.status_changed.v3",
  "payload": {
    "id": "8f3c2a1e-5b7d-4c90-a1f2-3e4d5c6b7a80",
    "for": "did:web:example.com:pt",
    "fromStatus": "ReadyToSettle",
    "toStatus": "Settled",
    "settlementId": "eip155:1:tx/0x7d3c9e1f0a2b4c6d8e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d"
  }
}

Reverts

To return the funds of a settled transfer, request a revert with POST /api/v1/transfers/{id}/revert and a reason, which is shared with the counterparty. The revert is a new transfer linked to the original, and the funds go back to the original source_address or to the settlement_address you give. The counterparty authorizes it like any other transfer, and the original transfer’s status follows it.

StatusWhat it means
RevertRequestedA revert was requested.
RevertAuthorizedThe revert was authorized.
RevertedThe revert settled on chain.
RevertedIncompleteAuthorizationThe revert settled before it was authorized.
RevertRejectedThe revert was refused.
RevertCanceledThe revert was withdrawn.
StatusWhat it means
RevertRequestedA revert was requested.
RevertAuthorizedThe revert was authorized.
RevertedThe revert settled on chain.
RevertedIncompleteAuthorizationThe revert settled before it was authorized.
RevertRejectedThe revert was refused.
RevertCanceledThe revert was withdrawn.

Other statuses on a transfer

Under the two main statuses, three more say what is still open and why.

StatusWhere you see itWho sees itValues
Requirement statusThe status of each requirement, under policies in agents.Every institution on the transferPending, Satisfied, Skipped, Rejected, and Partially satisfied and N/A
Your policies’ verdictYour audit trail.Only youApprove, Flag, Reject. The audit trail writes Approve as Authorize.
Your send statusThe transfer’s timeline in the dashboard.Only youSent, Pending
StatusWhere you see itWho sees itValues
Requirement statusThe status of each requirement, under policies in agents.Every institution on the transferPending, Satisfied, Skipped, Rejected, and Partially satisfied and N/A
Your policies’ verdictYour audit trail.Only youApprove, Flag, Reject. The audit trail writes Approve as Authorize.
Your send statusThe transfer’s timeline in the dashboard.Only youSent, Pending

Pending appears three times: your status waits on your side, a requirement waits on the institution that must meet it, and your send status waits on the counterparty.

Requirement statuses

A requirement is something that must happen before an institution can be authorized, such as receiving the Travel Rule data or confirming a deposit address. Every requirement has an institution that sets it and an institution that must satisfy it, and each has its own status.

StatusWhat it means
PendingNot done yet. When it is yours to do, you receive requirements.pending.v3.
SatisfiedDone.
Partially satisfiedPart of the Travel Rule data was sent or received. It only applies to sending and receiving Travel Rule data.
SkippedIts time-out ran out, the institution that set it skipped it, or a force-authorize overrode it.
RejectedThe institution that set it refused it.
N/AIt does not apply to this transfer.
StatusWhat it means
PendingNot done yet. When it is yours to do, you receive requirements.pending.v3.
SatisfiedDone.
Partially satisfiedPart of the Travel Rule data was sent or received. It only applies to sending and receiving Travel Rule data.
SkippedIts time-out ran out, the institution that set it skipped it, or a force-authorize overrode it.
RejectedThe institution that set it refused it.
N/AIt does not apply to this transfer.

In the API, a requirement’s status reads Pending, Satisfied, Skipped or Rejected. The values for Partially satisfied and N/A are still to be published. (placeholder)

Only the institution that set a requirement can skip or reject it, and every skip is recorded in your audit trail, whatever its cause.

Your policies’ verdict

Your policies give each transfer a verdict: approve, flag or reject. Because the verdict is private, the other institutions only see its effect on your status, and a flag keeps that status Pending until a person on your team decides. Your audit trail records it as transaction.compliance.evaluated events whose details.decision is Authorize, Flag or Reject.

Your send status

Your send status, which only you see, says whether your Travel Rule data has reached each counterparty: Sent, or Pending while the counterparty cannot receive it. Sending happens in two steps: the transfer details go first, and your customer’s personal data is held until the counterparty confirms that the destination address belongs to its customer. A counterparty still on Transact v1 receives all the data in the first message.

The hold on personal data cannot be skipped, so a transfer can be Authorized while no personal data has been sent yet. Sending and authorizing are independent, and your status does not wait for your data to be sent unless you turned on the requirement to transmit Travel Rule data.

Statuses on other records

StatusWhere it is explained
Token and blockchain support (Supported, Watched, Not supported, Not reviewed)Assets
Self-hosted wallet proofs (Submitted, Accepted, Failed)Wallets
Customer records (relationship)Customers
StatusWhere it is explained
Token and blockchain support (Supported, Watched, Not supported, Not reviewed)Assets
Self-hosted wallet proofs (Submitted, Accepted, Failed)Wallets
Customer records (relationship)Customers

Did this page help you?