Wallets and tools · How-to
Interacting With Smart Contracts Using AlgoSigner and WalletConnect
AlgoSigner is a legacy browser signing tool for Algorand, while WalletConnect lets a phone wallet approve Algorand dApp requests without exposing keys. This guide explains how to connect, read each transaction, and approve smart contract calls safely.
By the DappsAtlas editorial team · Updated

What AlgoSigner was and whether you should still use it
AlgoSigner was a browser extension that let web apps request Algorand accounts and ask the user to sign transactions. It was developed by PureStake, and for a time it was one of the common ways for Algorand dApps to work inside a desktop browser.
Support for browser extensions in this ecosystem has shifted over the last few years. The sources used for this guide do not confirm a current release schedule for AlgoSigner, so check the extension's store listing and the Algorand developer documentation for its present status before relying on it.
In practice, use these rules:
- If AlgoSigner is already installed and a dApp asks for it, confirm the dApp's own documentation names it as supported.
- For new setups, prefer wallets that the dApp lists as supported, including wallets that connect through WalletConnect.
- Never import a recovery phrase into a browser extension you cannot verify from an official source.
This guide focuses on WalletConnect because it keeps your keys in a wallet app on your phone, while the dApp only receives a session and sends requests for approval. The steps for reviewing transactions apply to any signing tool, including AlgoSigner if you still use it.
How WalletConnect links a wallet to an Algorand dApp
WalletConnect is an open protocol that links a wallet app to a dApp. The usual flow has four parts.
- The dApp shows a QR code or a deep link to a wallet.
- The wallet scans the code or opens the link and shows a session proposal.
- You approve the session, which lists the networks, accounts and request types the dApp may use.
- The two sides exchange encrypted messages through a relay service, and the dApp sends signing requests that appear in your wallet.
The private keys never leave the wallet. The dApp receives a session and the public address of the account you approved, and it can only ask for actions the wallet then displays for review. You can accept or reject each request.
WalletConnect version 2 is the current generation of the protocol, and integration guides for web apps generally target it. Compatibility still depends on the wallet. An Algorand wallet can support WalletConnect while some request types or account types behave differently from others. A FAQ from one EVM wallet describes WalletConnect as still experimental with some smart contract wallets, which is a reminder to test the exact wallet and dApp combination you plan to use.
Preparing your wallet and test environment
Setup takes a few minutes and prevents most avoidable problems.
- Install a wallet that supports WalletConnect for Algorand from its official app store listing or official website. Do not install a wallet from a link in a message or advertisement.
- Write down your recovery phrase on paper and store it offline. Do not type it into any website or chat, and do not take a photo of it.
- Fund the account with a small amount of ALGO. Every transaction needs a network fee, and an account must keep a minimum balance that rises when it opts into apps or assets.
- Use a second account for experiments. This limits what a mistake or a malicious request can reach.
- Find out whether the dApp runs on MainNet or TestNet. TestNet uses tokens with no real value and is designed for practice. Faucets that supply TestNet ALGO are listed in the official Algorand documentation, and you should use only the links from that source.
- Bookmark the dApp's official address. Typing or bookmarking it protects you from lookalike sites that copy the interface.
Keep the wallet app updated, and confirm the wallet shows the network name before you connect. A wallet on the wrong network can display the same dApp but point to different accounts or assets.
Step-by-step: connecting a dApp through WalletConnect
These steps assume a WalletConnect-compatible Algorand wallet on your phone and a dApp open in a desktop or mobile browser.
- Open the dApp at its official address and find its connect or wallet button.
- Choose WalletConnect as the connection method. If the dApp shows several options, pick the one that names WalletConnect.
- Scan the QR code with your wallet, or approve the deep link if the dApp offers one on the same device.
- Read the session proposal. Confirm the network, the account, and the requested permissions. If the list is broader than the dApp needs, reject the session.
- Approve the session. The dApp should now show your address.
- Start the action you want, such as a deposit, vote, or contract call. The dApp builds the transaction and sends it to your wallet.
- Open the request in the wallet and review it using the checklist in the next sections. Then approve or reject it.
- When you finish, disconnect the session from the dApp or the wallet.
If the dApp asks for your recovery phrase, close the page. No legitimate wallet connection needs it.
How to read an Algorand transaction before you approve it
A wallet request is a transaction, and a transaction moves value or changes state. Before you approve, look at these fields.
- Sender: the account that will sign. It should be the account you intended to use.
- Transaction type: payments, asset transfers, and application calls each look different. An application call is the type used to interact with an Algorand smart contract.
- Application ID: the number that identifies the contract being called. Compare it with the ID published in the dApp's documentation.
- Arguments and accounts: the inputs the contract will receive. Unexpected accounts or assets are a warning sign.
- Fee: the network fee should be small and match what the wallet shows.
- Receiver, amount, and close-to fields on payments: confirm the amount and the recipient.
Two fields deserve extra attention. A rekey-to field changes which account holds signing authority, and approving it can hand control of your account to an address you do not control. A close-remainder-to field can send the entire remaining balance of an account to another address. Reject any request that sets either field unless you understand it and expect it.
If the wallet shows only a summary and cannot decode the transaction, reject it. A request you cannot read is not safe to approve.
Smart contract calls, opt-ins and atomic groups explained
Algorand smart contracts are applications, each with its own application ID. A dApp interacts with them through application call transactions. Several concepts appear in these requests.
- Opt-in: some apps require an account to opt in before it can hold their local state or use certain functions. Opt-in is a separate transaction and raises the account's minimum balance, so check that your balance covers it.
- Atomic groups: a dApp can bundle several transactions so they succeed together or fail together. This is useful for swaps and multi-step actions. Your wallet should show every transaction in the group, and you should check each one.
- Inner transactions: a contract can trigger further transfers when it runs. The main request may look small while the inner effects move more assets, so read the summary carefully.
- Logic signatures: some contracts sign actions with contract logic instead of an account key. A request that asks you to approve a logic signature authorizes that contract to act under its own rules, so approve only contracts you have verified through the dApp's official documentation.
Before approving a contract call, confirm the contract's source is published or audited, and that its application ID matches the official documentation. An audit is evidence of review, not a guarantee, so read the scope and date of any audit report.
Common errors and how to fix them
Most problems fall into a few groups. Use this table to narrow down the cause before you retry.
| Symptom | Likely cause | What to do |
|---|---|---|
| QR code will not connect | The code expired or the wallet is on another device | Refresh the dApp page and generate a new code |
| Transaction rejected for balance | Account is below the minimum balance after an opt-in or fee | Add a small buffer of ALGO and retry |
| Action fails with an opt-in error | The account has not opted into the app or asset | Approve the opt-in first, then repeat the action |
| Address shown is not the one you expected | Wrong account or wrong network selected | Disconnect, select the correct account, and reconnect |
| Request times out | The wallet was locked or the session went idle | Unlock the wallet, reopen the request, or start the action again |
| Wallet cannot decode the transaction | Unsupported request type or a dApp bug | Reject the request and ask the dApp's support channel |
If an error repeats and you cannot explain it, stop. Do not approve a different request in the hope that it will work. Reconnect with a fresh session and review the transaction again.
Security habits for WalletConnect sessions
A WalletConnect session is only as safe as the wallet you use and the dApp you connect to. Neither the protocol nor the dApp is safe or dangerous on its own, so build these habits.
- Connect only to official addresses that you typed or bookmarked. Phishing sites copy interfaces closely.
- Read each session proposal. Reject sessions that ask for more networks or accounts than the dApp needs.
- Disconnect sessions you no longer use. Check the connected sites list in your wallet regularly.
- Never share your recovery phrase, private key, or a one-time code with anyone, including people who claim to be support staff.
- Treat unsolicited sign requests as hostile. If you did not start an action, reject the request.
- Use one account for everyday use and another for testing or unfamiliar dApps.
- Keep only the ALGO and assets you need in the account you connect.
- If your wallet supports a hardware signing device, consider using it for larger balances.
When something feels wrong, reject the request, disconnect the session, and check the dApp's official channels before you connect again. Losing a few minutes is far cheaper than approving an action you did not understand.
Notes for developers building on Algorand with WalletConnect
Developers who add WalletConnect to an Algorand dApp should design for the user's review, not for speed.
- Use a current WalletConnect integration and test session creation, request handling, and disconnection on TestNet before you launch.
- Show the decoded transaction, the application ID, the network, and every account the request touches. Avoid summaries that hide inner effects or grouped transactions.
- Handle expired sessions and rejected requests gracefully, and tell users what to do next.
- Never ask for a recovery phrase, and say so clearly in your interface and documentation.
- Document each application ID and the official addresses for your front end, so users can check them.
- Set the minimum balance and opt-in requirements explicitly, so users are not surprised by failed transactions.
- Publish your contract source, keep the audit scope and date visible, and update the documentation when contracts change.
WalletConnect's own documentation covers the session model and integration patterns for web apps, with examples that often use EVM libraries. Algorand-specific libraries, transaction formats, and network details are described in the Algorand developer documentation. Check both sources, and test against the exact versions you ship.
Frequently asked questions
Is AlgoSigner the only way to use Algorand dApps?
No. Algorand dApps can be used with any wallet the dApp lists as supported, and WalletConnect is one common connection method. Check the dApp's documentation for the wallets it accepts, and confirm AlgoSigner's current status in official Algorand resources before relying on it.
Does WalletConnect give a dApp access to my private keys?
No. In a WalletConnect session the dApp receives a connection to your wallet and can send requests for approval. The private keys stay in the wallet app. The dApp can only see the accounts you approve and can only ask for signatures that you then review and accept or reject.
Why did my transaction fail even though my account has ALGO?
The most common cause is the minimum balance rule. An Algorand account must keep a minimum amount of ALGO, and that requirement rises when the account opts into an app or asset. Add a small buffer of ALGO above what the action itself needs, then try again. Also confirm the wallet is on the same network as the dApp.
Can I end a WalletConnect session after I have connected?
Yes. Open the wallet's connected sites or sessions list and disconnect the dApp. Many dApps also have a disconnect option. Disconnecting ends the session, so the dApp can no longer send new requests, but it does not reverse any transaction you already approved.
Should I practice on TestNet before using MainNet?
Start on TestNet if the dApp offers it, so you can practice the steps without risking real assets. Use a separate test account and a faucet listed in the official Algorand documentation. Confirm the dApp's network setting matches your wallet before you approve anything, because a mismatch is one of the most common sources of failed or confusing requests.
Mentioned in this guide
dApps in this guide
OKX Wallet is a self-custody multi-chain crypto wallet from the OKX exchange, with swaps, bridges, DApp access and trading tools for active onchain users.
Talisman is a non-custodial browser wallet for Polkadot, Kusama and Ethereum users, with Solana and Bittensor support also described.
Common is a non-custodial ZK privacy dapp on Arbitrum and Aleph Zero EVM that lets users shield funds and withdraw to a new, unlinkable wallet.
Sender is a non-custodial multi-chain Web3 wallet for Chrome, iOS and Android, built for users who manage crypto, NFTs and dapps across 20+ networks.
Keep reading
Related guides
Wallets and tools · Explainer
Secure Messaging on the Blockchain: How It Works in 2026
Public reporting we reviewed do not document DappsApp's features, token, or launch status, so this guide explains how blockchain-based secure messaging works and the checks to run before trusting any messenger.
Wallets and tools · Best list
How to Choose a Secure Crypto Wallet in 2026
The safest crypto wallet is the one whose custody model, recovery options and daily protections fit how you use crypto. Compare wallet types, check the risks and follow a setup checklist before moving funds.
Wallets and tools · Comparison
Cold Wallet vs Hot Wallet: How to Choose in 2026
A hot wallet keeps crypto ready for online use; a cold wallet keeps signing keys offline between transactions. The right choice depends on how often you transact, what you hold, and which risks you need to manage.
Wallets and tools · Explainer
Radix Wallet and the Babylon Mainnet: A Developer Guide for 2026
The Babylon mainnet was the point where Radix moved from testing into live use, and Radix Wallet is the main way people hold assets and interact with apps on the network. This guide explains what the launch was, how the wallet works, and how to use it safely in 2026.
Wallets and tools · Explainer
Anchorage Digital: Crypto Custody and Services
Anchorage Digital provides crypto custody and related services for institutions, not a general-purpose wallet for everyday users. Learn how its custody, staking, trading and regulatory setup work—and what to check before choosing a custodian.
Wallets and tools · Explainer
Zerion DeFi SDK: What It Does and How Developers Use It
The Zerion DeFi SDK is an open-source library that helps developers read a wallet's DeFi positions without writing a separate integration for every protocol. This guide explains what it does, how it differs from Zerion's hosted API, and what to check before you build on it.
Wallets and tools · Explainer
Ballet Crypto Wallet Review: How Cold Storage Works
Ballet is a physical, non-electronic cold-storage wallet rather than a conventional device that signs transactions. Here’s how its cards work, what to check before trusting one with crypto, and where the trade-offs lie.
Wallets and tools · Review
Zengo Wallet Review: How Keyless Keys and Recovery Work
Zengo is a self-custody wallet that avoids the seed phrase by splitting signing keys across devices and servers. This guide explains how that works, where the trade-offs sit, and what to check before you rely on it.