WalletConnect Usage

WalletConnect Usage Guide

WalletConnect enables seamless integration between your Blockdaemon wallet and decentralized applications (dApps). This guide explains how to use WalletConnect to connect your wallet to dApps and manage those connections.

Overview

WalletConnect is a protocol that allows secure communication between wallets and dApps through encrypted peer-to-peer connections. In the Blockdaemon wallet system, WalletConnect enables you to:

Getting Started

Prerequisites

Connecting to a dApp using the Wallet Interface

  1. Navigate to your wallet and select the address you want to connect
  2. Click the WalletConnect button (purple icon) next to your address
  3. Paste the WalletConnect URI provided by the dApp into the input field
  4. Click "Connect" to initiate the pairing process
  5. Wait for confirmation - the dApp will appear in your connected dApps list

Managing Connections

Viewing Connected dApps

Once connected, you can view all your dApp connections:

  1. Go to your address details in the wallet
  2. Look for the "WalletConnections" section
  3. See all connected dApps with their names, URLs, and icons

Disconnecting from a dApp

To disconnect from a dApp:

  1. Navigate to your address with the connected dApp
  2. Click the WalletConnect button to open the connection dialog
  3. Find the dApp you want to disconnect from
  4. Click "Disconnect" next to the dApp name
  5. Confirm the disconnection

Transaction Approval

When a connected dApp initiates a transaction:

  1. The dApp sends a transaction request through WalletConnect
  2. Your wallet receives the request and displays transaction details
  3. Review the transaction including:
  1. Approve or reject the transaction
  2. The transaction is broadcast to the blockchain if approved

Supported Transaction Types

Currently, the Blockdaemon wallet supports:

Security Considerations

Connection Security

Transaction Security

Troubleshooting

Common Issues

Connection Fails

Transaction Fails

dApp Not Responding

Error Messages

Error Description Solution
"Pairing URI expired" The connection link has expired Generate a new connection link from the dApp
"Session proposal channel not found" Connection was interrupted Try reconnecting to the dApp
"Invalid address" Address format is incorrect Check the address format and try again
"Transaction timeout" Transaction took too long to process Check network status and try again

API Reference

Connecting to a dApp

HTTP

PATCH /api/v2/addresses/{addressId}
Content-Type: application/json

{
  "walletConnectionPairingURI": "wc:abc123@2?relay-protocol=irn&symKey=def456"
}

Disconnecting from a dApp

HTTP

PATCH /api/v2/addresses/{addressId}
Content-Type: application/json

{
  "dappURIToDisconnectFrom": "https://example-dapp.com"
}

Response Format

JSON

{
  "metadata": {
    "id": 123,
    "name": "My Ethereum Address"
  },
  "config": {
    "address": "0x1234567890123456789012345678901234567890",
    "network": "sepolia",
    "protocol": "ethereum",
    "walletConnections": [
      {
        "addressID": 123,
        "dapp": {
          "name": "Example dApp",
          "url": "https://example-dapp.com",
          "iconURL": "https://example-dapp.com/icon.png"
        }
      }
    ]
  }
}