# Work with decentralized applications (DApps)

You can connect Ripple Custody accounts to decentralized applications (DApps) to perform operations in a decentralized exchange. DApps provide a way to perform operations not currently supported by Ripple Custody, for example, swap assets or stake a balance.

In this section, you'll learn how to:

- Connect an account to a DApp through WalletConnect
- Initiate a transaction from your connected account


## DApp support in Ripple Custody

Ripple Custody includes DApp support for WalletConnect version 2 DApps.

For more information, see the Reown (formerly WalletConnect) specification.

The DApps functionality is only available in the Ripple Custody UI, not the API.

### Supported methods

The following DApp methods are supported by Ripple Custody:

- `eth_sendTransaction`
- `eth_signTypedData`
- `personal_sign`
- `wallet_addEthereumChain`
- `wallet_switchEthereumChain`


### Supported events

Ripple Custody can consume the following event types from a DApp:

- `session_proposal`
- `session_request`
- `session_delete`
- `auth_request`


### Supported ledgers

This functionality is only available for EVM ledgers.

For a list of EVM ledgers, see [Ethereum Virtual Machine ledgers](/products/custody/reference/supported-ledgers#ethereum-virtual-machine-evm-ledgers).

## Send a transaction from a DApp

The steps below demonstrate how to connect a Ripple Custody account to a DApp and initiate a transaction from the DApp.

### Prerequisites

To use a DApp with Ripple Custody, you need:

- A DApp that supports WalletConnect version 2
- An account on a supported EVM ledger
- The **Ripple: Auth & Sign** app with push notifications enabled


### Connect your account

To connect your account:

1. In Ripple Custody, navigate to **My DApps**.
2. Select **Connect DApp**.
3. In **Account**, select an account on an EVM ledger.
4. In **Ledger**, select the EVM ledger.
5. In **WalletConnect code**, paste the WalletConnect code.
The details of the DApp connection are displayed.
6. Click **Connect**.
7. Check the connection was created correctly:
  1. In the DApp, view the Ripple Custody account and check the balance.
  2. In Ripple Custody, check the balance matches the balance of the DApp account.
For more information, see [Check account balances](/products/custody/accounts-and-assets/accounts/manage-accounts-ui#check-account-balances).


### Perform an operation from the DApp

To perform an operation:

1. In the DApp, initiate a transaction from the connected account.
The **Ripple: Auth & Sign** app notifies you that a new intent was submitted for your user.
2. In the app, [sign the operation](/products/custody/identity-and-access/authentication/ui-authentication#sign-ui-operations).
Ripple Custody triggers a standard intent submission workflow.
3. In Ripple Custody, track the intent through the workflow.
For more information, see [Check state](/products/custody/governance/intents/manage-intents-and-approvals#check-state-in-the-ui).