{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-guides/product/send-money/sidebars.yaml","oas-api-reference/@latest/index.yaml":"oas-api-reference/@latest/index.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition","partial","openapi-code-sample"]},"type":"markdown"},"seo":{"title":"Tracking transfers","siteUrl":"https://docs.wise.com","projectTitle":"Wise Platform","description":"Tracking transfers via webhooks and understanding statuses and delivery estimates for Wise transfers.","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":["openapi"],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"tracking-transfers","__idx":0},"children":["Tracking transfers"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Subscribe to the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-reference/webhook-event/eventtransfersstatechange"},"children":["transfer state change event webhook"]}," to receive notifications when a transfer status changes."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use this webhook payload to keep the statuses of your local transfer data storage up to date."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"transfer-statuses","__idx":1},"children":["Transfer statuses"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Here is the full list of transfer statuses and what they mean in the order of occurrence:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"width":"30%","data-label":"Tracking status"},"children":["Tracking status "]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["incoming_payment_waiting"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The transfer has been submitted and Wise is waiting for the funds to arrive."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["incoming_payment_initiated"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The funding has been initiated but the money has not yet arrived to Wise's account."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["processing"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Wise has received the funds and is processing the transfer. ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"em","attributes":{},"children":["Processing"]}," is a generic term that means Wise is doing behind-the-scenes activities – like AML, compliance, and fraud checks – before the money is sent to the recipient."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["funds_converted"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["All compliance checks have been completed for the transfer and funds have been converted from the source currency to the target currency."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["outgoing_payment_sent"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Wise has paid out funds to the recipient. ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["This is the final state of the transfer, assuming funds will not be returned"]},". ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"When a transfer is in this state, it does not mean the money has arrived in the recipient’s bank account, only that Wise has sent it."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cancelled"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["This status is used when the transfer was never funded and therefore never processed. For transfers that were never funded, this is the final state of the transfer."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["funds_refunded"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["This status indicates a transfer has been refunded to the sender. This is a final state of a transfer that was funded and then cancelled."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["bounced_back"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The transfer has bounced back but has not yet been cancelled or refunded. This status  means the transfer will either be delivered with delay or it will go into the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["funds_refunded"]}," state."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["charged_back"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["This status is used when Wise is unable to debit the payer's account for some reason, or the payer requested the funds back. The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["charged_back"]}," status can follow from any other transfer status."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["unknown"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["This status is used when Wise does not have enough information to move the transfer into a final state. Wise sends out an email for more information when this occurs (for example: the sender requests a refund but Wise doesn't have all necessary account details)."]}]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Transfers support rollback transitions, which allows you to return a transfer back to one of its previous states."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"recommended-status-descriptions","__idx":2},"children":["Recommended status descriptions"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Transfer statuses in the Wise API have different names than what you see on our website or in our app. That’s because we use more consumer-friendly language in our product front end. For example \"Completed\" on our website means ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["outgoing_payment_sent"]}," in the API."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Consider using the following consumer-friendly descriptions in your app for the transfer statuses returned from the Wise API:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"width":"30%","data-label":"Status"},"children":["Status "]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["incoming_payment_waiting"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["\"On its way to Wise\""]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["incoming_payment_initiated"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["\"On its way to Wise\""]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["processing"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["\"Processing\""]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["funds_converted"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["\"Processing\""]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["outgoing_payment_sent"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["\"Payment sent\""]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["charged_back"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["\"Funds returned to sender\""]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cancelled"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["\"Payment cancelled\""]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["funds_refunded"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["\"Payment refunded\""]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["bounced_back"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["\"Bounced back\""]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["unknown"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["\"Payment status unknown\""]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"transfer-status-flow","__idx":3},"children":["Transfer status flow"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The typical transfers ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["happy path"]}," looks like this:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["incoming_payment_waiting"]}," → ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["processing"]}," → ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["funds_converted"]}," → ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["outgoing_payment_sent"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["outgoing_payment_sent"]}," status is the final state of the normal flow and means Wise has sent the payout to the recipient bank/payment network. It does not guarantee the recipient bank has credited the beneficiary account yet."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If the payment fails and is returned, the following ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["unhappy path"]}," occurs:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["outgoing_payment_sent"]}," → ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["bounced_back"]}," → ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["processing"]}," → ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cancelled"]}," → ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["funds_refunded"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This type of flow can occur, for example, if the recipient bank account does not exist or the data is entered incorrectly and the payment is returned to Wise."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Most bounce backs occur within 2-3 business days. However, they can happen up to several weeks after a transfer is sent."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Payout speeds"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Payment systems in different regions operate at different speeds and frequency. For example, in the UK funds will reach the recipient bank account within few minutes after Wise sends the outgoing payment. However, in the US it usually takes a day until funds are received."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"https://wise.com/public-resources/assets/api-docs/transfer_state_diagram.svg","alt":"\"Transfer state flow diagram\""},"children":[]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"delivery-estimate","__idx":4},"children":["Delivery estimate"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can retrieve the live delivery estimate for a transfer by its transfer ID. The estimate is the time at which we currently expect the transfer to arrive in the beneficiary's bank account. While this is not a ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["guaranteed"]}," time, we work to make these estimates as accurate as possible."]},{"$$mdtype":"Tag","name":"OpenApiCodeSample","attributes":{"descriptionFile":"oas-api-reference/@latest/index.yaml","operationId":"deliveryEstimateGet","parameters":{},"environments":{},"codeSamplesResolved":[{"lang":"shell","title":"curl","source":"curl -i -X GET \\\n  'https://api.wise.com/2026Q3/delivery-estimates/12345678?timezone=Asia%2FSingapore' \\\n  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \\\n  -H 'X-External-Correlation-Id: f47ac10b-58cc-4372-a567-0e02b2c3d479'"},{"lang":"javascript","title":"JavaScript","source":"const query = new URLSearchParams({\n  timezone: 'Asia/Singapore'\n}).toString();\n\nconst transferId = '12345678';\nconst resp = await fetch(\n  `https://api.wise.com/2026Q3/delivery-estimates/${transferId}?${query}`,\n  {\n    method: 'GET',\n    headers: {\n      'X-External-Correlation-Id': 'f47ac10b-58cc-4372-a567-0e02b2c3d479',\n      Authorization: 'Bearer <YOUR_JWT_HERE>'\n    }\n  }\n);\n\nconst data = await resp.text();\nconsole.log(data);"},{"lang":"javascript","title":"Node.js","source":"import fetch from 'node-fetch';\n\nasync function run() {\n  const query = new URLSearchParams({\n    timezone: 'Asia/Singapore'\n  }).toString();\n\n  const transferId = '12345678';\n  const resp = await fetch(\n    `https://api.wise.com/2026Q3/delivery-estimates/${transferId}?${query}`,\n    {\n      method: 'GET',\n      headers: {\n        'X-External-Correlation-Id': 'f47ac10b-58cc-4372-a567-0e02b2c3d479',\n        Authorization: 'Bearer <YOUR_JWT_HERE>'\n      }\n    }\n  );\n\n  const data = await resp.text();\n  console.log(data);\n}\n\nrun();"},{"lang":"python","title":"Python","source":"import requests\n\ntransfer_id = \"12345678\"\nurl = \"https://api.wise.com/2026Q3/delivery-estimates/\" + transfer_id\n\nquery = {\n  \"timezone\": \"Asia/Singapore\"\n}\n\nheaders = {\n  \"X-External-Correlation-Id\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\",\n  \"Authorization\": \"Bearer <YOUR_JWT_HERE>\"\n}\n\nresponse = requests.get(url, headers=headers, params=query)\n\ndata = response.json()\nprint(data)"},{"lang":"java","title":"Java","source":"import java.net.*;\nimport java.net.http.*;\nimport java.util.*;\nimport java.nio.charset.StandardCharsets;\nimport java.util.stream.Collectors;\n\npublic class App {\n  public static void main(String[] args) throws Exception {\n    var httpClient = HttpClient.newBuilder().build();\n\n    HashMap<String, String> params = new HashMap<>();\n    params.put(\"timezone\", \"Asia/Singapore\");\n\n    var query = params.keySet().stream()\n      .map(key -> key + \"=\" + URLEncoder.encode(params.get(key), StandardCharsets.UTF_8))\n      .collect(Collectors.joining(\"&\"));\n\n    var host = \"https://api.wise.com\";\n    var transferId = \"12345678\";\n    var pathname = \"/2026Q3/delivery-estimates/%7BtransferId%7D\";\n    var request = HttpRequest.newBuilder()\n      .GET()\n      .uri(URI.create(host + pathname + '?' + query))\n      .header(\"X-External-Correlation-Id\", \"f47ac10b-58cc-4372-a567-0e02b2c3d479\")\n      .header(\"Authorization\", \"Bearer <YOUR_JWT_HERE>\")\n      .build();\n\n    var response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());\n\n    System.out.println(response.body());\n  }\n}"},{"lang":"csharp","title":"C#","source":"using System;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\npublic class Program\n{\n  public static async Task Main()\n  {\n    System.Net.Http.HttpClient client = new()\n    {\n      DefaultRequestHeaders =\n      {\n        {\"X-External-Correlation-Id\", \"f47ac10b-58cc-4372-a567-0e02b2c3d479\"},\n        {\"Authorization\", \"Bearer <YOUR_JWT_HERE>\"},\n      }\n    };\n\n      var TransferId = \"12345678\";\n    using HttpResponseMessage request = await client.GetAsync(\"https://api.wise.com/2026Q3/delivery-estimates/\" + TransferId + \"?timezone=Asia%2FSingapore\");\n    string response = await request.Content.ReadAsStringAsync();\n\n    Console.WriteLine(response);\n  }\n}"},{"lang":"php","title":"PHP","source":"/**\n * Requires libcurl\n */\n\nconst transferId = \"12345678\";\n$query = array(\n  \"timezone\" => \"Asia/Singapore\"\n);\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer <YOUR_JWT_HERE>\",\n    \"X-External-Correlation-Id: f47ac10b-58cc-4372-a567-0e02b2c3d479\"\n  ],\n  CURLOPT_URL => \"https://api.wise.com/2026Q3/delivery-estimates/\" . transferId . \"?\" . http_build_query($query),\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n]);\n\n$response = curl_exec($curl);\n$error = curl_error($curl);\n\ncurl_close($curl);\n\nif ($error) {\n  echo \"cURL Error #:\" . $error;\n} else {\n  echo $response;\n}"},{"lang":"go","title":"Go","source":"package main\n\nimport (\n  \"fmt\"\n  \"net/http\"\n  \"io/ioutil\"\n)\n\nfunc main() {\n  transferId := \"12345678\";\n  reqUrl := \"https://api.wise.com/2026Q3/delivery-estimates/\" + transferId\n  req, err := http.NewRequest(\"GET\", reqUrl, nil)\n\n  query := req.URL.Query()\n  query.Add(\"timezone\", \"Asia/Singapore\")\n  req.URL.RawQuery = query.Encode()\n\n  if err != nil {\n    panic(err)\n  }\n  req.Header.Add(\"X-External-Correlation-Id\", \"f47ac10b-58cc-4372-a567-0e02b2c3d479\")\n  req.Header.Add(\"Authorization\", \"Bearer <YOUR_JWT_HERE>\")\n  res, err := http.DefaultClient.Do(req)\n  if err != nil {\n    panic(err)\n  }\n  defer res.Body.Close()\n  body, err := ioutil.ReadAll(res.Body)\n  if err != nil {\n    panic(err)\n  }\n\n  fmt.Println(res)\n  fmt.Println(string(body))\n}"},{"lang":"ruby","title":"Ruby","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\ntransfer_id = '12345678'\nurl = URI('https://api.wise.com/2026Q3/delivery-estimates/' + transfer_id)\nparams = {\n  timezone: 'Asia/Singapore'\n}\nurl.query = URI.encode_www_form(params)\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\n\nrequest = Net::HTTP::Get.new(url)\nrequest['X-External-Correlation-Id'] = 'f47ac10b-58cc-4372-a567-0e02b2c3d479'\nrequest['Authorization'] = 'Bearer <YOUR_JWT_HERE>'\n\nresponse = http.request(request)\nputs response.read_body\n"},{"lang":"r","title":"R","source":"library(httr)\n\ntransfer_id = \"12345678\"\n\n# create you own operator\n\"%&%\" <- function(x, y)paste0(x,y)\n\nurl = \"https://api.wise.com/2026Q3/delivery-estimates/\" %&% transfer_id %&% \"?timezone=Asia%2FSingapore\"\n\ndata_req <- GET(\n  url,\n  add_headers(\"X-External-Correlation-Id\" = \"f47ac10b-58cc-4372-a567-0e02b2c3d479\", \"Authorization\" = \"Bearer <YOUR_JWT_HERE>\"),\n  verbose()\n)\n\ncontent(data_req)"}]},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For request/response details, see the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-reference/delivery-estimate"},"children":["delivery estimate endpoint reference"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"id":"test-transfer-statuses","level":2,"__idx":5},"children":["Testing transfer statuses "]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Since the sandbox environment does not have the full processing capabilities of a live environment, we provide ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-reference/simulation/simulationtransferstatechange"},"children":["transfer state change simulation endpoints"]}," to allow moving transfers to various states, including triggering the Transfer State Change webhook event."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Available statuses (must be called in order):"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["processing"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["funds_converted"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["outgoing_payment_sent"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["bounced_back"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["funds_refunded"]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Sandbox simulation requirements"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Fund the transfer first, and wait at least ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["5 seconds"]}," between simulation calls (processing is asynchronous)."]}]}]},"headings":[{"value":"Tracking transfers","id":"tracking-transfers","depth":1},{"value":"Transfer statuses","id":"transfer-statuses","depth":2},{"value":"Recommended status descriptions","id":"recommended-status-descriptions","depth":3},{"value":"Transfer status flow","id":"transfer-status-flow","depth":3},{"value":"Delivery estimate","id":"delivery-estimate","depth":2},{"value":"Testing transfer statuses","id":"test-transfer-statuses","depth":2}],"frontmatter":{"seo":{"description":"Tracking transfers via webhooks and understanding statuses and delivery estimates for Wise transfers.","title":"Tracking transfers"}},"lastModified":"2026-07-16T12:55:37.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/guides/product/send-money/tracking/transfer-statuses","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}