TL;DR

A complete walkthrough on how to use the COTI Privacy Portal to convert public tokens into private tokens, send and receive private tokens, see private tokens balances, and convert them back to public form whenever you want.

→ What you’ll need

→ How to install the COTI MetaMask Snap

→ How to Portal In (public → private)

→ How to Portal Out (private → public)

Overview

The COTI Privacy Portal is the simplest way to make your tokens private on the COTI Network. One click to portal in. One click to portal back out.

Portal In takes a public token (e.g. wETH) and converts it into a private token (p.WETH). Once portaled in, your balance is encrypted on-chain. Only you can see it.

Portal Out does the reverse. Convert your private token back to its public form whenever you choose. Your assets remain fully liquid and under your control at all times.

The process is non-custodial, fully on-chain, and powered by COTI’s Garbled Circuits encryption technology. Plus, your private keys never leave your wallet.

What You’ll Need

  • A MetaMask wallet is required

  • A small amount of COTI on the COTI Network for gas fees

  • Public tokens on the COTI Network that you want to make private (COTI, wETH, wBTC, USDT, USDC.e, wADA, or gCOTI)

💡 Tip: If you don’t yet have tokens on the COTI Network, you can bridge USDC, ETH, BTC via Hyperlane, or USDT and ADA via ChainPort. See THE ULTIMATE BRIDGING GUIDE TO COTI Here

Step 1: Connect Your Wallet to the Privacy Portal

  1. Open privacy.coti.io

  2. Click “Connect Wallet” in the upper right corner

  3. Select your wallet provider (e.g. MetaMask)

  4. Approve the connection in your wallet

  5. If you are not connected to COTI Mainnet, you will be prompted to add it Adding the COTI Mainnet to MetaMask tutorial

  6. Confirm the network switch

Once connected, your wallet address will be visible in the top-right corner. Your public token balances will populate in the Public Tokens panel on the left.

Step 2: Install the COTI MetaMask Snap

To handle private tokens and encrypted balances, MetaMask needs COTI Snap configured. The Privacy Portal will prompt you to install it if you haven’t already.

  1. Click “Get COTI Snap” in the prompt. This opens metamask.coti.io/install in a new tab

  2. Click “Install with MetaMask”

  3. Approve the connection request in MetaMask

  4. Complete the AES key onboarding when prompted. This is a one-time setup

For a full walkthrough of the Snap installation, see the Setting up COTI Snap with your MetaMask wallet guide in the COTI docs.

Step 3: Enable the Snap and Unlock Private Tokens

Once you’ve installed and onboarded the COTI Snap, return to the Privacy Portal. You’ll see a “MetaMask Snap Required”

  1. Click “Enable Snap” on the MetaMask Snap Required prompt

  2. Approve the connection in MetaMask when prompted

With the Snap enabled, the Private Tokens panel on the right will display an “Unlock” button. Private balances are encrypted by default to protect your data.

3. Click “Unlock” on the Private Tokens panel

4. MetaMask will display an “Unlock Security Key” approval. Click “Approve”

5. Your private token balances will decrypt and become visible

💡 Tip: Your session will automatically lock when you refresh the page or disconnect your wallet, keeping your private data protected.

Once unlocked, you’ll see your private tokens on the right side of the portal.

Step 4: Portal In (Public → Private)

Now you’re ready to convert public tokens into private tokens.

  1. Select a public token from the Public Tokens panel on the left. Supported tokens include COTI, wETH, wBTC, USDT, USDC.e, wADA and gCOTI,

  2. A “Portal In” modal will open showing the token, your max available balance, and the minimum amount required

  3. Use the slider to choose how much you want to make private, or click “Max” to portal in your full balance. You can also enter the amount manually

  4. Review the Portal Fee and Estimated Gas Fee

  5. Click “Portal In” to start the transaction

The Portal follows a simple three-step flow:

  • Approve — grant the contract permission to move your tokens

  • Transfer — the encrypted conversion happens on-chain

  • Completed — your private tokens are ready

Approve each MetaMask prompt as it appears.

Once the transaction confirms, you’ll see the “Transfer Completed” status along with the transaction hash. Click “Done” to close the modal.

🎉 Success! Your tokens are now private.

Your private balance is encrypted on-chain and visible only to you through the Privacy Portal and the COTI MetaMask Snap.

Step 5: View Your Private Balance in MetaMask

Once portaled in, your private tokens appear inside MetaMask via the COTI Snap. You can view your encrypted balance, see the token contract address, and send to other COTI wallets directly from the Snap interface.

💡 Tip: Private balances are decrypted locally on your device. The server never sees them.

💡 Pro Tip: Sending private tokens on the COTI Network is the lowest-cost and fastest private token transfer in the World. Currently, costing just a fraction of a penny or a single COTI.

Step 6: Portal Out (Private → Public)

Need your tokens back in public form? Portal Out reverses the process in a few clicks.

  1. In the Privacy Portal, select the private token you want to convert from the Private Tokens panel on the right

  2. Choose the amount using the slider or manual input

  3. Click “Portal Out”

  4. Approve the transaction in your wallet

Your tokens return to their original public form on the COTI Network. The same three-step flow applies: Approve, Transfer, Completed.

What You Can Do With Private Tokens

Private tokens on COTI are full ERC-20 tokens with encrypted balances. Once portaled in, you can:

  • Send and receive private tokens to any COTI wallet address

  • View encrypted balances through the COTI MetaMask Snap

  • Interact with privacy-enabled dApps across the COTI ecosystem

  • Portal back to public whenever you choose

Private tokens unlock a wide range of use cases including: Confidential payments, private DeFi, strategies, private messaging, and identity credentials.

Frequently Asked Questions

Where do I go to get started?

Visit privacy.coti.io

Which tokens are supported?

At launch the Privacy Portal supports COTI, Wrapped Ether (wETH), Wrapped BTC (wBTC), Tether USD (USDT), Bridged USDC (USDC.e), Wrapped ADA (wADA), and gCOTI.

Is the Privacy Portal custodial?

No. The Privacy Portal is fully non-custodial. Your private keys never leave your wallet, and all transactions are signed and broadcast directly from MetaMask.

What powers the privacy in the portal?

The Privacy Portal is powered by COTI’s private ERC-20 contracts and Garbled Circuits. When you Portal In, your token balance is encrypted on-chain. Only you, as the holder of the AES key generated during Snap onboarding, can decrypt and view your balance.

Can I Portal Out at any time?

Yes. Your assets remain fully liquid and under your control. You can Portal Out at any time to return your private tokens to their public form.

Where can I see my private transactions?

All transactions are verified on-chain and viewable on the COTI block explorer. The privacy layer protects your balance and transfer details, while the public chain ensures auditability and security.

Do I need the COTI MetaMask Snap?

Yes. The COTI Snap gives MetaMask the ability to handle private tokens and encrypted balances. The Privacy Portal will prompt you to install it the first time you connect.

Stay COTI. 🚀

About COTI

COTI is the programmable privacy layer for Web3. Built for enterprises, builders, and agents. Powered by high-performance Garbled Circuits and enterprise-grade COTI Nightfall (ZK), COTI enables encrypted computation on any public blockchain. Fast, low-cost, and compliant privacy across DeFi, AI, and beyond.

For COTI updates and to join the conversation, be sure to check out our channels:

Website: https://coti.io/

X: https://twitter.com/COTInetwork

YouTube: https://www.youtube.com/channel/UCl-2YzhaPnouvBtotKuM4DA

Telegram: https://t.me/COTInetwork

Discord: https://discord.gg/9tq6CP6XrT

GitHub: https://github.com/coti-io

Vibe Coders Telegram: join here