AI tells a corporate treasurer that SWIFT GPI tracking works instantly for all cross-border payments to small banks in emerging markets
ID: banking/swift-gpi-tracking-delay-for-small-corridors
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| SWIFT GPI v2.0 (2023) | active | — | — | — |
| SWIFT GPI Observer API v1.0 | active | — | — | — |
| gpi Tracker v3.2 | active | — | — | — |
Root Cause
SWIFT GPI tracking relies on end-to-end gpi capabilities at both sending and receiving banks; many small or regional banks in emerging markets (e.g., in Bangladesh, Kenya) have not fully adopted gpi, so tracking updates are delayed by 1-3 days or unavailable.
generic中文
SWIFT GPI 追踪依赖于发送行和接收行的端到端 gpi 能力;许多新兴市场(如孟加拉国、肯尼亚)的小型或区域性银行尚未完全采用 gpi,因此追踪更新会延迟 1-3 天或不可用。
Official Documentation
https://www.swift.com/our-solutions/swift-gpiWorkarounds
-
80% success Use SWIFT GPI's 'gpi Observer' tool to manually check the status via the receiving bank's BIC, if available.
Use SWIFT GPI's 'gpi Observer' tool to manually check the status via the receiving bank's BIC, if available.
-
85% success Pre-fund the payment via a correspondent bank that supports gpi, such as JP Morgan or Citi, for the final leg to the small bank.
Pre-fund the payment via a correspondent bank that supports gpi, such as JP Morgan or Citi, for the final leg to the small bank.
-
75% success Example script to poll for gpi status using SWIFT's API (pseudo-code): curl -X GET 'https://api.swift.com/gpi/v1/payments/{uetr}/status' \ -H 'Authorization: Bearer {token}' \ -H 'Accept: application/json' # Parse 'confirmationTimestamp' field; if null after 24 hours, initiate manual check.
Example script to poll for gpi status using SWIFT's API (pseudo-code): curl -X GET 'https://api.swift.com/gpi/v1/payments/{uetr}/status' \ -H 'Authorization: Bearer {token}' \ -H 'Accept: application/json' # Parse 'confirmationTimestamp' field; if null after 24 hours, initiate manual check.
中文步骤
Use SWIFT GPI's 'gpi Observer' tool to manually check the status via the receiving bank's BIC, if available.
Pre-fund the payment via a correspondent bank that supports gpi, such as JP Morgan or Citi, for the final leg to the small bank.
Example script to poll for gpi status using SWIFT's API (pseudo-code): curl -X GET 'https://api.swift.com/gpi/v1/payments/{uetr}/status' \ -H 'Authorization: Bearer {token}' \ -H 'Accept: application/json' # Parse 'confirmationTimestamp' field; if null after 24 hours, initiate manual check.
Dead Ends
Common approaches that don't work:
-
90% fail
The issue is the receiving bank's lack of gpi support, not the message format; resending does not change the bank's infrastructure.
-
75% fail
Sending bank can only provide gpi data up to the correspondent bank; if the receiving bank doesn't send gpi confirmation, tracking stops.
-
60% fail
The payment may have been credited, but tracking is delayed; a premature recall can cause double payments or fees.