# LoanBrokerCoverClawback [[Source]](https://github.com/XRPLF/rippled/blob/develop/src/xrpld/app/tx/detail/LoanBrokerCoverClawback.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/`. The `LoanBrokerCoverClawback` transaction claws back first-loss capital from a `LoanBroker` ledger entry. The transaction can only be submitted by the issuer of the asset used in the lending protocol, and can't clawback an amount that would cause the available first-loss capital to drop below the minimum amount defined by the `LoanBroker.CoverRateMinimum` value. *(Requires the [Lending Protocol amendment](https://github.com/Tapanito/XRPL-Standards/tree/xls-66-lending-protocol/XLS-0066d-lending-protocol) )* ## Example JSON ```json { "TransactionType": "LoanBrokerCoverClawback", "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 | No | The ID of the `LoanBroker` ledger entry to clawback first-loss capital. Must be provided if `Amount` is an MPT, or `Amount` is an IOU and the specified `issuer` matches the `Account` submitting the transaction. | | `Amount` | Object | Amount | No | The amount of first-loss capital to claw back. If the value is `0` or empty, claw back all assets down to the minimum cover (`DebtTotal * CoverRateMinimum`). | ## 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 transaction is missing the `LoanBrokerID` and `Amount` fields.- `LoanBrokerID` is invalid.- `Amount` is an MPT and `LoanBrokerID` is missing.- Amount is an IOU and its `issuer` matches `Account`. | | `temBAD_AMOUNT` | - `Amount` is less than or equal to zero.- `Amount` specifies the native XRP. | | `tecNO_ENTRY` | - The `LoanBroker` ledger entry doesn't exist, or the asset `issuer` doesn't exist. | | `tecNO_PERMISSION` | - The asset doesn't support clawback, or the asset can't be frozen.- The transaction is attempting to clawback native XRP.- The `Account` isn't the asset issuer. | | `tecWRONG_ASSET` | The specified asset to clawback doesn't match the asset in the lending protocol vault. | | `tecINTERNAL` | The balance of the trust line doesn't match the `CoverAvailable` field. | | `tecINSUFFICIENT_FUNDS` | Clawing back the specified `Amount` puts the available cover below the minimum required. You can also receive this error if the issuer of the asset has frozen the account or placed a global freeze. |