TaifoonTAIFOON
TaifoonTAIFOON
TAIFOON PROTOCOL — BUILDERS QUICKSTART

5-Minute Builder Quickstart

Deploy your first cross-chain verification integration. From zero to verifying remote chain state in under 5 minutes.

~3 min
Setup Time
~50
Lines of Code
38
Chains Supported
01

Install Taifoon SDK

Install the Taifoon verification library for your smart contract:

bash
npm install @taifoon/sdk
# or
forge install taifoon-io/taifoon-contracts
02

Import & Deploy Verifier

Import the verifier contract and inherit from it:

solidity
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "@taifoon/sdk/contracts/src/interfaces/IV5ProofVerifier.sol";

contract MyProtocol is V5ProofVerifier {
    constructor(address _superRootRegistry)
        V5ProofVerifier(_superRootRegistry) {}

    function verifyRemoteBalance(
        uint256 chainId,
        address account,
        bytes32[] calldata proof
    ) external view returns (uint256 balance) {
        // Verify the proof against SuperRoot
        require(
            verifySuperRootProof(chainId, proof),
            "Invalid proof"
        );

        // Extract balance from verified proof
        balance = abi.decode(proof[proof.length - 1], (uint256));
    }
}
03

Generate Your First Proof

Request a proof for any on-chain state:

typescript
import { TaifoonClient } from '@taifoon/sdk';

const client = new TaifoonClient({
  apiKey: process.env.TAIFOON_API_KEY
});

// Request proof for a balance on Arbitrum
const proof = await client.generateProof({
  chainId: 42161,  // Arbitrum
  account: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb',
  storageSlot: '0x0',  // Balance slot
});

console.log('Proof:', proof);
// => { proof: ['0x...', '0x...'], superRoot: '0x...' }
04

Verify On-Chain

Call your contract to verify the proof:

typescript
// Frontend or backend
const balance = await myProtocol.verifyRemoteBalance(
  42161,  // Arbitrum chain ID
  '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb',
  proof.proof
);

console.log('Verified balance:', balance);
// ✅ Cryptographically verified balance from Arbitrum

You're Done!

You've integrated cross-chain verification. Your protocol can now trustlessly verify state from 41 chains without bridges or oracles.