Crypto Basics

What is a Multisig Wallet and How it Works?

Learn everything about multisig wallets with our comprehensive guide and discover how this secure method of crypto storage functions.
S. Vishwa
11 Minutes
MIN

In the world of cryptocurrencies, security is paramount. With digital assets' increasing value and prevalence, investors and organizations are constantly seeking ways to protect their holdings from potential threats. 

One such security tool that has gained significant attention is the multisig wallet. This comprehensive guide will explore what a multisig wallet is, how it works, the different types available, the advantages and disadvantages, and the safety measures associated with these wallets.

What is a Multisig Wallet?

A multisig wallet, also known as a multi-signature wallet, is a type of cryptocurrency wallet that requires multiple signatures to execute a transaction. 

Unlike traditional wallets that rely on a single private key, multisig wallets distribute the signing authority among multiple parties. This means a defined threshold of signatures is needed to validate and authorize any transaction.

The workflow of a multisig wallet remains the same regardless of the number of signers. Any party involved in the wallet can initiate a transaction by signing it with their private key. However, the transaction remains pending until it receives the required additional signatures.

Multisig wallets can be configured in different ways. One standard setup is the N-of-N configuration, where all signatories must validate a transaction. 

For example, a 2-of-2 multisig wallet requires both parties to sign a transaction to be considered valid. Another configuration is the N-of-M setup, where a specific subset of signers must approve a transaction. 

In a 3-of-4 multisig wallet, three out of the four signers must validate the transaction for it to be executed.

To ensure maximum security, it is crucial to distribute the multisig private key access among distinct entities. Storing multiple private keys in a single location undermines the purpose of a multisig wallet, as it creates a single point of failure. 

The ideal scenario is to grant access to entities so that a single security breach does not result in the loss of multiple keys.

How Does a Multisig Wallet Work?

The concept of a multisig wallet revolves around using multiple private keys to authorize transactions. Users sign a transaction with their private key when they initiate it. The transaction is then broadcasted to the network as pending, awaiting additional signatures.

Once the required number of signatures is obtained, the transaction is considered valid and can be executed on the blockchain. This process ensures that no single party has complete control over the wallet and eliminates the risk of a single point of failure.

Let's consider an example to understand better how a multisig wallet works. Imagine a 2-of-3 multisig wallet with three signers: Alice, Bob, and Carol. When Alice wants to send funds from the wallet, she signs the transaction with her private key. The transaction is then marked as pending. 

To complete the transaction, Bob and Carol must also sign it with their respective private keys. Once all three signatures are obtained, the transaction is valid and can be executed on the blockchain.

Multisig wallets can be implemented on various blockchains, and many cryptocurrency exchanges and custodians offer multisig wallet services to enhance the security of their client's assets.

Types of Multisig Wallets

Multisig wallets come in different configurations to cater to various needs and use cases. Here are some common types of multisig wallets:

1-of-2 Signatures

A 1-of-2 multisig wallet is one of the simplest forms of multisig storage. In this setup, two private keys are bound to a single wallet, and either key can approve transactions. 

This configuration is often used in small businesses where two founders want equal control over the funds. It can also be a personal backup solution, as users can recover funds even if one private key is lost.

2-of-3 Signatures

A 2-of-3 multisig wallet requires two out of three registered signers to complete a transaction. This configuration is commonly used for escrow transactions, where a trusted third party holds one of the keys. 

Cryptocurrency custodians also implement this type of wallet as an additional security measure. They may hold two keys, one stored securely offline and the other held online for more effortless signing. 

The third key is delegated to a trusted blockchain security company, which acts as a safeguard in case one of the custodian's keys is lost.

3-of-5 Signatures

A 3-of-5 multisig wallet is a more robust configuration that requires three out of five signatures to validate transactions. This setup is functional in corporate structures where several decision-makers must approve fund transfers. 

The transaction can be approved if over 50% of the parties agree. Distributing the signatures among entities in diverse geographical locations enhances security.

Hosted vs. Unhosted

Multisig wallets can be categorized as hosted or unhosted. A hosted multisig wallet is created on a third-party platform like Coinbase Custody or BitGo. 

These platforms provide institutional-grade security solutions and offer clients access to multisig functionality. Clients can register approved signatories and define signature thresholds for fund transfers. 

On the other hand, an unhosted multisig wallet, also known as a self-hosted wallet, is where the individual or organization holds the private keys without relying on a trusted third party. 

Unhosted wallets generally require more complex setup processes and infrastructure optimization for security. However, they offer greater convenience and eliminate the counterparty risk associated with third-party custodians.

Advantages of Multisig Wallets

Multisig wallets offer several advantages, making them attractive for users seeking enhanced security and control over their digital assets. Let's explore some of the key advantages:

1. Increased Security

One of the primary benefits of using a multisig wallet is its heightened security. By requiring multiple signatures to authorize transactions, multisig wallets reduce the risk of a single point of failure. 

Each signer holds a unique private key, making it difficult for hackers to gain unauthorized access to the wallet. Even if one private key is compromised, the funds remain secure as the hacker still needs access to the other keys to complete any transaction.

Multisig wallets also offer a backup option. If one or more private keys are lost, as long as the setup does not require all signatures to validate transactions, users can quickly recover their wallets. Additional signatures can be added to distribute ownership further and improve security.

2. Escrow Transactions

Multisig wallets are ideal for escrowed transactions, where a neutral third party holds funds until predefined conditions are met. With a multisig wallet, parties can ensure all obligations are fulfilled before releasing the funds. 

For example, a buyer could deposit funds into a multisig wallet, and the seller would only receive the funds once the purchased goods are received and deemed satisfactory. The presence of a trusted third-party signatory adds an extra layer of security and prevents either party from breaching the contract terms.

3. Two-Factor Authentication (2FA)

Multi-signature wallets provide a form of two-factor authentication (2FA) for cryptocurrency transactions. To validate any pending transaction, eligible signers must provide their signatures. 

This feature adds an extra layer of security, ensuring that only authorized parties can authorize fund transfers. In the event of unauthorized access to a private key, users can easily revoke access and prevent any malicious actor from completing transactions.

4. Cooperation Between Multiple Parties

Multisig wallets are particularly useful in organizational setups where multiple parties must collaborate and make joint decisions. 

In decentralized autonomous organizations (DAOs) and corporate structures, multisig wallets can ensure that no single party has unchecked control over the funds. 

All parties involved must provide their signatures to authorize a transaction, promoting accountability and preventing any single entity from making unauthorized transfers. Additionally, the signing of a transaction can also serve as a form of voting, representing approval of a business decision.

Disadvantages of Multisig Wallets

While multisig wallets offer increased security and control over digital assets, they also have drawbacks. It's essential to consider these disadvantages before deciding to use a multisig wallet:

1. Transaction Speed

One of the trade-offs of using a multisig wallet is the potential decrease in transaction speed. Compared to regular wallets, multisig wallets can introduce delays, requiring multiple signers to validate a transaction. 

The time it takes to complete a transaction can vary depending on the number of signatories and geographical boundaries. This limitation can make multisig wallets less convenient for emergencies or time-sensitive payments.

2. Technical Knowledge

Using a multisig wallet requires specific technical knowledge and familiarity with security practices. The setup process may involve consulting a third-party wallet provider, installing specific software, or purchasing dedicated equipment such as multiple hardware wallets and safe deposit boxes. 

These requirements can be relatively complex for the average crypto investor and may hinder the widespread adoption of multisig wallets.

3. Fund Recovery and Custodian Risk

Compared to single-key storage, recovering funds stored in a multisig wallet can be more time-consuming and require additional coordination. In the event of a lost private key or unavailable signatory, the recovery process can be complex and may involve additional security measures. 

Opting for a multisig wallet hosted by a third-party custodian also introduces counterparty risk. If the custodian experiences a security breach or fails to safeguard the private keys, it could have severe consequences for the wallet holders.

Are Multisig Wallets Safe?

While multisig wallets offer enhanced security features, it's important to note that they are not foolproof. No security measure can guarantee absolute protection against all possible threats. 

However, when used correctly and combined with other security best practices, multisig wallets can significantly reduce the risk of unauthorized access and improve the overall security of digital assets.

To ensure the safety of your multisig wallet, it's crucial to follow these best practices:

  • Choose a reputable wallet provider or implement robust self-hosted security measures.
  • Carefully select the signatories and distribute the private keys among different entities in diverse locations.
  • Regularly update and maintain the security infrastructure of the wallet.
  • Keep backup copies of all private keys in secure and separate locations.
  • Regularly monitor account activity and be vigilant for any signs of unauthorized access.
  • Stay informed about the latest security vulnerabilities and follow industry best practices.

By following these guidelines, users can maximize the security of their multisig wallets and reduce the risk of potential breaches.

Frequently Asked Questions

Q1. What is the difference between a multisig wallet and a regular wallet?

A regular wallet relies on a single private key to authorize transactions, while a multisig wallet requires multiple signatures from different parties to validate transactions. This added layer of security makes it more difficult for unauthorized individuals to gain control over the funds.

Q2. Can I use a multisig wallet for personal use?

Yes, multisig wallets can be used for personal use. They provide an extra layer of security for individuals who want to protect their digital assets from potential threats. However, the setup process and technical requirements may be more complex than regular wallets.

Q3. Can multisig wallets be hacked?

While no security measure is entirely immune to hacking, multisig wallets are significantly more secure than regular wallets. The distribution of private keys among multiple parties makes it more difficult for hackers to gain unauthorized access. However, it's essential to follow best practices and stay updated on the latest security vulnerabilities to minimize the risk of hacking.

Q4. Are multisig wallets suitable for small businesses?

Yes, multisig wallets can be beneficial for small businesses. They provide additional security and control over funds, especially when multiple founders or partners need equal control. However, it's essential to consider the technical requirements and potential trade-offs, such as transaction speed, before adopting a multisig wallet.

Q5. Can I recover my funds if I lose one of the private keys?

The ability to recover funds in the event of a lost private key depends on the specific setup of the multisig wallet. If the wallet does not require all signatures to validate transactions, it may be possible to recover the funds using the remaining keys. However, it's essential to have backup copies of all private keys stored in secure locations to prevent losing access to the wallet.

Conclusion

Multisig wallets provide an advanced security solution for individuals and organizations looking to protect their digital assets. By requiring multiple signatures to authorize transactions, multisig wallets reduce the risk of unauthorized access and provide an additional layer of control. 

They are particularly useful in escrow transactions, corporate structures, and scenarios where multiple parties must collaborate and make joint decisions.

While multisig wallets offer increased security, it's essential to consider the potential trade-offs, such as transaction speed and technical complexity. 

By following best practices and staying informed about the latest security vulnerabilities, users can maximize the safety of their multisig wallets and minimize the risk of potential breaches.

In conclusion, a multisig wallet is a powerful tool that can significantly enhance the security and control of digital assets. 

By understanding the workings of multisig wallets and implementing them correctly, users can enjoy peace of mind knowing that their cryptocurrencies are protected from potential threats.

Disclaimer

The information provided on this website does not constitute investment advice, financial advice, trading advice, or any other advice, and you should not treat any of the website's content as such.

Token Metrics does not recommend that any cryptocurrency should be bought, sold, or held by you. Do conduct your own due diligence and consult your financial advisor before making any investment decisions.

Build Smarter Crypto Apps &
AI Agents in Minutes, Not Months
Real-time prices, trading signals, and on-chain insights all from one powerful API.
Grab a Free API Key
Token Metrics Team
Token Metrics Team

Recent Posts

Research

Where to Ask Beginner Blockchain Questions: A Practical Guide

Token Metrics Team
3
MIN

Introduction

Blockchain technology has rapidly evolved into a foundational innovation affecting many industries. For newcomers eager to understand the basics, finding reliable and informative platforms to ask beginner blockchain questions is essential. This guide explores where you can pose your questions, engage with experts, and leverage analytical tools to deepen your understanding.

Why Ask Questions in the Blockchain Space?

Blockchain, despite its increasing adoption, remains a complex and multifaceted topic involving cryptography, decentralized networks, consensus mechanisms, and smart contracts. Beginners often require clear explanations to grasp fundamental concepts. Asking questions helps clarify misunderstandings, connect with experienced individuals, and stay updated with evolving trends and technologies.

Online communities are often the first port of call for learners. They foster discussion, provide resources, and offer peer support. Some trusted platforms include:

  • Reddit: Subreddits like r/Blockchain, r/CryptoTechnology, and r/ethereum have active members willing to discuss beginner questions.
  • Stack Exchange: The Bitcoin Stack Exchange and Ethereum Stack Exchange provide Q&A forums with a more technical focus and community voting.
  • Discord Groups: Many blockchain projects and educational communities host Discord servers that encourage real-time conversations.
  • Telegram Channels: Similar to Discord, Telegram channels often feature moderated groups dedicated to blockchain education.
  • BitcoinTalk Forum: One of the oldest cryptocurrency forums, it has sections welcoming beginners’ questions across blockchain topics.

Educational Platforms with Question Features

Several courses and online platforms integrate Q&A functionalities to help learners ask questions in context, such as:

  • Coursera and edX: Blockchain courses often include discussion boards where beginners can post queries related to coursework.
  • Medium and Dev.to: While primarily content platforms, comments sections and dedicated posts often invite questions and discussions.
  • Github Discussions: For those interested in open-source blockchain projects, GitHub provides a collaborative environment to ask technical questions.

Leveraging AI-Driven Research Tools

Advanced tools now assist users in analyzing blockchain projects and data, complementing learning and research efforts. Token Metrics is an example of an AI-powered platform that provides ratings, analysis, and educational content about blockchain technologies.

By using such platforms, beginners can strengthen their foundational knowledge through data-backed insights. Combining this with community Q&A interactions enhances overall understanding.

Best Practices for Asking Blockchain Questions

To get useful responses, consider these tips when posting questions:

  1. Be specific: Clearly state your question’s context and which aspects need clarification.
  2. Research beforehand: Check existing threads or resources to avoid duplicates.
  3. Use proper terminology: Even basic usage of correct terms makes understanding easier for responders.
  4. Be patient and polite: Community members help voluntarily; respectful interactions encourage assistance.

Additional Learning Resources

Besides Q&A, structured learning is valuable. Consider:

  • Books and Articles: Introductory texts on blockchain fundamentals.
  • Video Tutorials: Platforms like YouTube feature comprehensive beginner guides.
  • Webinars and Podcasts: Regular industry updates can enhance contextual understanding.

Disclaimer

This article is intended solely for educational purposes and does not constitute financial, investment, or legal advice. Always conduct independent research and consult professional advisors before making decisions related to blockchain technology or cryptocurrency.

Research

Measuring Success in Web3 Projects: Key Metrics and Approaches

Token Metrics Team
5
MIN

Introduction

The emergence of Web3 technologies has transformed the digital landscape, introducing decentralized applications, blockchain-based protocols, and novel governance models. For participants and observers alike, understanding how to measure success in Web3 projects remains a complex yet critical challenge. Unlike traditional businesses, where financial indicators are predominant, Web3 ventures often require multifaceted assessment frameworks that capture technological innovation, community engagement, and decentralization.

This article delves into the defining success factors for Web3 projects, offering a structured exploration of the key performance metrics, analytical frameworks, and tools available, including AI-driven research platforms such as Token Metrics. Our goal is to provide a clear, educational perspective on how participants and researchers can evaluate Web3 initiatives rigorously and holistically.

Understanding Success in Web3 Projects

Success within Web3 projects is inherently multidimensional. While financial performance and market capitalization remain important, other dimensions include:

  • Decentralization and Governance: The extent to which control is distributed among users rather than centralized parties.
  • Network Activity: Measures such as transaction volume, active addresses, and developer contributions.
  • Community Engagement: Size and activity level of the community across social platforms, forums, and governance participation.
  • Technological Innovation: Novelty and robustness of the underlying protocols and smart contracts.
  • Utility and Use Cases: Real-world application and adoption of the project’s technology.

These factors may vary in relevance depending on the project type—be it DeFi protocols, NFTs, layer-one blockchains, or decentralized autonomous organizations (DAOs). Thus, establishing clear, context-specific benchmarks is essential for effective evaluation.

Key Metrics to Evaluate Web3 Projects

Below are critical performance indicators broadly used to gauge Web3 success. These metrics provide quantifiable insights into various aspects of project health and growth.

  • On-Chain Metrics: Include transaction count, gas fees generated, token holder distribution, and smart contract activity. High transaction volumes paired with diverse token ownership can indicate vibrant usage and decentralization.
  • Community Metrics: Encompass active user counts on social media and chat platforms, participation in governance votes, and growth of community-driven initiatives. These reflect user engagement and alignment with project goals.
  • Development Activity: Number of code commits, GitHub repository updates, and developer participation. Sustained and transparent development activity signals ongoing innovation and resilience.
  • Adoption & Utility: Number of integrations, partnerships, or use cases implemented. Practical use drives value beyond speculative interest.
  • Security and Audits: Presence of third-party security audits, bug bounty programs, and historical vulnerabilities. Security impacts trust and long-term viability.

Frameworks for Analyzing Success

Systematic evaluation benefits from established frameworks:

  1. Fundamental Analysis: This involves assessing the core technology, team background, tokenomics, and governance structure. Understanding the problem a project aims to solve and its approach builds a base for contextual success measurement.
  2. Scenario Analysis: Envisioning multiple future states of the project considering technological advances, market adoption, and regulatory environment helps anticipate resilience and growth potential.
  3. Comparative Benchmarking: Positioning a project relative to its peers using standardized KPIs facilitates identifying strengths and weaknesses within the ecosystem.

Combining these frameworks with data-driven metrics allows for comprehensive, nuanced insights into project status and trajectories.

Leveraging AI and Tools for Analysis

Artificial intelligence and machine learning increasingly support the evaluation of Web3 projects by processing vast datasets and uncovering patterns not readily apparent to human analysts. Token Metrics exemplifies this approach by offering AI-driven ratings, risk assessments, and project deep-dives that integrate quantitative data with qualitative signals.

These platforms aid in parsing complex variables such as token velocity, developer momentum, and community sentiment, providing actionable intelligence without subjective bias. Importantly, using such analytical tools facilitates continuous monitoring and reassessment as Web3 landscapes evolve.

Practical Steps for Researching Web3 Projects

For individuals or organizations assessing the success potential of Web3 projects, these steps are recommended:

  • Collect and Analyze On-Chain Data: Use blockchain explorers and analytics services to gather foundational metrics such as transaction counts, active users, and token distribution patterns.
  • Monitor Community Channels: Engage with forums, social media, and governance discussions to gauge community health and responsiveness.
  • Review Development Progress: Track open-source repositories and project updates to assess ongoing activity and innovation.
  • Evaluate Security Posture: Confirm the presence of audits and security protocols to evaluate risk mitigation.
  • Utilize Advanced Analytical Platforms: Incorporate AI-driven services like Token Metrics to integrate diverse indicators and generate comprehensive project ratings.

Limitations and Considerations

While metrics and frameworks aid evaluation, it is essential to recognize the dynamic nature of Web3 projects and the ecosystem's inherent uncertainties. Metrics may fluctuate due to speculative behavior, regulatory shifts, or technological disruptions. Moreover, quantifiable indicators only capture parts of the overall picture, and qualitative factors such as community values and developer expertise also matter.

Therefore, success measurement in Web3 should be viewed as an ongoing process, employing diverse data points and contextual understanding rather than static criteria.

Conclusion

Measuring success in Web3 projects requires a multidimensional approach combining on-chain metrics, community engagement, development activity, and security considerations. Frameworks such as fundamental and scenario analysis facilitate structured evaluation, while AI-powered platforms like Token Metrics provide advanced tools to support data-driven insights.

By applying these methods with a critical and educational mindset, stakeholders can better understand project health and longevity without relying on speculative or financial advice.

Disclaimer

This article is for educational and informational purposes only. It does not constitute financial, investment, or legal advice. Readers should conduct their own research and consult professionals before making decisions related to Web3 projects.

Research

A Complete Guide to Writing Smart Contracts

Token Metrics Team
4
MIN

Introduction

Smart contracts are self-executing contracts with the terms of the agreement directly written into lines of code. They run on blockchain platforms, such as Ethereum, enabling decentralized, automated agreements that do not require intermediaries. Understanding how to write a smart contract involves familiarity with blockchain principles, programming languages, and best practices for secure and efficient development.

Understanding Smart Contracts

Before diving into development, it is essential to grasp what smart contracts are and how they function within blockchain ecosystems. Essentially, smart contracts enable conditional transactions that automatically execute when predefined conditions are met, providing transparency and reducing dependency on third parties.

These programs are stored and executed on blockchain platforms, making them immutable and distributed, which adds security and reliability to the contract's terms.

Choosing the Right Platform

Writing a smart contract starts with selecting an appropriate blockchain platform. Ethereum is among the most widely used platforms with robust support for smart contracts, primarily written in Solidity—a statically-typed, contract-oriented programming language.

Other platforms like Binance Smart Chain, Polkadot, and Solana also support smart contracts with differing languages and frameworks. Selecting a platform depends on the project requirements, intended network compatibility, and resource accessibility.

Learning the Programming Language

The most commonly used language for writing Ethereum smart contracts is Solidity. It is designed to implement smart contracts with syntax similar to JavaScript, making it approachable for developers familiar with web programming languages.

Other languages include Vyper, a pythonic language focusing on security and simplicity, and Rust or C++ for platforms like Solana. Learning the syntax, data types, functions, and event handling of the chosen language is foundational.

Setting Up Development Environment

Development of smart contracts typically requires a suite of tools for editing, compiling, testing, and deploying code:

  • IDEs: Integrated Development Environments such as Remix (web-based for Solidity) or Visual Studio Code with plugins.
  • Frameworks: Tools like Truffle or Hardhat enable local blockchain simulation, automated testing, and deployment scripts.
  • Node and Wallet: Connecting to blockchain networks often requires running a node or leveraging services like Infura, along with digital wallets (e.g., MetaMask) for transaction signing.

Writing the Smart Contract Code

Writing a smart contract involves structuring the code to define its variables, functions, and modifiers. Key steps include:

  1. Define the contract: Use the keyword contract to declare the contract and its name.
  2. Declare state variables: Define data stored on the blockchain, such as balances or ownership details.
  3. Write functions: Implement logic that changes state variables or triggers events.
  4. Use modifiers: Add conditional checks like access restrictions (e.g., only the owner can execute certain functions).
  5. Emit events: Use events to log significant contract operations for off-chain monitoring.

Example snippet in Solidity:

pragma solidity ^0.8.0;

contract SimpleStorage {
  uint storedData;

  function set(uint x) public {
    storedData = x;
  }

  function get() public view returns (uint) {
    return storedData;
  }
}

Testing and Debugging

Testing is crucial to ensure smart contracts operate as intended and to prevent bugs or vulnerabilities. Strategies include:

  • Writing unit tests using frameworks like Truffle or Hardhat.
  • Running tests on local blockchains (Ganache) before deploying.
  • Using linters and analysis tools to detect common security issues.

Adopting rigorous testing can reduce the risk of exploits or loss of funds caused by contract errors.

Deploying the Smart Contract

Deployment involves publishing the compiled smart contract bytecode to the blockchain. This includes:

  • Compiling the contract into bytecode.
  • Connecting to the desired blockchain network (testnet or mainnet) usually via wallet integration.
  • Submitting a deployment transaction, which requires gas fees for execution.

Using test networks like Ropsten, Rinkeby, or Goerli is recommended for initial deployment to validate functionality without incurring real costs.

Using AI Tools for Smart Contract Research

Emerging AI-driven platforms can assist developers and analysts with smart contract evaluation, security analysis, and market sentiment interpretation. For instance, tools like Token Metrics provide algorithmic research that can support understanding of blockchain projects and smart contract implications in the ecosystem.

Integrating these tools along with manual audits aids comprehensive assessments for better development decisions.

Best Practices and Security Considerations

Writing secure smart contracts requires awareness of common vulnerabilities such as reentrancy attacks, integer overflows, and improper access controls. Best practices include:

  • Following established design patterns and standards (e.g., OpenZeppelin contracts).
  • Performing thorough code reviews and external audits.
  • Keeping contracts as simple and modular as possible.

Robust security practices are critical due to the immutable nature of deployed smart contracts on blockchain.

Conclusion

Writing a smart contract involves a combination of blockchain knowledge, programming skills, and adherence to security best practices. From choosing a platform and language to coding, testing, and deploying, each step plays an important role in the development lifecycle.

Leveraging AI-powered tools like Token Metrics can add valuable insights for developers aiming to enhance their understanding and approach to smart contract projects.

Disclaimer

All information provided in this article is for educational purposes only and does not constitute financial or investment advice. Readers should conduct their own research and consult professional sources where appropriate.

Choose from Platinum, Gold, and Silver packages
Reach with 25–30% open rates and 0.5–1% CTR
Craft your own custom ad—from banners to tailored copy
Perfect for Crypto Exchanges, SaaS Tools, DeFi, and AI Products