> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anchorage.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Web3 access

> Connect to Web3 apps via Chrome extension and WalletConnect, and initiate BUIDL redemptions.

export const ImageCarousel = ({images, perView = 3, children}) => {
  const [page, setPage] = useState(0);
  const [imgH, setImgH] = useState(0);
  const stripRef = useRef(null);
  const THUMB_MAX_WIDTH = 220;
  const PEEK_WIDTH = 34;
  useEffect(() => {
    const strip = stripRef.current;
    if (!strip) return;
    const measure = () => {
      const box = strip.querySelector("[data-carousel-imgbox]");
      if (box && box.clientHeight) setImgH(box.clientHeight);
    };
    measure();
    const ro = new ResizeObserver(measure);
    ro.observe(strip);
    return () => ro.disconnect();
  }, []);
  const fromChildren = React.Children.toArray(children).map(c => c && c.props && c.props.src ? {
    src: c.props.src,
    alt: c.props.alt
  } : null).filter(Boolean);
  const items = fromChildren.length ? fromChildren : images || [];
  if (!items.length) return null;
  const count = items.length;
  const columns = Math.min(perView, count);
  const totalPages = Math.ceil(count / columns);
  const showControls = totalPages > 1;
  const goTo = p => setPage((p % totalPages + totalPages) % totalPages);
  const prev = () => goTo(page - 1);
  const next = () => goTo(page + 1);
  const start = page * columns;
  const visible = items.slice(start, start + columns);
  const prevPeek = start > 0 ? items[start - 1] : null;
  const nextPeek = start + columns < count ? items[start + columns] : null;
  const renderPeek = (img, side) => {
    if (!img) return null;
    const isLeft = side === "left";
    return <button type="button" onClick={isLeft ? prev : next} aria-hidden="true" tabIndex={-1} style={{
      flex: `0 0 ${PEEK_WIDTH}px`,
      width: PEEK_WIDTH + "px",
      alignSelf: imgH ? "flex-start" : "stretch",
      height: imgH ? imgH + "px" : undefined,
      border: 0,
      padding: 0,
      cursor: "pointer",
      opacity: 0.5,
      borderRadius: isLeft ? "10px 0 0 10px" : "0 10px 10px 0",
      backgroundImage: `url("${img.src}")`,
      backgroundRepeat: "no-repeat",
      backgroundSize: "auto 100%",
      backgroundPosition: isLeft ? "right center" : "left center",
      WebkitMaskImage: `linear-gradient(to ${isLeft ? "left" : "right"}, #000 15%, transparent 100%)`,
      maskImage: `linear-gradient(to ${isLeft ? "left" : "right"}, #000 15%, transparent 100%)`
    }} />;
  };
  const arrowStyle = {
    flex: "0 0 auto",
    width: "30px",
    height: "30px",
    borderRadius: "50%",
    border: "1px solid var(--ad-border, #e4e5e7)",
    background: "var(--background, #fff)",
    fontSize: "16px",
    lineHeight: "28px",
    textAlign: "center",
    cursor: "pointer",
    padding: 0
  };
  return <div style={{
    outline: "none",
    margin: "1.5rem 0"
  }} role={showControls ? "group" : undefined} aria-label={showControls ? "Screenshot carousel" : undefined} aria-roledescription={showControls ? "carousel" : undefined}>
      <div style={{
    display: "flex",
    alignItems: "center",
    gap: "10px"
  }}>
        {showControls && <button type="button" onClick={prev} aria-label="Previous screenshots" style={arrowStyle}>
            ‹
          </button>}

        <div ref={stripRef} style={{
    display: "flex",
    flexWrap: "nowrap",
    alignItems: "flex-start",
    gap: "14px",
    justifyContent: "center",
    flex: 1
  }}>
          {renderPeek(prevPeek, "left")}
          {}
          {Array.from({
    length: columns
  }).map((_, i) => {
    const img = visible[i];
    const slotStyle = {
      margin: 0,
      flex: "1 1 0",
      maxWidth: THUMB_MAX_WIDTH + "px",
      minWidth: 0
    };
    if (!img) {
      return <div key={start + i} aria-hidden="true" style={{
        ...slotStyle,
        visibility: "hidden"
      }} />;
    }
    return <div key={start + i} style={slotStyle}>
                <span data-carousel-imgbox style={{
      display: "block"
    }}>
                  <img src={img.src} alt={img.alt ?? ""} style={{
      display: "block",
      width: "100%",
      height: "auto",
      margin: 0,
      borderRadius: "10px",
      border: "1px solid var(--ad-border, #e4e5e7)"
    }} />
                </span>
                {img.alt && <div style={{
      marginTop: "6px",
      fontSize: "12px",
      lineHeight: 1.4,
      color: "var(--ad-muted, #6b7280)",
      textAlign: "center"
    }}>
                    {img.alt}
                  </div>}
              </div>;
  })}
          {renderPeek(nextPeek, "right")}
        </div>

        {showControls && <button type="button" onClick={next} aria-label="Next screenshots" style={arrowStyle}>
            ›
          </button>}
      </div>

      {showControls && <div style={{
    textAlign: "center",
    marginTop: "8px",
    fontSize: "12px",
    color: "var(--ad-muted, #6b7280)"
  }}>
          {start + 1}
          {visible.length > 1 ? "–" + (start + visible.length) : ""} of {count}
        </div>}
    </div>;
};

Anchorage Digital supports interactions with a growing list of decentralized apps (dApps) through the Anchorage Browser Extension and WalletConnect. Administrators control which vaults are enabled to interact with each app and can monitor all connection activity within their account.

<Note>
  Anchorage Digital iOS app version 2.41.0 or later is required to use approved apps in the Web3 portal.
</Note>

## Why Web3 access matters

A **smart contract** is a program that runs on a blockchain — it holds funds and executes rules automatically, with no intermediary. A **decentralized app (dApp)** is the interface to one or more of those contracts. Together they're how a growing share of institutional activity now happens on-chain.

For an institution, that's where real use cases live:

* **Tokenized assets and redemptions** — for example, redeeming BlackRock's BUIDL fund for USDC through Securitize (walked through below).
* **DeFi** — lending, borrowing, providing liquidity, and swapping assets directly with on-chain protocols.
* **On-chain governance** — voting on protocol proposals for assets you hold.
* **Restaking and staking protocols** — interacting with contracts like EigenLayer.

Connecting a wallet to a smart contract carries risk: an approval granted to a malicious contract can move funds. Anchorage Digital applies custody controls to these interactions: administrators approve which dApps each vault can connect to, connections run through the Anchorage Browser Extension or WalletConnect, and **every on-chain action requires quorum approval and Anchorage Digital review** before it executes.

## Getting started

<CardGroup cols={2}>
  <Card title="Chrome browser extension">
    Download the [Anchorage Digital Browser Extension](https://chromewebstore.google.com/detail/anchorage-digital/fadcgekaahkbmhjnpdhldednpbfpmkfl) from the Chrome Web Store to connect your Anchorage wallets directly to approved dApps.
  </Card>

  <Card title="WalletConnect">
    WalletConnect is an open-source protocol that enables communication between blockchain applications and mobile crypto wallets, allowing users to review and approve signature requests directly in the iOS app.
  </Card>
</CardGroup>

## Adding apps to your approved list

Account administrators control which third-party apps can be added to their organization's approved list. Only apps on the approved list can be used by vault members.

<Steps>
  <Step title="Navigate to the Web3 portal">
    Access the web dashboard and navigate to the **Web3** page from the left-hand menu.
  </Step>

  <Step title="Add an app">
    From the list of Anchorage Digital trusted apps, click the **plus icon** next to the app you want to add.
  </Step>

  <Step title="Select vaults">
    Choose which vaults will be able to make connections to this app. Click **Approve** to confirm your selection. Upon accepting the app terms, your account's approved list will be updated.
  </Step>

  <Step title="Manage existing apps">
    Click on any app in the **Approved apps** list to edit vault access or remove the app from your organization's approved list.
  </Step>
</Steps>

## Chrome browser extension

The Anchorage Digital browser extension connects your Anchorage wallets directly to decentralized apps (dApps). It serves as the institutional bridge between your Anchorage wallets and Anchorage-approved dApps.

### Downloading and logging in

<Steps>
  <Step title="Download the extension">
    Download the [Anchorage Digital browser extension](https://chromewebstore.google.com/detail/anchorage-digital/fadcgekaahkbmhjnpdhldednpbfpmkfl) from the Chrome Web Store.
  </Step>

  <Step title="Open the extension">
    Open the browser extension in Chrome.
  </Step>

  <Step title="Scan the QR code">
    Open the Anchorage Digital iOS app and tap the **QR Code** icon. Scan the QR code displayed in the browser extension.
  </Step>

  <Step title="Confirm access">
    Review the location of the device requesting access and allow access from the iOS app.
  </Step>
</Steps>

### Finding approved apps

In the **Explore** tab, the first section shows all apps your organization administrator has approved. Click on any app icon to open it in a new tab.

<Info>
  If an app has not been approved by your administrator, you cannot use it until they configure the allowed vaults and accept the Terms and Conditions on the web dashboard. Contact your administrator or reach out to your client experience manager to request certification of additional apps.
</Info>

### Connecting a wallet to an external app

<Steps>
  <Step title="Open the dApp">
    Open the external decentralized app in your browser.
  </Step>

  <Step title="Connect">
    Select **Connect** in the top right corner of the app.
  </Step>

  <Step title="Select Anchorage Digital">
    Choose **Anchorage Digital** from the list of wallet options. If you do not see Anchorage Digital listed, contact your client experience manager.
  </Step>

  <Step title="Find your wallet">
    Filter by vault or select a recently used wallet. Select the wallet to view its details and balance information.
  </Step>

  <Step title="Finish connecting">
    Click **Connect** to complete the connection.
  </Step>
</Steps>

<Note>
  You can only connect to wallets that are part of vaults allowed by your organization administrator. Open the **Vaults** dropdown to see the "Allowed vault" badge on permitted vaults.
</Note>

### Switching wallets

<Steps>
  <Step title="Open the extension">
    Open the browser extension and navigate to the **Wallets** tab to see your currently connected wallet.
  </Step>

  <Step title="Search for a different wallet">
    Search by vault, network, or name.
  </Step>

  <Step title="Switch the connection">
    Select **Connect** on the desired wallet card to switch the connection.
  </Step>
</Steps>

Alternatively, switch wallets from the **Wallet details** page by selecting **Connect to external app**.

### Disconnecting a wallet

You can disconnect your wallet in three ways:

* **From the dApp icon:** Open the browser extension, select the dApp icon in the top right, and select **Disconnect wallet**.
* **From Wallet details:** Select the connected wallet, tap **More** (three dots) in the top right, and select **Disconnect wallet**.
* **From the external app:** Select the connected wallet in the external app interface and select **Disconnect wallet**.

### Initiating operations from an external app

With an established connection, follow the instructions on the dApp webpage to submit your selection. Once submitted, an operation will appear for review and approval in the Anchorage Digital iOS app.

<Steps>
  <Step title="Submit from the dApp">
    Follow the instructions on the dApp webpage and confirm or submit your selection.
  </Step>

  <Step title="Review in the iOS app">
    Open the iOS app and navigate to **Pending activity** by tapping the bell icon at the bottom of the screen. Tap the **External operation needs approval** notification.
  </Step>

  <Step title="Endorse the operation">
    Review all operation details. If satisfied, endorse the operation — quorum approval is required to complete it.
  </Step>
</Steps>

### Enabled networks

New chains are added to the browser extension regularly. You can view all enabled chains in the **Networks** filter within the **Wallets** tab.

### Disconnecting active sessions (administrators)

Account administrators can view all active wallet connections and disconnect any member's session from the web dashboard.

Each active wallet connection appears as an individual card with details. Click **Disconnect** to terminate any vault member's active connection with an app.

## WalletConnect

WalletConnect allows vault members to connect their Anchorage Digital iOS wallet to approved apps using a QR code scan.

<ImageCarousel>
  <img src="https://mintcdn.com/deployment-4/dnKKK5u4vRePxCW5/knowledge-base/images/screenshots/web3-connect-intro.png?fit=max&auto=format&n=dnKKK5u4vRePxCW5&q=85&s=2553bfb9ad97e7038f7c52da5b8f405f" alt="How to use QR codes intro screen for connecting to external apps" width="828" height="1792" data-path="knowledge-base/images/screenshots/web3-connect-intro.png" />
</ImageCarousel>

### Connecting the iOS app to an external app

Once an app has been added to your account's approved list, vault members can connect their Anchorage Digital iOS wallet to initiate supported actions.

<Steps>
  <Step title="Open the external app">
    On your desktop browser, open the approved app's webpage (e.g., [https://snapshot.org](https://snapshot.org)). In the upper-right corner, click **Connect wallet** and choose **WalletConnect** to generate a QR code.
  </Step>

  <Step title="Scan from the iOS app">
    Open the Anchorage Digital iOS app and tap the **QR code icon** in the upper-right corner of the screen. Point the iOS camera at the QR code to initiate the connection.
  </Step>

  <Step title="Select a wallet">
    Select which wallet to connect from the wallet selection screen in the iOS app, then tap **Continue**. This completes the connection.
  </Step>
</Steps>

<ImageCarousel>
  <img src="https://mintcdn.com/deployment-4/dnKKK5u4vRePxCW5/knowledge-base/images/screenshots/web3-qr-scanner.png?fit=max&auto=format&n=dnKKK5u4vRePxCW5&q=85&s=3f86829c63e7974fa259cf734f9b0a2c" alt="QR code scanner screen for connecting to apps" width="828" height="1792" data-path="knowledge-base/images/screenshots/web3-qr-scanner.png" />

  <img src="https://mintcdn.com/deployment-4/dnKKK5u4vRePxCW5/knowledge-base/images/screenshots/web3-select-wallet.png?fit=max&auto=format&n=dnKKK5u4vRePxCW5&q=85&s=1781ddf09fa7211a807daf8100e759fa" alt="Wallet selection screen for the external app connection" width="828" height="1792" data-path="knowledge-base/images/screenshots/web3-select-wallet.png" />
</ImageCarousel>

If successful, you will see confirmation on both the iOS app and the external app webpage.

### Initiating operations via WalletConnect

With an established connection, follow the app's instructions and submit your selection. An operation will appear for review and approval in the Anchorage Digital iOS app.

Tap the bell icon to navigate to **Pending activity**, then tap **External operation needs approval** to review the details. Endorse the operation to proceed — quorum approval is required.

<Info>
  For further questions related to Connected Apps and WalletConnect, contact your client experience manager.
</Info>

## BUIDL redemptions via Securitize

Securitize manages digital securities and serves as the transfer agent for BUIDL, a money market fund managed by BlackRock. Anchorage Digital users can interact with the Securitize dApp via WalletConnect to redeem BUIDL for USDC.

### Overview

A completed BUIDL redemption triggers:

* A withdrawal of BUIDL from your Anchorage Digital wallet
* A deposit of USDC into your Anchorage Digital wallet
* The counterparty is always Circle
* The source is always the same smart contract

### Who can use the Securitize dApp

Users who hold BUIDL on Anchorage Digital and are onboarded with Securitize can use the dApp. Only an authorized user with Securitize credentials can initiate a redemption.

### Step 1: Connect Securitize to your account

<Steps>
  <Step title="Log in">
    Log in to your Anchorage Digital account that holds BUIDL in custody.
  </Step>

  <Step title="Navigate to Web3">
    Go to **Web3**, then **Add an App**.
  </Step>

  <Step title="Select Securitize">
    Select **Securitize** from the app dropdown.
  </Step>

  <Step title="Choose vaults">
    Choose the vaults holding BUIDL that you want to connect.
  </Step>

  <Step title="Add to allowlist">
    Add Securitize to the allowlist and accept the app terms.
  </Step>
</Steps>

### Step 2: Select and prepare your wallet

<Steps>
  <Step title="Open your BUIDL wallet">
    Open the wallet holding your BUIDL.
  </Step>

  <Step title="Ensure sufficient ETH for gas">
    Verify the wallet has enough ETH for gas fees. Approximately 0.1 ETH is recommended.
  </Step>

  <Step title="Fund with ETH if needed">
    If the balance is insufficient, fund your wallet with ETH before proceeding.
  </Step>
</Steps>

### Step 3: Approve a redemption amount

New users must approve a redemption amount before proceeding. Returning users can skip this step if an approval is already in place.

<Steps>
  <Step title="Open the Securitize app">
    Navigate to the Securitize app in your browser.
  </Step>

  <Step title="Connect your wallet">
    Go to **Wallets**, then **Connect Anchorage Digital wallet**. Scan the QR code using the scanner in the top-right corner of the iOS app.
  </Step>

  <Step title="Submit the conversion operation">
    Select **Sell for USDC**, specify the amount, and select **Sell**.
  </Step>

  <Step title="Complete risk review">
    * **Quorum approval:** Users with the correct permissions must endorse the approval in the iOS app.
    * **Ops review:** Anchorage Digital performs a risk review of the transaction.
  </Step>
</Steps>

### Step 4: Redeem approved amounts

Once an amount is approved, you can proceed with the redemption.

<Steps>
  <Step title="Submit the redemption in Securitize">
    Select **Sell for USDC**, specify the amount, and click **Sell**.
  </Step>

  <Step title="Review and confirm">
    Review and confirm the redemption in the Securitize app.
  </Step>

  <Step title="Complete risk review">
    * **Quorum approval:** Users must endorse the redemption in Anchorage Digital.
    * **Ops review:** Anchorage Digital completes a back-office approval.
  </Step>
</Steps>

### Step 5: View updated balance

Once completed, the redeemed USDC will appear in your Anchorage Digital wallet within 5–10 minutes.
