Errors and Troubleshooting
Errors and Troubleshooting
Bakkt provides comprehensive error code documentation to assist clients in swiftly addressing integration and operational issues.
Overview
This guide consolidates error codes and troubleshooting information across multiple Bakkt systems. Refer to the relevant section for your use case.
ACH Return Codes
ACH Return Codes and Their Meanings
| Reason Code | Explanation |
|---|---|
| R01 | Insufficient funds |
| R02 | Account closed |
| R03 | Unable to locate account or no account |
| R04 | Invalid account number |
| R05 | Unauthorized debit to consumer account using Corporate SEC code |
| R06 | Returned due to ODFI's request |
| R07 | Authorization revoked by customer |
| R08 | Payment stopped |
| R09 | Uncollected funds |
| R10 | Customer advisees unauthorized, improper, ineligible, or part of an incomplete transaction |
| R11 | Check Truncation Entry Return |
| R12 | Branch sold to another DFI |
| R13 | Invalid ACH routing number |
| R14 | Representative payee deceased or unable to continue in that capacity |
| R15 | Beneficiary or account holder deceased |
| R16 | Account frozen/entry returned per OFAC instruction |
| R17 | File record edit criteria |
| R18 | Improper effective entry date |
| R19 | Amount field error |
| R20 | Non-Transaction account |
| R21 | Invalid company identification |
| R22 | Invalid individual ID number |
| R23 | Credit entry refused by the receiver |
| R24 | Duplicate entry |
| R25 | Addenda error |
| R26 | Mandatory field error |
| R27 | Trace number error |
| R28 | Routing number check digit error |
| R29 | Corporate customer advises not authorized |
| R30 | RDFI not a participant in check truncation program |
| R31 | Permissible return entry |
| R32 | RDFI non-settlement |
| R33 | Return of XCK entry |
| R34 | Limited participation DFI |
| R35 | Return of improper debit entry |
| R36 | Return of improper credit entry |
| R37 | Source document presented for payment |
| R38 | Stop payment on source document |
| R39 | Improper source document or source document presented for payment |
| R40 | Return of ENR entry by Federal Government Agency |
| R41 | Invalid transaction code |
| R42 | Routing number or check digit error |
| R43 | Invalid DFI account number |
| R44 | Invalid individual id number or identification number |
| R45 | Invalid individual name or company name |
| R46 | Invalid representative payee indicator |
| R47 | Duplicate enrollment |
API Order Reject Reasons
| Reject Reasons | Description |
|---|---|
| unknown: empty quotes | You may get this when trying to places orders when the digital asset system does not have a price for the symbol in your order. |
| unknown: trade quantity exceeds position side | You will get this when you try to sell more coin than what the BFS system believes you have. |
| internal: Could not retrieve jurisdiction status for correspondent account | When an account does not have a valid jurisdiction e.g. state of ZZ or the jurisdiction status that this has account is not referenced in BFS systems. |
| price too far through market | When you try and place an order more than 10% away from the market we will reject it. It is based on the wrong side of the market, you can't place a limit sell that's 10% lower than the current bid and can't place a limit buy that's 10% higher than the current ask. |
| invalid_argument: live_till Order expired | When you try to place an order during the BFS maintenance window (16:30-17:05 CT) you will receive these. |
| failed_precondition: unable to trade due to 'NY' allowing CLOSE only | Attempting to place a Buy order from a jurisdiction that is not enabled for purchasing digital assets on that symbol. |
| invalid_argument: price may not place orders of XLMUSD with more than 4 decimal places, had 6 | The order placed has too many decimal places for price for specified Symbol. |
| invalid_argument: quantity order notional must be more than $1.00 unless selling out entire position | This happens when you try to buy or sell < $1 of coin. BFS only allows below that limit when you are selling an entire position. |
Gifting Error Codes
If any data validations fail, the request gets a response with a REJECTED status along with a text string explaining the reject reason. The following table provides the most common reasons for gift request rejections.
| Error Scenario | Rejection/Error Message |
|---|---|
| Account does not exist | Invalid account Id |
| Inventory Account does not exist | The Gift Account does not exist for this client |
Client submits the same clientTransactionId more than once | Duplicate clientTransactionId; the allocation request already exists |
| Currency does not exist | Invalid currency |
| Inventory unavailable for requested currency | Insufficient inventory to allocate the requested currency |
The clientTransactionId does not exists (when retrieving allocation details) | Invalid clientTransactionId |
Batch Trade & Allocation Error Codes
See the following list for the most common errors and allocation reject reasons.
| Error and Reject Scenarios |
|---|
| Customer account does not exist |
| Firm Allocation Account does not exist |
Submitting the same clientTransactionId more than once |
| Symbol mismatches symbol of batch (when allocating to a batch) |
| Batch ID does not exist (when allocating to/retrieving from batch) |
| Allocations count mismatch (when closing batch) |
| Investor account does not have enough digital assets to sell |
The clientTransactionId does not exist (when retrieving allocation details) |
| Symbol does not exist |
| Allocation amount (either notional or quantity) is negative |
Updated 3 days ago
