Getting Started

Quick Start

Connect a wallet, browse the Registry, shield your first token, and transfer confidentially.

ShadowLine is ready to use — no installation required. Connect a wallet, pick a token pair, and your first confidential balance is on-chain in under a minute.

1. Connect your wallet

Open the Registry and click Connect in the top right. ShadowLine works with any EIP-1193 wallet (MetaMask, Rabby, WalletConnect). Switch the network toggle to Sepolia to use free test tokens, or Mainnet for real assets.

First time on Sepolia? Head to the Faucet page and mint free mock tokens — no ETH required, one click per token.

2. Browse the Registry and pick a pair

The Registry lists every verified ERC-20 ↔ ERC-7984 wrapper pair registered on-chain. Each card shows the public token on top and its confidential wrapper below. Use the search bar to find a token by symbol or address.

Click Shield on any public-token row to go directly to that pair on the Wrapper page.

3. Shield — wrap ERC-20 into a confidential token

On the Wrapper page, enter an amount and click Shield. Two wallet prompts follow:

1
Approve

Allow the wrapper contract to spend your ERC-20. USDT requires zeroing any existing allowance first.

2
Wrap

Lock the ERC-20 inside the wrapper. Your encrypted balance (euint64) is minted on-chain.

The Zama Gateway finalizes the ciphertext in a few seconds. Your confidential balance appears in the Registry after you click Decrypt and sign a read-only EIP-712 permit.

4. Transfer or decrypt

Once shielded, you have two options:

  • Confidential Transfer — go to Transfer, pick the confidential token, enter a recipient and amount. The amount is encrypted client-side before submission. On-chain observers see the addresses but never the value.
  • Decrypt balance — on the Registry or Portfolio page, click Decrypt next to any confidential row. Sign the EIP-712 permit in your wallet. No tokens move; the balance is decrypted only inside your browser session.

5. Unshield when you are done

To recover your original ERC-20, go to the Wrapper page, switch to Unshield, and enter the amount. The Zama Gateway decrypts on-chain and releases the underlying ERC-20 back to your wallet (typically 30–60 seconds). If the page closes mid-flow, the Resume banner re-appears automatically on your next visit.

Decimal note: shield amounts use the underlyingtoken's decimals (e.g. 6 for USDC, 18 for WETH). Unshield always uses the wrapper's fixed 6-decimal scale. See Decimal Scaling for the full rule.

For Developers: Drop-in SDK Hook

Want to integrate confidential asset shielding into your own dApp without writing boilerplate contract or relayer code? We created a zero-boilerplate drop-in React hook: useShadowline().

Simply copy src/lib/use-shadowline.ts into your React, Next.js, or Wagmi project to get instant access to verified contract pairs, automatic ERC-20 allowances, and one-click shielding/unshielding:

tsx
import { useShadowline } from '@/lib/use-shadowline';

export default function MyConfidentialApp() {
  const { pairs, shield, unshield, isConnected } = useShadowline();

  return (
    <div>
      <h3>Available Confidential Assets ({pairs.length})</h3>
      {pairs.map((pair) => (
        <div key={pair.symbol} className="flex gap-4">
          <span>{pair.symbol} ↔ c{pair.symbol}</span>
          <button onClick={() => shield(pair.erc7984Address, '10')}>
            Shield 10 {pair.symbol}
          </button>
        </div>
      ))}
    </div>
  );
}

0-to-100 Automated Setup & Deployment

Want to run ShadowLine locally or deploy to a cloud node / VPS in under 1 minute? We built an automated cross-platform wizard that handles dependency checking, environment configuration (.env.local), production build verification, and server launching.

Linux Ubuntu & macOS (Bash / Zsh):

bash
git clone https://github.com/hosein-ul/ShadowLine.git && cd ShadowLine && npm run setup

Windows (PowerShell & CMD):

bash
git clone https://github.com/hosein-ul/ShadowLine.git; cd ShadowLine; npm run setup

1-Line Auto-Installers (with Automatic Prerequisite Installation):

bash
# Linux Ubuntu & macOS
curl -sSL https://raw.githubusercontent.com/hosein-ul/ShadowLine/main/scripts/setup.sh | bash

# Windows PowerShell (Auto-installs Git & Node via winget if missing)
irm https://raw.githubusercontent.com/hosein-ul/ShadowLine/main/scripts/setup.ps1 | iex

Docker & VPS Self-Hosting:

bash
docker compose up -d --build