# LoanBrokerCoverWithdraw [[Source]](https://github.com/XRPLF/rippled/blob/develop/src/xrpld/app/tx/detail/LoanBrokerCoverWithdraw.cpp) Attention Lending Protocol and Single Asset Vaults are disabled on Devnet. You have two options for testing these features: 1. Run `rippled` in [stand-alone mode](https://xrpl.org/docs/concepts/networks-and-servers/rippled-server-modes#stand-alone-mode) and enable `LendingProtocol` and `SingleAssetVault` in the [rippled.cfg file](https://xrpl.org/docs/infrastructure/testing-and-auditing/test-amendments). 2. Connect to the Lending Protocol-specific Devnet at `https://lend.devnet.rippletest.net:51234/`. Withdraws first-loss capital from a `LoanBroker` ledger entry. Only the owner of the associated `LoanBroker` entry can initiate this transaction. *(Requires the [Lending Protocol amendment](https://github.com/Tapanito/XRPL-Standards/tree/xls-66-lending-protocol/XLS-0066d-lending-protocol) )* ## Example JSON ```json { "TransactionType": "LoanBrokerCoverWithdraw", "Account": "rEXAMPLE9AbCdEfGhIjKlMnOpQrStUvWxYz", "Fee": "12", "Flags": 0, "LastLedgerSequence": 7108682, "Sequence": 8, "LoanBrokerID": "E123F4567890ABCDE123F4567890ABCDEF1234567890ABCDEF1234567890ABCD", "Amount": { "currency": "USD", "issuer": "rIssuer1234567890abcdef1234567890abcdef", "value": "1000" } } ``` ## Fields In addition to the [common fields](https://xrpl.org/docs/references/protocol/transactions/common-fields/), transactions use the following fields: | Field Name | JSON Type | Internal Type | Required? | Description | | --- | --- | --- | --- | --- | | `LoanBrokerID` | String | Hash256 | Yes | The ID of the `LoanBroker` ledger entry to withdraw from. | | `Amount` | Object | Amount | Yes | The amount of first-loss capital to withdraw. | | `Destination` | String | AccountID | No | An account to receive the assets. | ## Error Cases Besides errors that can occur for all transactions, transactions can result in the following [transaction result codes](https://xrpl.org/docs/references/protocol/transactions/transaction-results): | Error Code | Description | | --- | --- | | `temINVALID` | The `LoanBrokerID` field is invalid. | | `temBAD_AMOUNT` | The amount to withdraw is lass than or equal to `0`. | | `temMALFORMED` | The `Destination` account is empty or `0`. You can also receive this error if the destination tag is set, but `Destination` isn't. | | `tecNO_ENTRY` | The specified `LoanBroker` ledger entry doesn't exist. | | `tecWRONG_ASSET` | The withdrawal asset doesn't match the asset in the vault. | | `tecNO_DST` | The `Destination` provided doesn't exist on the ledger. | | `tecDST_TAG_NEEDED` | The `Destination` account requires a destination tag. | | `tecINSUFFICIENT_FUNDS` | There isn't enough first-loss capital to withdraw. You can also receive this error if the issuer of the asset has frozen the account or placed a global freeze. | | `tecNO_PERMISSION` | The account sending the transaction isn't the owner of the `LoanBroker` ledger entry. | | `tecPATH_DRY` | The XRP Ledger failed to send the funds to the `Destination`. |