# XRP Ledger transactions via the console

In addition to **Payment**, which works on all blockchains, the console offers transaction types that apply to *XRP Ledger wallets only*:

- [OfferCreate](#offercreate-via-the-console)
- [OfferCancel](#offercancel-via-the-console)
- [TrustLine](#trustline-via-the-console)
- [AccountSet](#accountset-via-the-console)
- [SignerListSet](#signerlistset-via-the-console)
- [CredentialAccept](#credentialaccept-via-the-console)
- [VaultDeposit](#vaultdeposit-via-the-console)
- [VaultWithdraw](#vaultwithdraw-via-the-console)
- [LoanSet](#loanset-via-the-console)
- [LoanPay](#loanpay-via-the-console)


**Required role:** Owner, Administrator, or Proposer.

To start any of these transactions, navigate into your XRP Ledger wallet and click **Send transaction**. Choose the **Transaction type** and click **Next**. To send a payment instead, see [Send assets in the console](/pt-br/products/wallet/transactions/send-assets). To submit XRP Ledger transactions programmatically, see [Submit XRP Ledger transactions via the API](/pt-br/products/wallet/transactions/xrpl/xrpl-via-the-api).

Credential, vault, and loan types
If CredentialAccept, VaultDeposit, VaultWithdraw, LoanSet, and LoanPay don't appear in the list, contact your Ripple representative to use them. The console submits these five types as [raw signing](/pt-br/products/wallet/transactions/raw-signing) transactions, so the wallet must have raw signing enabled, or the transaction fails its policy check. See [Raw signing](/pt-br/products/wallet/vaults-and-wallets/wallets/manage-wallets#raw-signing-via-the-console) in wallet settings.

## XRP Ledger transaction actions

| Action | Console role | Console procedure | API procedure |
|  --- | --- | --- | --- |
| Create a DEX offer | Owner, Administrator, Proposer | [OfferCreate](#offercreate-via-the-console) | [Create a DEX offer (offer-create)](/pt-br/products/wallet/transactions/xrpl/xrpl-via-the-api#create-a-dex-offer-offer-create-via-the-api) |
| Cancel a DEX offer | Owner, Administrator, Proposer | [OfferCancel](#offercancel-via-the-console) | [Cancel a DEX offer (offer-cancel)](/pt-br/products/wallet/transactions/xrpl/xrpl-via-the-api#cancel-a-dex-offer-offer-cancel-via-the-api) |
| Set a trust line | Owner, Administrator, Proposer | [TrustLine](#trustline-via-the-console) | [Set a trust line (trust-set)](/pt-br/products/wallet/transactions/xrpl/xrpl-via-the-api#set-a-trust-line-trust-set-via-the-api) |
| Configure the account | Owner, Administrator, Proposer | [AccountSet](#accountset-via-the-console) | [Configure the account (account-set)](/pt-br/products/wallet/transactions/xrpl/xrpl-via-the-api#configure-the-account-account-set-via-the-api) |
| Set a signer list | Owner, Administrator, Proposer | [SignerListSet](#signerlistset-via-the-console) | [Set a signer list (signer-list-set)](/pt-br/products/wallet/transactions/xrpl/xrpl-via-the-api#set-a-signer-list-signer-list-set-via-the-api) |
| Accept a credential | Owner, Administrator, Proposer | [CredentialAccept](#credentialaccept-via-the-console) | No dedicated endpoint; use [raw signing](/pt-br/products/wallet/transactions/raw-signing) |
| Deposit into a ledger vault | Owner, Administrator, Proposer | [VaultDeposit](#vaultdeposit-via-the-console) | No dedicated endpoint; use [raw signing](/pt-br/products/wallet/transactions/raw-signing) |
| Withdraw from a ledger vault | Owner, Administrator, Proposer | [VaultWithdraw](#vaultwithdraw-via-the-console) | No dedicated endpoint; use [raw signing](/pt-br/products/wallet/transactions/raw-signing) |
| Request a loan | Owner, Administrator, Proposer | [LoanSet](#loanset-via-the-console) | No dedicated endpoint; use [raw signing](/pt-br/products/wallet/transactions/raw-signing) |
| Repay a loan | Owner, Administrator, Proposer | [LoanPay](#loanpay-via-the-console) | No dedicated endpoint; use [raw signing](/pt-br/products/wallet/transactions/raw-signing) |
| Claw back issued tokens | - | - | [Claw back issued tokens (clawback)](/pt-br/products/wallet/transactions/xrpl/xrpl-via-the-api#claw-back-issued-tokens-clawback-via-the-api) |
| Create an AMM | - | - | [Create an AMM (amm-create)](/pt-br/products/wallet/transactions/xrpl/xrpl-via-the-api#create-an-amm-amm-create-via-the-api) |
| Deposit into an AMM | - | - | [Deposit into an AMM (amm-deposit)](/pt-br/products/wallet/transactions/xrpl/xrpl-via-the-api#deposit-into-an-amm-amm-deposit-via-the-api) |
| Withdraw from an AMM | - | - | [Withdraw from an AMM (amm-withdraw)](/pt-br/products/wallet/transactions/xrpl/xrpl-via-the-api#withdraw-from-an-amm-amm-withdraw-via-the-api) |
| Track the result | All roles | [View a transaction](/pt-br/products/wallet/transactions/view-and-track-transactions#view-a-transaction-via-the-console) | [Track the result](/pt-br/products/wallet/transactions/xrpl/xrpl-via-the-api#track-the-result-via-the-api) |


**Permissions:** In the console, owners, administrators, and proposers can create transactions, and owners, administrators, proposers, and approvers can approve them. See [User roles and permissions](/pt-br/products/wallet/organization-and-access/users-and-roles#transactions). The API procedures need an API credential of type `TRANSACTIONS`. See [Prerequisites](/pt-br/products/wallet/transactions/xrpl/xrpl-via-the-api#prerequisites).

![The Type step of the New Transaction form for an XRP Ledger wallet, with the transaction type list open](../../images/xrpl-transaction-types.png)

## OfferCreate via the console

This transaction type places an offer or instruction on the XRP Ledger blockchain to exchange digital currencies at a certain price. It is similar to a traditional limit order.

If you select this transaction type, you will need to:

1. Under **Sell**, enter sale details
  * **Amount** of the asset being sold
  * **Asset (symbol)** of the asset being sold
  * **Issuer wallet address** of the asset being sold
2. Under **Buy**, enter purchase details
  * **Amount** of the asset being purchased
  * **Asset (symbol)** of the asset being purchased
  * **Issuer wallet address** of the asset being purchased
3. Optional: under **Flags**, select one or more flags to dictate how the offer will behave
  * **Fill or Kill**: The offer is canceled if it cannot be fully filled at the time of execution
  * **Immediate or Cancel**: The offer trades as much as it can by consuming existing offers, or executes "successfully" even if no offers match
  * **Passive**: The Offer will not consume Offers that exactly match it. Instead, it becomes an Offer object and waits in the ledger until other Offers or cross-currency payments fully consume it
  * **Sell**: Exchanges the entire sale amount, even if it means obtaining more than the purchase amount in exchange
4. Optional: under **Advanced**, complete advanced settings
  * **Sequence**: a unique, increasing number associated with your account that ensures each offer from that account is executed only once and in the correct order. These are automatically generated, however users may wish to provide their own
  * **OfferSequence**: a unique number used to cancel a previous sequence
  * **Expiration**: the time the offer expires, as a Unix timestamp in seconds (seconds since 00:00 UTC on January 1, 1970). It must be in the future. Ripple Custody (Wallet) converts it to the XRP Ledger's own epoch for you. The console hint describes this field as a duration, but it takes a timestamp. After the offer expires, it cannot be filled by other users
5. Click **Next**, review the details, and click **Confirm transaction**


More information
Click [here](https://xrpl.org/docs/references/protocol/transactions/types/offercreate#offercreate-flags) for more information on restrictions/error cases that apply when completing an OfferCreate transaction.

**Example**: an error message will be displayed if the user selects both the ImmediateOrCancel and FillOrKill flags.

![The OfferCreate details step, with the Account and the Sell amount, asset, and issuer fields](../../images/xrpl-offercreate-form.png)

## OfferCancel via the console

This transaction type will remove an offer from the XRP Ledger.

If you select this transaction type, you will need to:

1. Enter the **Offer sequence**: the sequence number of the previous OfferCreate transaction you wish to cancel
2. Optional: under **Advanced**, complete advanced settings
  * **Sequence**: the sequence number of the account sending the transaction
  * **Last ledger sequence**: the highest ledger index this transaction can appear in
3. Click **Next**, review the details, and click **Confirm transaction**


## TrustLine via the console

This transaction type will create or modify a trust line, or relationship of trust, between two accounts.

For example, if A wants to trade a custom token issued by B, A needs to first create a trust line with B’s account, specifying how much of B’s token A is willing to hold. This allows A to receive and send B’s tokens securely.

If you select this transaction type, you will need to:

1. Enter the **Limit amount**: the maximum amount of an asset that may be held on the trust line
2. Enter the **Asset (symbol)** of the asset that will be held on the trust line
3. Enter the **Issuer wallet address**: the wallet address that your activated XRP account will trust
4. Optional: under **Flags**, select one or more flags to dictate how the trust line will behave
  * Authorize the other party to hold currency issued by this account
  * Set No Ripple flag: blocks the automatic routing of payments through that specific trust line to other accounts
  * Unset No Ripple flag
  * Freeze the trustline
  * Unfreeze the trustline
  * Set Deep Freeze flag
  * Unset Deep Freeze flag
Click [here](https://xrpl.org/docs/references/protocol/transactions/types/trustset) for more information on the TrustLine flags available.
5. Click **Next**, review the details, and click **Confirm transaction**


![The TrustLine details step, with the Limit amount, Asset (symbol), and Issuer wallet address fields](../../images/xrpl-trustline-form.png)

## AccountSet via the console

AccountSet changes the settings of your wallet's account on the XRP Ledger, such as account flags, the domain, or the transfer fee for tokens the account issues.

1. Under **Account**, confirm the wallet address. Every field on this form is optional; fill in only the settings you want to change.
2. To turn an account flag on, enter its name in **Set flag**. To turn one off, enter its name in **Clear flag**. Each field takes one flag name, typed exactly as listed: `ACCOUNT_TXN_ID`, `ALLOW_TRUSTLINE_CLAWBACK`, `AUTHZ_NFTOKEN_MINTER`, `DEFAULT_RIPPLE`, `DEPOSIT_AUTH`, `DISABLE_MASTER`, `DISALLOW_INCOMING_CHECK`, `DISALLOW_INCOMING_PAY_CHAN`, `DISALLOW_INCOMING_TRUSTLINE`, `DISALLOW_XRP`, `GLOBAL_FREEZE`, `NO_FREEZE`, `REQUIRE_AUTH`, or `REQUIRE_DEST`. These are flag names, not the XRP Ledger's numeric flag values.
3. Optional: fill in any of the other account fields:
  * **Domain**: the domain that owns this account, as hex-encoded ASCII, less than 256 characters.
  * **Email hash**: the hex-encoded 128-bit hash of the email address for this account.
  * **Message key**: a 33-byte public key for sending encrypted messages to this account. The first byte must be `0x02`, `0x03`, or `0xED`.
  * **NFT minter**: the address of another account that can mint NFTokens for this account.
  * **Transfer rate**: the fee to charge when users transfer tokens this account issues, in billionths of a unit: `0`, or a value from `1000000000` to `2000000000`.
  * **Tick size**: the tick size for offers involving a currency this account issues: `0`, or `3` to `15`.
  * **Wallet locator**: an arbitrary 256-bit hash value to associate with this account.
  * **Wallet size**: an unused field you can set on the account.
4. Optional: enter a **Sequence** and a **Last ledger sequence**. Both must be numbers, and **Last ledger sequence** must be greater than **Sequence**.
5. Click **Next**, review the details, and click **Confirm transaction**.


The console doesn't check the account field values before you submit. The XRP Ledger rejects values outside the ranges above. For the effect of each flag and field, see [AccountSet](https://xrpl.org/docs/references/protocol/transactions/types/accountset) on xrpl.org.

## SignerListSet via the console

SignerListSet sets the list of accounts that can multi-sign transactions for your wallet's account on the XRP Ledger, and the combined weight their signatures need.

1. Under **Signer Entries**, enter each signer:
  * **Account**: the signer's wallet address. The account doesn't need to exist.
  * **Signer weight**: the weight of this signer's signature.
Click **Add signer entry** to add another signer, or **Remove** to delete one. You can add up to five signers in the console.
2. Enter the **Signer quorum**: the minimum sum of signer weights that authorizes a transaction. It must be at least `1`, and the weights of all signers must add up to at least this value.
3. Optional: under **Advanced**, enter a **Sequence** and a **Last ledger sequence**.
4. Click **Next**, review the details, and click **Confirm transaction**.


Differences from the XRP Ledger
- The XRP Ledger allows up to 32 signers. The console accepts up to five. To set a longer list, use the [signer-list-set](/pt-br/products/wallet/transactions/xrpl/xrpl-via-the-api#set-a-signer-list-signer-list-set-via-the-api) endpoint.
- The XRP Ledger removes a signer list when the quorum is `0`. The console requires a quorum of at least `1`, so you can't remove a signer list in the console. Use the API instead.


## CredentialAccept via the console

CredentialAccept accepts a credential that another account issued to your wallet's account on the XRP Ledger, so the credential takes effect. See [Credential, vault, and loan types](#xrp-ledger-transactions-via-the-console).

1. Enter the **Issuer**: the XRP Ledger address of the account that issued the credential. Required.
2. Enter the **Credential type**: the hex-encoded credential type identifier, up to 128 bytes. It must match the type the issuer used. Required.
3. Optional: under **Advanced**, enter a **Sequence** and a **Last ledger sequence**. **Last ledger sequence** must be greater than **Sequence**.
4. Click **Next**, review the details, and click **Confirm transaction**.


## VaultDeposit via the console

VaultDeposit deposits assets into a single-asset vault on the XRP Ledger in exchange for shares in that vault. See [Credential, vault, and loan types](#xrp-ledger-transactions-via-the-console).

1. Enter the **Vault ID**: the 256-bit hash that identifies the vault on the XRP Ledger. This is a ledger object, not a Ripple Custody (Wallet) vault. Required.
2. Enter the **Amount** to deposit, in drops of XRP (1 XRP = 1,000,000 drops). It must be a whole number greater than `0`. Required.
3. Optional: under **Advanced**, enter a **Sequence** and a **Last ledger sequence**. **Last ledger sequence** must be greater than **Sequence**.
4. Click **Next**, review the details, and click **Confirm transaction**.


XRP amounts only
The console sends **Amount** to the XRP Ledger as a drops value, so you can deposit only into a vault that holds XRP. The form's hint describes the amount as the vault's asset, but it has no field for an issued token or its issuer. To deposit an issued token, use [raw signing](/pt-br/products/wallet/transactions/raw-signing).

## VaultWithdraw via the console

VaultWithdraw redeems your shares in a single-asset vault on the XRP Ledger for the vault's assets. See [Credential, vault, and loan types](#xrp-ledger-transactions-via-the-console).

1. Enter the **Vault ID**: the 256-bit hash that identifies the vault on the XRP Ledger. Required.
2. Enter the **Amount** to withdraw, in drops of XRP (1 XRP = 1,000,000 drops). It must be a whole number greater than `0`. Like VaultDeposit, the console supports XRP vaults only. Required.
3. Optional: enter a **Destination**: the account to receive the withdrawn assets. If you leave it empty, the assets go to your wallet.
4. Optional: under **Advanced**, enter a **Sequence** and a **Last ledger sequence**. **Last ledger sequence** must be greater than **Sequence**.
5. Click **Next**, review the details, and click **Confirm transaction**.


## LoanSet via the console

LoanSet creates a loan on the XRP Ledger from a loan broker. See [Credential, vault, and loan types](#xrp-ledger-transactions-via-the-console).

1. Enter the **Loan broker ID**: the 256-bit hash that identifies the loan broker. Required.
2. Enter the **Principal requested**: the principal amount of the loan. Required.
3. Optional: enter the **Interest rate**. The console passes this value to the XRP Ledger unchanged, so enter it in the ledger's units: tenths of a basis point, from `0` to `100000` (0–100%). For example, enter `5000` for 5%.
4. Optional: under **Advanced**, enter a **Sequence** and a **Last ledger sequence**. **Last ledger sequence** must be greater than **Sequence**.
5. Click **Next**, review the details, and click **Confirm transaction**.


The console form sets only these fields. It can't add the counterparty's signature or loan terms such as the payment total, payment interval, or fees. To set those, use [raw signing](/pt-br/products/wallet/transactions/raw-signing). See [LoanSet](https://xrpl.org/docs/references/protocol/transactions/types/loanset) on xrpl.org.

## LoanPay via the console

LoanPay makes a payment against an existing loan on the XRP Ledger. See [Credential, vault, and loan types](#xrp-ledger-transactions-via-the-console).

1. Enter the **Loan ID**: the 256-bit hash that identifies the loan to repay. Required.
2. Enter the **Amount** to repay, in drops of XRP (1 XRP = 1,000,000 drops). It must be a whole number greater than `0`. The console supports loans in XRP only. Required.
3. Optional: under **Advanced**, enter a **Sequence** and a **Last ledger sequence**. **Last ledger sequence** must be greater than **Sequence**.
4. Click **Next**, review the details, and click **Confirm transaction**.


## Related topics

- [XRP Ledger transactions](/pt-br/products/wallet/transactions/xrpl) — What you can do on the XRP Ledger in the console and through the API
- [View transactions in the console](/pt-br/products/wallet/transactions/view-and-track-transactions) — Track the transaction after you confirm it