Account verification helps you confirm beneficiary account details before processing payments. This service communicates directly with banking systems to verify account details across multiple countries. This feature provides several benefits:
  • Improves user trust during payment setup by confirming recipient details
  • Prevents failed payments due to name mismatches on the recipient bank side
  • Reduces fraud risk by verifying recipient identity before funds transfer

Submit account verification request

Submit a payment instruction to initiate account verification. Account verification supports two processing modes depending on the corridor:
  • Asynchronous corridors: The endpoint immediately returns a PENDING account verification object, allowing you to track the verification progress by its ID or receive real-time updates via webhooks.
  • Synchronous corridors: The endpoint returns a completed verification result immediately.
POST /payments/verifications
Request
{
  "country": "AR",
  "creditorAccount": {
    "id": {
      "value": "9990000100000000000000",
      "type": "ACCOUNT_NUMBER"
    }
  }
}
Response
{
  "id": "3404bd69-c7ca-4ce0-8a65-358cbf2ee32f",
  "createdDate": "2025-06-30T12:54:14.418745Z",
  "updatedDate": "2025-06-30T12:54:16.894150Z",
  "state": "PENDING"
}
Before starting the verification process, the API validates your request to ensure it contains all required fields and properly formatted data for the specified corridor. If any mandatory fields are missing or incorrectly formatted, the verification cannot proceed successfully. In such cases, the API returns a 400 Bad Request error immediately instead of accepting an account verification request. Before submitting account verification requests, we recommend using the payment validation endpoint. This validation step helps ensure your verification request has the best chance of acceptance and provides immediate feedback on any formatting issues.

Real-time updates

To stay informed about the progress of your account verification requests, we recommend setting up webhooks and subscribing to account verification event types. This ensures your system is immediately notified when verification requests are submitted and when results become available. Available event types:
  • ACCOUNT_VERIFICATION.SUBMITTED - triggered when a verification request is submitted
  • ACCOUNT_VERIFICATION.COMPLETED - triggered when verification finishes with a result
  • ACCOUNT_VERIFICATION.FAILED - triggered when verification fails
For detailed instructions on how to set up and manage webhooks, please refer to our webhooks guide.

Retrieve account verification result

Check the status and result of an account verification using the verification ID returned from the submission request. GET /payments/verifications/{verificationId}
Response
{
    "id": "3404bd69-c7ca-4ce0-8a65-358cbf2ee32f",
    "createdDate": "2025-06-30T12:54:14.418745Z",
    "updatedDate": "2025-06-30T12:54:16.894150Z",
    "state": "COMPLETED",
    "result": {
        "accountStatus": "ACTIVE",
        "accountHolderName": {
            "verifiedName": "ROBERTO CARLOS"
        }
    }
}

Corridor specifications

Each corridor has specific verification capabilities, field requirements, and formatting standards. Some countries only require the account number to perform verification, while others require additional information such as bank codes, account types, and beneficiary identification document numbers.

Argentina

Processing mode: asynchronous Verification capabilities:
  • Account status: ACTIVE, NOT_FOUND
  • Beneficiary name disclosure
Example:
Request
{
  "country": "AR",
  "creditorAccount": {
    "id": {
      "value": "9990000100000000000000",
      "type": "ACCOUNT_NUMBER"
    }
  }
}
Response
{
    "id": "3404bd69-c7ca-4ce0-8a65-358cbf2ee32f",
    "createdDate": "2025-06-30T12:54:14.418745Z",
    "updatedDate": "2025-06-30T12:54:16.894150Z",
    "state": "COMPLETED",
    "result": {
        "accountStatus": "ACTIVE",
        "accountHolderName": {
            "verifiedName": "ROBERTO CARLOS"
        }
    }
}

Brazil

Processing mode: asynchronous Verification capabilities:
  • Account status: ACTIVE, NOT_FOUND
  • Beneficiary name disclosure
Example:
Request
{
  "country": "BR",
  "creditorAccount": {
    "id": {
      "value": "1001",
      "type": "ACCOUNT_NUMBER"
    },
    "type": "CHECKING"
  },
  "creditorAgent": {
    "clearingSystemMemberId": {
      "memberId": "999"
    },
    "branchId": "0001"
  },
  "creditor": {
    "documents": [
      {
        "value": "58.547.642/0001-95",
        "type": "CNPJ"
      }
    ]
  }
}
Response
{
    "id": "1f12ef1a-9bd1-4468-918e-ba9f34163778",
    "createdDate": "2025-06-30T12:54:57.848243Z",
    "updatedDate": "2025-06-30T12:55:00.577988Z",
    "state": "COMPLETED",
    "result": {
        "accountStatus": "ACTIVE",
        "accountHolderName": {
            "verifiedName": "JOÃO DAS NEVES"
        }
    }
}

Chile

Processing mode: asynchronous Verification capabilities:
  • Account status: ACTIVE, NOT_FOUND
  • Beneficiary name disclosure
Example:
Request
{
  "country": "CL",
  "creditorAccount": {
    "id": {
      "value": "1234567890",
      "type": "ACCOUNT_NUMBER"
    },
    "type": "CHECKING"
  },
  "creditorAgent": {
    "clearingSystemMemberId": {
      "memberId": "999"
    }
  },
  "creditor": {
    "documents": [
      {
        "value": "167131301",
        "type": "RUT"
      }
    ]
  }
}
Response
{
    "id": "2632762e-40b8-4935-858d-5bdd86fb34ea",
    "createdDate": "2025-06-30T13:09:32.503320Z",
    "updatedDate": "2025-06-30T13:09:34.573119Z",
    "state": "PENDING",
    "result": {
        "accountStatus": "ACTIVE",
        "accountHolderName": {
            "verifiedName": "ARTURO ERASMO VIDAL PARDO"
        }
    }
}

Colombia

Processing mode: asynchronous Verification capabilities:
  • Account status: ACTIVE, NOT_FOUND
  • Masked beneficiary name disclosure
Example:
Request
{
  "country": "CO",
  "creditorAccount": {
    "id": {
      "value": "000000001",
      "type": "ACCOUNT_NUMBER"
    },
    "type": "CHECKING"
  },
  "creditorAgent": {
    "clearingSystemMemberId": {
      "memberId": "999"
    }
  },
  "creditor": {
    "documents": [
      {
        "value": "123456789",
        "type": "CC"
      }
    ]
  }
}
Response
{
    "id": "5c980d05-d4ac-40d8-a6e1-7a7ec79c85ee",
    "createdDate": "2025-06-30T13:07:20.282976Z",
    "updatedDate": "2025-06-30T13:07:23.230231Z",
    "state": "COMPLETED",
    "result": {
        "accountStatus": "ACTIVE",
        "accountHolderName": {
            "verifiedName": "JAM** DAV** ROD****** RUB**"
        }
    }
}

Ecuador

Processing mode: asynchronous Verification capabilities:
  • Account status: ACTIVE, NOT_FOUND
  • Beneficiary name disclosure
Example:
Request
{
  "country": "EC",
  "creditorAccount": {
    "id": {
      "value": "1234",
      "type": "ACCOUNT_NUMBER"
    },
    "type": "CHECKING"
  },
  "creditorAgent": {
    "clearingSystemMemberId": {
      "memberId": "99"
    }
  },
  "creditor": {
    "documents": [
      {
        "value": "1790085783001",
        "type": "RUC"
      }
    ]
  }
}
Response
{
    "id": "cb68ae64-3ff5-4488-b90a-6eabaae64cbe",
    "createdDate": "2025-06-30T13:10:11.943605Z",
    "updatedDate": "2025-06-30T13:10:14.202128Z",
    "state": "PENDING",
    "result": {
        "accountStatus": "ACTIVE",
        "accountHolderName": {
            "verifiedName": "ENNER VALENCIA"
        }
    }
}

Mexico

Processing mode: asynchronous Verification capabilities:
  • Account status: ACTIVE, NOT_FOUND
  • Beneficiary name disclosure
Example:
Request
{
  "country": "MX",
  "creditorAccount": {
    "id": {
      "value": "999000000000000001",
      "type": "ACCOUNT_NUMBER"
    }
  }
}
Response
{
    "id": "6706d767-dba9-4c1d-8a61-6cf6ed08ca67",
    "createdDate": "2025-06-30T13:10:33.457054Z",
    "updatedDate": "2025-06-30T13:10:36.738128Z",
    "state": "COMPLETED",
    "result": {
        "accountStatus": "ACTIVE",
        "accountHolderName": {
            "verifiedName": "BANCO DE TAPITAS AC"
        }
    }
}

Peru

Processing mode: asynchronous Verification capabilities:
  • Account status: ACTIVE, NOT_FOUND
  • Beneficiary name disclosure
Example:
Request
{
  "country": "PE",
  "creditorAccount": {
    "id": {
      "value": "99900000000000000030",
      "type": "ACCOUNT_NUMBER"
    }
  }
}
Response
{
    "id": "d266fec3-6c57-4437-9198-7322e562e5c1",
    "createdDate": "2025-06-30T13:10:50.452143Z",
    "updatedDate": "2025-06-30T13:10:53.225936Z",
    "state": "COMPLETED",
    "result": {
        "accountStatus": "ACTIVE",
        "accountHolderName": {
            "verifiedName": "LEON ZARAMAY FEDOR"
        }
    }
}

Uruguay

Processing mode: asynchronous Verification capabilities:
  • Account status: ACTIVE, NOT_FOUND
  • Masked beneficiary name disclosure
Example:
Request
{
  "country": "UY",
  "creditorAccount": {
    "id": {
      "value": "0000",
      "type": "ACCOUNT_NUMBER"
    }
  },
  "creditorAgent": {
    "clearingSystemMemberId": {
      "memberId": "999"
    }
  }
}
Response
{
    "id": "23f9140b-faf9-4228-9698-21458d47eb1a",
    "createdDate": "2025-06-30T13:11:15.103800Z",
    "updatedDate": "2025-06-30T13:11:17.745244Z",
    "state": "COMPLETED",
    "result": {
        "accountStatus": "ACTIVE",
        "accountHolderName": {
            "verifiedName": "LE*** ZA****"
        }
    }
}

United Kingdom

Processing mode: synchronous Verification capabilities:
  • Account status: ACTIVE, INACTIVE, CLOSED, NOT_FOUND, FORBIDDEN, UNABLE_TO_MATCH
  • Beneficiary name match status: FULL_MATCH, PARTIAL_MATCH, NO_MATCH
  • Optional beneficiary name disclosure (typically in cases of PARTIAL_MATCH)
  • Account type match status: MATCH or NO_MATCH
Full match example:
Request
{
  "country": "GB",
  "creditorAccount": {
    "id": {
      "value": "12345678",
      "type": "ACCOUNT_NUMBER"
    }
  },
  "creditorAgent": {
    "clearingSystemMemberId": {
      "memberId": "123456"
    }
  },
  "creditor": {
    "type": "INDIVIDUAL",
    "name": "John Doe"
  }
}
Response
{
  "id": "cc80e84f-de34-4504-bb26-6edf9ac08793",
  "createdDate": "2025-08-22T11:58:26.123456Z",
  "updatedDate": "2025-08-22T11:58:26.123456Z",
  "state": "COMPLETED",
  "result": {
    "accountStatus": "ACTIVE",
    "accountHolderName": {
      "matchStatus": "FULL_MATCH"
    },
    "accountType": {
      "matchStatus": "MATCH"
    }
  }
}
Partial name match example:
Request
{
  "country": "GB",
  "creditorAccount": {
    "id": {
      "value": "12345678",
      "type": "ACCOUNT_NUMBER"
    }
  },
  "creditorAgent": {
    "clearingSystemMemberId": {
      "memberId": "123456"
    }
  },
  "creditor": {
    "type": "INDIVIDUAL",
    "name": "Jon Doe"
  }
}
Response
{
  "id": "ff3767ae-2e2b-4b29-85a8-3d9ad2d1572a",
  "createdDate": "2025-08-22T12:38:54.764819Z",
  "updatedDate": "2025-08-22T12:38:54.764819Z",
  "state": "COMPLETED",
  "result": {
    "accountStatus": "ACTIVE",
    "accountHolderName": {
      "matchStatus": "PARTIAL_MATCH",
      "verifiedName": "John Doe"
    },
    "accountType": {
      "matchStatus": "MATCH"
    }
  }
}
Account type mismatch example:
Request
{
  "country": "GB",
  "creditorAccount": {
    "id": {
      "value": "12345678",
      "type": "ACCOUNT_NUMBER"
    }
  },
  "creditorAgent": {
    "clearingSystemMemberId": {
      "memberId": "123456"
    }
  },
  "creditor": {
    "type": "BUSINESS",
    "name": "John Doe"
  }
}
Response
{
  "id": "273ea3b1-188f-455e-b5f3-fba2e8a3e021",
  "createdDate": "2025-08-22T12:38:56.169356Z",
  "updatedDate": "2025-08-22T12:38:56.169356Z",
  "state": "COMPLETED",
  "result": {
    "accountStatus": "ACTIVE",
    "accountHolderName": {
      "matchStatus": "FULL_MATCH"
    },
    "accountType": {
      "matchStatus": "NO_MATCH"
    }
  }
}

Processing times for asynchronous corridors

Account verification processing times vary by country based on the underlying banking infrastructure. These metrics apply only to asynchronous corridors.
CountryAverage time, in seconds99th percentile, in seconds
Argentina211
Brazil824
Chile667
Colombia338
Ecuador1269
Mexico98614
Peru750
Uruguay428
Processing times are measured from request submission to result availability. These metrics are based on recent production data and may vary based on banking system availability and network conditions.