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

# Quaiへのブリッジ

> Symbiosisを介してQuai Networkへ資産をブリッジするための技術詳細とコントラクトアドレス。

[Symbiosis](https://app.symbiosis.finance/swap?amountIn\&chainIn=Base\&chainOut=Quai\&tokenIn=ETH\&tokenOut=QUAI) クロスチェーンプロトコルを使用してQuai Networkへ資産をブリッジします。SymbiosisはQuaiとEthereumやBaseを含む他の主要ネットワーク間のシームレスな転送を可能にします。

### クイックブリッジリンク

<div style={{ display: 'flex', flexDirection: 'column', gap: '12px' }}>
  <a href="https://app.symbiosis.finance/bridge?chainIn=Base&chainOut=Quai&syntheticIn=1&syntheticOut=0&tokenIn=0x5c97D726bf5130AE15408cE32bc764e458320D2f&tokenOut=0x006C3e2AaAE5DB1bCd11A1a097cE572312EADdBB" target="_blank" rel="noopener noreferrer" style={{ padding: '10px 14px', borderRadius: 8, border: '1px solid #ddd', background: 'var(--secondary-bg)', color: 'var(--primary-text)', cursor: 'pointer', textDecoration: 'none', display: 'block', width: 'fit-content' }}>
    BaseからQuai NetworkへWQUAIをブリッジ
  </a>

  <a href="https://app.symbiosis.finance/bridge?chainIn=Ethereum&chainOut=Quai&syntheticIn=1&syntheticOut=0&tokenIn=0x70b7f7044D2ca8E2F1E999B90EF16d7Cb7A0cDA1&tokenOut=0x006C3e2AaAE5DB1bCd11A1a097cE572312EADdBB" target="_blank" rel="noopener noreferrer" style={{ padding: '10px 14px', borderRadius: 8, border: '1px solid #ddd', background: 'var(--secondary-bg)', color: 'var(--primary-text)', cursor: 'pointer', textDecoration: 'none', display: 'block', width: 'fit-content' }}>
    EthereumからQuai NetworkへWQUAIをブリッジ
  </a>

  <a href="https://app.symbiosis.finance/bridge?chainIn=Ethereum&chainOut=Quai&syntheticIn=0&syntheticOut=1&tokenIn=0xdAC17F958D2ee523a2206206994597C13D831ec7&tokenOut=0x0049F7cbCa3556C2DfaE62Aafa7015F99de1b8f5" target="_blank" rel="noopener noreferrer" style={{ padding: '10px 14px', borderRadius: 8, border: '1px solid #ddd', background: 'var(--secondary-bg)', color: 'var(--primary-text)', cursor: 'pointer', textDecoration: 'none', display: 'block', width: 'fit-content' }}>
    EthereumからQuai NetworkへUSDTをブリッジ
  </a>
</div>

注意：BaseからQuaiへのUSDTブリッジは現在利用できません。USDTの場合は、Ethereum → Quaiを使用してください。

### 主要なコントラクトアドレス

ブリッジする際は、誤ったトークンとやり取りしないよう、これらの正確なアドレスを使用してください。

| ネットワーク   | トークン             | アドレス                                         |
| :------- | :--------------- | :------------------------------------------- |
| Quai     | USDT             | `0x0049F7cbCa3556C2DfaE62Aafa7015F99de1b8f5` |
| Quai     | WQUAI            | `0x006C3e2AaAE5DB1bCd11A1a097cE572312EADdBB` |
| Base     | QUAI (Symbiosis) | `0x5c97D726bf5130AE15408cE32bc764e458320D2f` |
| Ethereum | QUAI (Symbiosis) | `0x70b7f7044D2ca8E2F1E999B90EF16d7Cb7A0cDA1` |

### ウォレットにトークンを追加

以下のボタンを使用して、BaseまたはEthereum上のウォレットにQUAIトークン（Symbiosis表現）を追加します。ウォレット（例：MetaMask）がインストールされていることを確認してください。ボタンをクリックすると、正しいネットワークに切り替わり、「トークンを追加」ダイアログが表示されます。

<div style={{ display: 'flex', gap: '12px', flexWrap: 'wrap' }}>
  <button
    onClick={async () => {
  const tokenLogo = 'https://pbs.twimg.com/profile_images/1882168961061531648/fsmniyg7_400x400.jpg'
  const pickEvmProvider = () => {
    if (typeof window === 'undefined' || !window?.ethereum) return null
    const candidates = Array.isArray(window.ethereum.providers) && window.ethereum.providers.length
      ? window.ethereum.providers
      : [window.ethereum]

    const prioritized = candidates.find((provider) => provider?.isMetaMask || provider?.isCoinbaseWallet || provider?.isBraveWallet)
    return prioritized ?? candidates[0]
  }

  const provider = pickEvmProvider()

  if (!provider || typeof provider.request !== 'function') {
    alert('EVMウォレットが検出されませんでした。MetaMask、Coinbase Wallet、または他のEVM互換ウォレットをインストールしてください。')
    return
  }

  if (provider.__quaiAddTokenPending) {
    alert('既に開いているウォレットポップアップを先に完了してから、もう一度お試しください。')
    return
  }

  try {
    provider.__quaiAddTokenPending = true
    await provider.request({ method: 'eth_requestAccounts' })

    try {
      await provider.request({
        method: 'wallet_switchEthereumChain',
        params: [{ chainId: '0x2105' }],
      })
    } catch (switchErr) {
      if (switchErr?.code === 4902) {
        await provider.request({
          method: 'wallet_addEthereumChain',
          params: [{
            chainId: '0x2105',
            chainName: 'Base',
            nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },
            rpcUrls: ['https://mainnet.base.org'],
            blockExplorerUrls: ['https://basescan.org'],
          }],
        })
        await provider.request({
          method: 'wallet_switchEthereumChain',
          params: [{ chainId: '0x2105' }],
        })
      } else if (switchErr?.code === -32601) {
        throw new Error('接続されたウォレットはネットワークを切り替えることができません。MetaMaskまたは他のEVMウォレットをお試しいただくか、手動でトークンを追加してください。')
      } else if (switchErr?.code === 4001) {
        throw new Error('ウォレットでネットワーク切り替えが拒否されました。')
      } else {
        throw switchErr
      }
    }

    await provider.request({
      method: 'wallet_watchAsset',
      params: {
        type: 'ERC20',
        options: {
          address: '0x5c97D726bf5130AE15408cE32bc764e458320D2f',
          symbol: 'QUAI',
          decimals: 18,
          image: tokenLogo,
        },
      },
    })

    alert('QUAIがウォレットに追加されました。')
  } catch (e) {
    console.error(e)
    alert(e?.message || 'トークンの追加に失敗しました。接続後に再試行するか、ウォレットで手動で追加してください。')
  } finally {
    provider.__quaiAddTokenPending = false
  }
}}
    style={{ padding: '10px 14px', borderRadius: 8, border: '1px solid #ddd', background: 'var(--secondary-bg)', color: 'var(--primary-text)', cursor: 'pointer' }}
  >
    Base上のQUAIをBaseウォレットに追加
  </button>

  <button
    onClick={async () => {
  const tokenLogo = 'https://pbs.twimg.com/profile_images/1882168961061531648/fsmniyg7_400x400.jpg'
  const pickEvmProvider = () => {
    if (typeof window === 'undefined' || !window?.ethereum) return null
    const candidates = Array.isArray(window.ethereum.providers) && window.ethereum.providers.length
      ? window.ethereum.providers
      : [window.ethereum]

    const prioritized = candidates.find((provider) => provider?.isMetaMask || provider?.isCoinbaseWallet || provider?.isBraveWallet)
    return prioritized ?? candidates[0]
  }

  const provider = pickEvmProvider()

  if (!provider || typeof provider.request !== 'function') {
    alert('EVMウォレットが検出されませんでした。MetaMask、Coinbase Wallet、または他のEVM互換ウォレットをインストールしてください。')
    return
  }

  if (provider.__quaiAddTokenPending) {
    alert('既に開いているウォレットポップアップを先に完了してから、もう一度お試しください。')
    return
  }

  try {
    provider.__quaiAddTokenPending = true
    await provider.request({ method: 'eth_requestAccounts' })

    try {
      await provider.request({
        method: 'wallet_switchEthereumChain',
        params: [{ chainId: '0x1' }],
      })
    } catch (switchErr) {
      if (switchErr?.code === -32601) {
        throw new Error('接続されたウォレットはネットワークを切り替えることができません。MetaMaskまたは他のEVMウォレットをお試しいただくか、手動でトークンを追加してください。')
      } else if (switchErr?.code === 4001) {
        throw new Error('ウォレットでネットワーク切り替えが拒否されました。')
      } else {
        throw switchErr
      }
    }

    await provider.request({
      method: 'wallet_watchAsset',
      params: {
        type: 'ERC20',
        options: {
          address: '0x70b7f7044D2ca8E2F1E999B90EF16d7Cb7A0cDA1',
          symbol: 'QUAI',
          decimals: 18,
          image: tokenLogo,
        },
      },
    })

    alert('QUAIがウォレットに追加されました。')
  } catch (e) {
    console.error(e)
    alert(e?.message || 'トークンの追加に失敗しました。接続後に再試行するか、ウォレットで手動で追加してください。')
  } finally {
    provider.__quaiAddTokenPending = false
  }
}}
    style={{ padding: '10px 14px', borderRadius: 8, border: '1px solid #ddd', background: 'var(--secondary-bg)', color: 'var(--primary-text)', cursor: 'pointer' }}
  >
    Ethereum上のQUAIをEthereumウォレットに追加
  </button>
</div>

## Symbiosis Bridge

Symbiosisは、複数のブロックチェーンにわたって流動性をプールするクロスチェーンAMM DEXで、ユーザーが単一のトランザクションでサポートされている任意のチェーン上の任意のトークンを交換できるようにします。

<Card title="Symbiosis App" icon="bridge" href="https://symbiosis.finance">
  Symbiosisブリッジインターフェースにアクセスして、Quai Networkへ資産を転送したり、Quai Networkから資産を転送したりできます。
</Card>

## Quai Network設定

| プロパティ               | 値                                  |
| :------------------ | :--------------------------------- |
| Chain ID            | `9`                                |
| RPCエンドポイント          | `https://rpc.quai.network/cyprus1` |
| ブロックエクスプローラー        | [QuaiScan](https://quaiscan.io)    |
| Filter Block Offset | `500`                              |

## Quai上のスマートコントラクトアドレス

以下のコントラクトは、Symbiosisブリッジ統合のためにQuai Network（Chain ID: 9）にデプロイされています。

| コントラクト            | アドレス                                         |
| :---------------- | :------------------------------------------- |
| MetaRouter        | `0x001C50a8527fA172A5FBcb65e5402D55cf319ADe` |
| MetaRouterGateway | `0x0024334B36aDe5b7FD9b168aD68Ad288d85Ba261` |
| Bridge            | `0x003d4d57930b2E0887606bE461ab167CAC2E769e` |
| Synthesis         | `0x004E53ED63b674B1e64Bed32eF037e1f94fc1996` |
| Portal            | `0x003d9F9666853fD4A10351FF5364c602470A7cF6` |
| Fabric            | `0x005a04B1EB81A8d1591602eb58742DEee478485D` |
| MulticallRouter   | `0x0049ff6C9ACe2BAf67ad0466D82e0A2Dc7E309d1` |

## Quai上のトークン

| トークン                 | アドレス                                         | 小数点以下桁数 |
| :------------------- | :------------------------------------------- | :------ |
| WQUAI (Wrapped Quai) | `0x006C3e2AaAE5DB1bCd11A1a097cE572312EADdBB` | 18      |

## ソースチェーン上のSymbiosisコントラクト

### Ethereum (Chain ID: 1)

| コントラクト            | アドレス                                         |
| :---------------- | :------------------------------------------- |
| MetaRouter        | `0xf621Fb08BBE51aF70e7E0F4EA63496894166Ff7F` |
| MetaRouterGateway | `0xfCEF2Fe72413b65d3F393d278A714caD87512bcd` |
| Bridge            | `0x5523985926Aa12BA58DC5Ad00DDca99678D7227E` |
| Synthesis         | `0xD7c3DF25683871d18BC838E4F619126442Dd38B3` |
| Portal            | `0xb8f275fBf7A959F4BCE59999A2EF122A099e81A8` |
| Fabric            | `0xbBFb7cb70f84fb6fE1Cb13e42A0B71EFDe769428` |
| MulticallRouter   | `0x49d3Fc00f3ACf80FABCb42D7681667B20F60889A` |

**Ethereum上のUSDT:** `0xdAC17F958D2ee523a2206206994597C13D831ec7` (6 小数点以下桁数)

### Base (Chain ID: 8453)

| コントラクト            | アドレス                                         |
| :---------------- | :------------------------------------------- |
| MetaRouter        | `0x691df9C4561d95a4a726313089c8536dd682b946` |
| MetaRouterGateway | `0x41Ae964d0F61Bb5F5e253141A462aD6F3b625B92` |
| Bridge            | `0x8097f0B9f06C27AF9579F75762F971D745bb222F` |
| Synthesis         | `0x9F6424FE88fBe7785Fa34F0E369F192bF38E7A6e` |
| Portal            | `0xEE981B2459331AD268cc63CE6167b446AF4161f8` |
| Fabric            | `0x44487a445a7595446309464A82244B4bD4e325D5` |
| MulticallRouter   | `0x01A3c8E513B758EBB011F7AFaf6C37616c9C24d9` |

## 統合に関する注意事項

* **CoinGecko Platform ID:** `quai-network`
* **Gas Token ID:** `quai-network`
* Quaiはクロスチェーン操作にCyprus1ゾーンを使用します
* Quai上のトランザクションは、アカウントベース（Quai）トークンに対して標準的なEVM互換署名を使用します

<Note>
  USDTは現在Quai Network上のネイティブトークンとして利用できません。他のチェーンからUSDTをブリッジすると、Symbiosis Synthesisコントラクトを通じて合成資産として表されます。
</Note>

## 追加リソース

<CardGroup cols={2}>
  <Card title="Symbiosis Docs" icon="book" href="https://docs.symbiosis.finance">
    Symbiosisプロトコルの完全なドキュメント
  </Card>

  <Card title="Symbiosis SDK" icon="code" href="https://github.com/symbiosis-finance/js-sdk">
    プログラムによるブリッジ統合のためのJavaScript SDK
  </Card>
</CardGroup>
