External Account Validations
Understand how external accounts are verified, validated, and activated for transactions
External accounts must undergo a series of validations before they can be used for transactions. These validations ensure that account details are accurate, the account is operational, and regulatory checks are satisfied.
Validating an external account helps:
- Reduce ACH return risks (e.g., insufficient funds, closed accounts)
- Prevent fraudulent activity
- Improve success rates of debit and credit transactions
Depending on your program configuration, validations can be triggered during account creation or later using the validation API. Multiple validation methods may be applied before an account becomes fully active.
Validation & Activation Lifecycle
INACTIVE
↓
PENDING_VERIFICATION
↓
┌──────────────────────────────────────────────────────────────┐
│ VALIDATIONS IN PROGRESS │
│ │
│ 1. EWS (Instant Validation) │
│ PENDING → OPEN / VALIDATED ───────────────┐ │
│ → NOT_FOUND ────────┐ │ │
│ → INVALID_DEBIT_ACC │ │ │
│ → CLOSED / HIGH_RISK│ │ │
│ ↓ ↓ │
│ 2. PRENOTE (if ALWAYS / ON_FAILURE) │
│ PENDING → PROCESSING → COMPLETED ────────┐ │
│ → FAILED ────────────┘ │
│ │
│ 3. MICRO-DEPOSIT (if ALWAYS) │
│ PENDING → PROCESSING → AWAITING_VERIFICATION │
│ → COMPLETED ──────────┐ │
│ → RETURNED / FAILED ──┘ │
│ │
│ 4. OFAC (Compliance Check) │
│ PENDING → VERIFIED ───────────────────────┐ │
│ → UNDER_REVIEW │ │
│ → REJECTED ────────────────────────┘ │
│ │
│ 5. DOCUMENT VERIFICATION (Optional) │
│ PENDING → VERIFIED │
│ → REJECTED │
│ │
└──────────────────────────────────────────────────────────────┘
↓
┌───────────────────────┬──────────────────────────┬──────────────┐
│ ACTIVE │ ACTIVE (Credit Only) │ BLOCKED │
│ (All validations │ (Debit restricted due │ (Any critical│
│ successful) │ to validation outcomes) │ failure) │
└───────────────────────┴──────────────────────────┴──────────────┘
Key Notes:
- External accounts move from INACTIVE → PENDING_VERIFICATION upon validation initiation
- Multiple validations may run in parallel or as fallback mechanisms
- Final account status depends on combined validation outcomes, not a single method
External Account Status
External account status represents the current stage of validation and determines whether the account can be used for transactions.
| Status | Description |
|---|---|
INACTIVE | Default state upon account creation |
PENDING_VERIFICATION | Validation and compliance checks are in progress |
ACTIVE | Fully validated and ready for transactions |
ACTIVE (Credit Only) | Can receive funds but debit transactions are restricted |
BLOCKED | Account is restricted due to validation failure or risk signals |
How External Account Status is Determined
The final status of an external account is determined by the combined outcome of validation methods and compliance checks. The following table outlines how different outcomes impact the final status:
| Final Status | Trigger Conditions | Explanation |
|---|---|---|
| ACTIVE | Successful validation via EWS, Prenote, or Micro-deposit | The account has passed validation checks and is ready for transactions |
OFAC status is VERIFIED (or not applicable) | Compliance requirements are satisfied | |
| ACTIVE (Credit Only) | EWS returns INVALID_DEBIT_ACCOUNT | The account supports credits but restricts debits |
Insufficient funds scenarios (R01) | Debit capability is limited due to risk signals | |
| BLOCKED | EWS returns CLOSED or HIGH_RISK | Account is not safe for transactions |
Prenote fails (RETURNED) | Bank indicates invalid or closed account | |
Micro-deposit fails (RETURNED, VERIFICATION_FAILED) | Ownership validation failed | |
OFAC status is REJECTED | Compliance failure | |
Bank returns (e.g., R02 – Account Closed) | Account is no longer valid | |
| Account manually flagged | Explicit operational restriction |
Validation Methods
External accounts can be validated using multiple methods depending on your program configuration:
- EWS (Instant Validation): Performs real-time checks on account status and recent transaction history
- Prenote: Sends a $0 transaction to validate the account at the bank level
- Micro-deposit: Verifies account ownership by depositing small amounts that the customer must confirm
External accounts can be validated either during account creation or later by explicitly triggering validations using the POST v1/customer/id/{id}/externalAccount/id/{id}/validate API.
To help you choose the right validation method, refer to the comparison below.
| Method | What it does | Processing Time | Customer Effort | Ownership Verification | When to Use | Limitations |
|---|---|---|---|---|---|---|
| EWS (Instant Validation) | Verifies account status and recent return history in real time | Instant | None | No | When you need fast onboarding and early risk detection | May return NOT_FOUND for valid accounts; does not confirm ownership |
| Prenote | Sends a $0 transaction to validate account at bank level | ~3 business days | None | No | When you need bank-level validation without customer interaction or as fallback to EWS | Slower; cannot transact until completion |
| Micro-deposit | Sends small deposits and requires user to verify amounts | ~3 business days | Required | Yes | When strong ownership verification is required (high-risk use cases) | Slower; requires user action; higher drop-off risk |
Validation Rules:
- EWS can be used independently or alongside other methods
- Prenote and Micro-deposit are mutually exclusive (only one can be used)
- Use
ON_FAILUREto trigger Prenote when EWS is inconclusive (NOT_FOUND)
Completing Micro-deposit Verification
If you are using Micro-deposit validation, an additional step is required to complete the verification process.
Once the micro-deposits are credited to the external account, the customer must confirm the deposited amounts to verify ownership.
To complete this step, use the POST v1/customer/id/{id}/externalAccount/id/{id}/verify API.
Compliance Checks
In addition to validation methods, external accounts undergo compliance and verification checks to ensure regulatory adherence and document authenticity.
OFAC Verification
Validates the external account holder against regulatory watchlists to ensure compliance.
| Status | Description |
|---|---|
PENDING_VERIFICATION | Default state when verification is initiated |
VERIFIED | Successfully cleared compliance checks |
UNDER_REVIEW | Requires manual review due to inconclusive results |
REJECTED | Failed compliance verification |
IGNORED | OFAC verification is disabled for the program |
Document Verification
Triggered when supporting documents (e.g., authorization forms) are uploaded for the external account.
| Status | Description |
|---|---|
PENDING_VERIFICATION | Document is awaiting review |
VERIFIED | Document has been approved |
REJECTED | Document verification failed |
Key Notes:
- Validation methods may run independently or as fallback mechanisms
- Final status of the external account is determined by combined outcomes across validations and compliance checks
- External accounts can re-enter
PENDING_VERIFICATIONif re-validation is triggered
Instant Internal Validation (Passport Match)
When an external account is added, the system checks whether the account already exists within the Passport ecosystem. If a match is found, the account can be instantly validated without requiring additional validation methods such as Prenote or Micro-deposits. This significantly reduces onboarding time and avoids unnecessary verification steps.
To view the outcome of this validation, use the External Account Retrieve API and check the validateInstantly object in the response for detailed status and reason.
Instant Validation Statuses
| Status | Reason | Description |
|---|---|---|
PENDING | PENDING | External account is currently under instant validation |
OPEN | VERIFIED_BY_SYSTEM | Account exists in Passport and is successfully validated |
INVALID_DEBIT_ACCOUNT | No debits accepted | Account supports credits only; debit transactions are restricted |
VERIFICATION_FAILED | VERIFICATION_FAILED | Account found, but holder name does not match |
BLOCKED | Account is blocked or inactive | Account exists but is not usable due to restrictions |
NOT_FOUND | Account Not Found | No matching account found in Passport |
Failure Handling & Re-verification
External account validations may fail due to account issues, compliance failures, or bank-level responses. Understanding these scenarios helps you take the appropriate corrective action and ensure successful transaction processing.
Always monitor validation statuses and status reasons via the Retrieve External Account API or webhooks to proactively handle failures.
Common Failure Scenarios
- Insufficient Funds / Returns (e.g.,
R01)- External account may be marked as ACTIVE (Credit Only)
- Debit transactions are temporarily restricted
- Credits can still be processed Recommended Action: Retry debit transactions after sufficient funds are available
- Account Closed or Invalid (e.g.,
R02)- External account is moved to
BLOCKED - No further transactions are allowed Recommended Action: User must add a new external account
- External account is moved to
- Validation Failures
- Prenote failures (
RETURNED) - Micro-deposit failures (
RETURNED,VERIFICATION_FAILED) - External account is moved to
BLOCKEDRecommended Action: User should re-add or re-verify the account details
- Prenote failures (
- Compliance Failures (OFAC =
REJECTED)- External account is restricted due to regulatory reasons Recommended Action: Requires manual review or resolution via compliance team
- Automatic Re-verification & Fallbacks: In certain cases, the system may automatically trigger additional validation steps:
- If EWS returns
NOT_FOUND→ System can trigger Prenote (ON_FAILURE) - If validation method is inconclusive → Fallback validation may be applied based on configuration
- If EWS returns
- Re-verification Scenarios
- If an external account is manually unblocked
→ Status moves back to
PENDING_VERIFICATION - If validation fails repeatedly → External account may need to be re-created
- If account details are updated → Validation may be re-triggered
- If an external account is manually unblocked
→ Status moves back to
Best Practices
- Prefer Instant Validation for faster onboarding
- Use Micro-deposit when ownership confirmation is critical
- Monitor status transitions via the Retrieve External Account API
Updated about 1 month ago