### B3 SDK Quickstart Source: https://docs.b3.fun/anyspend/api-reference/introduction A guide to get started with the B3 SDK in under 5 minutes. This section likely contains setup instructions and basic usage examples for developers. ```en ## [Quick Start Guide Get up and running with B3 SDK in under 5 minutes ](https://docs.b3.fun/quickstart) ``` -------------------------------- ### B3 SDK Quickstart Source: https://docs.b3.fun/network-status A guide to get started with the B3 SDK in under 5 minutes. This section likely contains setup instructions and basic usage examples for developers. ```en ## [Quick Start Guide Get up and running with B3 SDK in under 5 minutes ](https://docs.b3.fun/quickstart) ``` -------------------------------- ### B3 SDK Quickstart Source: https://docs.b3.fun/index A guide to get started with the B3 SDK in under 5 minutes. This section likely contains setup instructions and basic usage examples for developers. ```en ## [Quick Start Guide Get up and running with B3 SDK in under 5 minutes ](https://docs.b3.fun/quickstart) ``` -------------------------------- ### B3 SDK Quickstart Source: https://docs.b3.fun/bondkit/guides/migration A guide to get started with the B3 SDK in under 5 minutes. This section likely contains setup instructions and basic usage examples for developers. ```en ## [Quick Start Guide Get up and running with B3 SDK in under 5 minutes ](https://docs.b3.fun/quickstart) ``` -------------------------------- ### B3 Quick Start Guide Source: https://docs.b3.fun/constitution A guide to help users get started with the B3 SDK quickly, aiming for setup in under 5 minutes. It provides a streamlined path to begin development on the B3 platform. ```APIDOC Quick Start Guide: Purpose: Get up and running with B3 SDK in under 5 minutes. Link: https://docs.b3.fun/quickstart ``` -------------------------------- ### B3 Quick Start Guide Source: https://docs.b3.fun/llms-full A guide to help developers get started with the B3 SDK quickly, aiming for setup in under 5 minutes. ```html

Quick Start Guide

Get up and running with B3 SDK in under 5 minutes

``` -------------------------------- ### B3 SDK Quickstart Source: https://docs.b3.fun/llms A guide to getting started with the B3 SDK quickly to begin building on the B3 ecosystem. ```en Get started with the B3 SDK in minutes and start building on the B3 ecosystem ``` -------------------------------- ### B3 Quick Start Guide Source: https://docs.b3.fun/bondkit/api A guide to help users get started with the B3 SDK quickly, aiming for setup in under 5 minutes. It provides a streamlined path to begin development on the B3 platform. ```APIDOC Quick Start Guide: Purpose: Get up and running with B3 SDK in under 5 minutes. Link: https://docs.b3.fun/quickstart ``` -------------------------------- ### B3 CreateKit Quickstart Example Source: https://docs.b3.fun/createkit/quickstart This TypeScript script demonstrates the end-to-end process of creating an NFT collection using B3 CreateKit. It covers initializing viem clients, setting up CreateKit services, generating signatures, storing collection metadata, deploying the collection, minting an NFT, and tracking rewards. It relies on environment variables for private keys and specific B3 testnet configurations. ```typescript import { CollectionManager, RewardTracker, BaseMintStorage, b3Testnet } from '@b3dotfun/basemint' import { createPublicClient, createWalletClient, http } from 'viem' import { privateKeyToAccount } from 'viem/accounts' async function quickstart() { // Initialize clients const publicClient = createPublicClient({ chain: b3Testnet, transport: http() }) const account = privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`) const walletClient = createWalletClient({ chain: b3Testnet, transport: http(), account }) // Initialize CreateKit services const collectionManager = new CollectionManager(publicClient) const rewardTracker = new RewardTracker(publicClient) const storage = new BaseMintStorage({ baseUrl: 'https://api.basemint.fun' }) // Step 1: Create collection metadata const collectionMetadata = { name: "My First Collection", symbol: "MFC", creator: account.address, gameOwner: account.address, maxSupply: 1000n, mintPrice: 0n, maxPerWallet: 10n, description: "My first NFT collection on B3", image: "https://example.com/collection-image.png", startTime: 0n, endTime: BigInt(Math.floor(Date.now() / 1000) + 86400 * 30), tokenStandard: "ERC721" as const, chainId: 1993 } // Step 2: Generate signatures const creatorSignature = await collectionManager.generateCreatorSignature( walletClient, collectionMetadata ) const predictedAddress = collectionManager.predictCollectionAddress( collectionMetadata, creatorSignature ) console.log(`πŸ“ Predicted collection address: ${predictedAddress}`) // Step 3: Submit to storage try { await storage.submitCollection(collectionMetadata, creatorSignature) console.log("βœ… Collection metadata stored successfully") } catch (error) { console.error("❌ Failed to store collection:", error) return } // Step 4: Deploy and mint const deployerSignature = await collectionManager.generateDeployerSignature( walletClient, predictedAddress ) const collection = collectionManager.createCollection( predictedAddress, collectionMetadata.tokenStandard ) const mintTx = await collection.mint( walletClient, 1n, undefined, 0n, [], creatorSignature, deployerSignature ) console.log(`πŸŽ‰ Collection deployed and first NFT minted!`) console.log(`πŸ“‹ Transaction hash: ${mintTx}`) // Step 5: Verify deployment const isDeployed = await collection.isDeployed() console.log(`🏭 Collection deployed: ${isDeployed}`) // Step 6: Track rewards const escrowAddress = collectionManager.getEscrowAddress() const collectionRewards = await rewardTracker.getCollectionRewards( escrowAddress, predictedAddress ) console.log("πŸ’Ž Collection Rewards:", { totalRewards: collectionRewards.totalRewards.toString(), unclaimedRewards: collectionRewards.unclaimedRewards.toString(), totalMints: collectionRewards.totalMints.toString() }) } // Run the quickstart quickstart().catch(console.error) ``` -------------------------------- ### Project Setup with BondKit Source: https://docs.b3.fun/bondkit/installation Sets up a new project for BondKit development. This includes creating a project directory, initializing it with pnpm, installing necessary dependencies like the SDK and TypeScript, and generating a tsconfig.json file. ```bash # Create a new project mkdir my-bondkit-app cd my-bondkit-app pnpm init # Install dependencies pnpm add @b3dotfun/sdk typescript pnpm add -D @types/node tsx # Create TypeScript config npx tsc --init ``` -------------------------------- ### Running the B3 CreateKit Quickstart Script Source: https://docs.b3.fun/createkit/quickstart This command executes the TypeScript quickstart script using `tsx`, a tool that allows running TypeScript files directly without prior compilation. Ensure you have `tsx` installed (`npm install -g tsx` or `yarn global add tsx`) and your environment variables (like `PRIVATE_KEY`) are set. ```bash npx tsx quickstart.ts ``` -------------------------------- ### BondKit Workflow and Setup Source: https://docs.b3.fun/llms Information on how BondKit works, installation, and quickstart guides for launching ERC20 bond tokens. ```APIDOC How BondKit Works: Description: Create β†’ Bond β†’ Migrate: the end‑to‑end flow for launching ERC20 bond tokens on Base. Installation: Description: Install and configure BondKit for launching ERC20 bond tokens on Base. Quickstart: Description: Launch an ERC20 bond token in minutes: Create β†’ Bond β†’ Migrate. ``` -------------------------------- ### React/Vite Setup with CreateKit Source: https://docs.b3.fun/createkit/installation Sets up viem clients and the CollectionManager for React/Vite applications using B3 Testnet and environment variables for the RPC URL. ```typescript import { createPublicClient, http } from 'viem' import { b3Testnet } from '@b3dotfun/basemint' import { CollectionManager } from '@b3dotfun/basemint' export const publicClient = createPublicClient({ chain: b3Testnet, transport: http(import.meta.env.VITE_RPC_URL) }) export const collectionManager = new CollectionManager(publicClient) ``` -------------------------------- ### Running BondKit Setup Test Source: https://docs.b3.fun/bondkit/installation Command to execute the BondKit setup test file using `tsx`. ```bash npx tsx test-bondkit.ts ``` -------------------------------- ### Advanced BondKit Setup with Custom Wallet Client Source: https://docs.b3.fun/bondkit/installation Illustrates an advanced setup for BondKit, including custom wallet client configuration using viem and connecting the BondkitTokenFactory with a custom transport. It also shows how to initialize and work with an existing BondKit token. ```typescript import { BondkitTokenFactory, BondkitToken, getConfig } from "@b3dotfun/sdk/bondkit"; import { createWalletClient, custom } from "viem"; import { base } from "viem/chains"; // Custom wallet client setup const walletClient = createWalletClient({ chain: base, transport: custom(window.ethereum) }); // Initialize with custom configuration const config = getConfig(base.id); const factory = new BondkitTokenFactory(base.id); // Connect with custom wallet client await factory.connect(walletClient.transport); // Work with existing token const token = new BondkitToken( "0x123...", // token address process.env.WALLET_PRIVATE_KEY ); ``` -------------------------------- ### Next.js Setup with CreateKit Source: https://docs.b3.fun/createkit/installation Initializes viem clients and CreateKit managers (CollectionManager, RewardTracker, BaseMintStorage) for a Next.js application using B3 Testnet. ```typescript import { createPublicClient, http } from 'viem' import { b3Testnet } from '@b3dotfun/basemint' import { CollectionManager, RewardTracker, BaseMintStorage } from '@b3dotfun/basemint' // Initialize clients export const publicClient = createPublicClient({ chain: b3Testnet, transport: http() }) // Initialize CreateKit managers export const collectionManager = new CollectionManager(publicClient) export const rewardTracker = new RewardTracker(publicClient) export const storage = new BaseMintStorage({ baseUrl: 'https://api.basemint.fun' }) ``` -------------------------------- ### Initialize Viem Clients with CreateKit Source: https://docs.b3.fun/createkit/installation Provides examples for initializing both public and wallet viem clients using CreateKit's chain definitions. The public client is for reading data, while the wallet client is for signing transactions, typically used server-side. ```typescript import { createPublicClient, createWalletClient, http } from 'viem' import { privateKeyToAccount } from 'viem/accounts' import { b3Testnet } from '@b3dotfun/basemint' // Public client for reading data export const publicClient = createPublicClient({ chain: b3Testnet, transport: http() }) // Wallet client for transactions (for server-side usage) export const walletClient = createWalletClient({ chain: b3Testnet, transport: http(), account: privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`) }) ``` -------------------------------- ### CreateKit SDK: Core Functionality Guides Source: https://docs.b3.fun/llms Guides covering the core functionalities of the CreateKit SDK. This includes installation, a quick start for creating your first NFT collection, detailed minting processes, and managing the rewards system. ```APIDOC Installation: Install CreateKit (BaseMint SDK) in your project. Quick Start: Create your first NFT collection with CreateKit in minutes. Minting: Guides on token minting, including deployment, regular minting, and advanced features. Rewards System: Understanding and implementing the CreateKit reward distribution system. ``` -------------------------------- ### Verify AnySpend Setup Source: https://docs.b3.fun/anyspend/installation A simple React component to verify that the AnySpend setup is working correctly by rendering the AnySpend component. ```javascript import { AnySpend } from "@b3dotfun/sdk/anyspend/react"; function TestComponent() { return ; } ``` -------------------------------- ### BondKit Quickstart: Deploy, Trade, Migrate Source: https://docs.b3.fun/bondkit/quickstart This guide walks through the lifecycle of a BondKit token: deploying a new bond token, trading during the bonding phase, monitoring progress, and migrating to Uniswap v4. It assumes prior installation and a funded wallet on Base. ```APIDOC BondKit Lifecycle: 1. Deploy Bond Token 2. Trade during Bonding Phase 3. Monitor Progress 4. Migrate to Uniswap v4 Prerequisites: - Installation completed - Funded wallet on Base Flow Diagram: User <-> UniswapV4TradersTokenFactory [Bonding Phase] - deployBondkitToken() - buy()/sell() [Migration Phase] - migrateToDex() Key Actions: - Deploy Token - Buy Tokens - Sell Tokens - Check Migration Readiness - Execute Migration ``` -------------------------------- ### Getting Started with B3 Source: https://docs.b3.fun/llms Essential guides for new users, covering account creation, wallet security, profile customization, and managing embedded wallets. This section ensures users can securely access and personalize their B3 experience. ```APIDOC Crypto and Wallet Security: Description: Understanding crypto wallets, their components, security best practices, and B3's use of wallets for identity and ownership. Key Concepts: - Private Keys: Secure storage and management. - Recovery Phrases: Importance and backup. - B3 Wallet Integration: For identity and ownership verification. How to Create a B3 Account: Description: Steps to create a B3 account using email, wallet, or social login. Login Methods: - Email Login - Wallet Login (e.g., MetaMask, Coinbase Wallet) - Social Login (e.g., Google, Twitter) How to Customize Your Basement Profile: Description: Personalizing the Basement profile with avatars, usernames, themes, and signatures. Customization Options: - Avatar: Upload or select. - Username: Set a unique identifier. - Theme: Apply visual styles. - Signature: Add a personal touch. How to Export Your Embedded Wallet: Description: Instructions for exporting the BSMNT embedded wallet to use with external applications. Export Options: - Copy Private Key - Copy Recovery Phrase Compatibility: - Usable with wallets like Rainbow or MetaMask. How to Link Additional Social Accounts: Description: Connecting external accounts like Discord, Twitter, and Gmail to enhance B3 profile identity. Supported Accounts: - Discord - Twitter - Gmail - Other social platforms ``` -------------------------------- ### B3 AnySpend Provider Setup Source: https://docs.b3.fun/anyspend/installation Wraps your React application with B3Provider and AnyspendProvider to enable AnySpend features. Includes necessary CSS import. ```javascript import { AnyspendProvider } from "@b3dotfun/sdk/anyspend/react"; import { B3Provider } from "@b3dotfun/sdk/global-account/react"; import "@b3dotfun/sdk/index.css"; function App() { return ( {/* Your app components */} ); } export default App; ``` -------------------------------- ### TypeScript Configuration for B3 SDK Source: https://docs.b3.fun/anyspend/installation Recommended TypeScript configuration for optimal compatibility when using the B3 SDK, ensuring proper module resolution and import handling. ```json { "compilerOptions": { "moduleResolution": "node", "allowSyntheticDefaultImports": true, "esModuleInterop": true } } ``` -------------------------------- ### Install BondKit SDK Source: https://docs.b3.fun/bondkit/installation Installs the BondKit SDK using pnpm, npm, or yarn. This is the first step to integrate BondKit into your project. ```pnpm pnpm add @b3dotfun/sdk ``` ```npm npm install @b3dotfun/sdk ``` ```yarn yarn add @b3dotfun/sdk ``` -------------------------------- ### Installing BondKit SDK Source: https://docs.b3.fun/bondkit/installation Command to add the BondKit SDK to your project using pnpm. ```bash pnpm add @b3dotfun/sdk ``` -------------------------------- ### Install CreateKit Dependencies Source: https://docs.b3.fun/createkit/installation Installs the required peer dependencies for CreateKit, which are viem and wagmi Core. These are essential for interacting with the blockchain. ```npm npm install viem @wagmi/core ``` ```yarn yarn add viem @wagmi/core ``` ```pnpm pnpm add viem @wagmi/core ``` -------------------------------- ### B3 CreateKit API Reference Source: https://docs.b3.fun/createkit/installation Overview of the B3 CreateKit API, including sections for Collections and Referrers. This serves as a high-level entry point to the API documentation. ```APIDOC API Reference: - Collections - Referrers ``` -------------------------------- ### Initialize CreateKit Services Source: https://docs.b3.fun/createkit/quickstart Sets up essential clients and services for interacting with the B3 network, including collection management, reward tracking, and storage. It requires viem for blockchain interactions and specific B3 SDK modules. ```typescript import { CollectionManager, RewardTracker, BaseMintStorage, b3Testnet } from '@b3dotfun/basemint' import { createPublicClient, createWalletClient, http } from 'viem' import { privateKeyToAccount } from 'viem/accounts' // Initialize clients const publicClient = createPublicClient({ chain: b3Testnet, transport: http() }) const account = privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`) const walletClient = createWalletClient({ chain: b3Testnet, transport: http(), account }) // Initialize CreateKit services const collectionManager = new CollectionManager(publicClient) const rewardTracker = new RewardTracker(publicClient) const storage = new BaseMintStorage({ baseUrl: 'https://api.basemint.fun' }) ``` -------------------------------- ### Verify CreateKit Installation Source: https://docs.b3.fun/createkit/installation A script to test the CreateKit installation by connecting to B3 Testnet, retrieving the block number, and getting the factory address. ```typescript import { b3Testnet, CollectionManager } from '@b3dotfun/basemint' import { createPublicClient, http } from 'viem' async function testInstallation() { try { // Create client const client = createPublicClient({ chain: b3Testnet, transport: http() }) // Initialize manager const manager = new CollectionManager(client) // Test connection const blockNumber = await client.getBlockNumber() console.log('βœ… Successfully connected to B3 Testnet') console.log(`πŸ“Š Current block number: ${blockNumber}`) // Test contract interaction const factoryAddress = manager.getFactoryAddress() console.log(`🏭 Factory address: ${factoryAddress}`) console.log('πŸŽ‰ CreateKit installation successful!') } catch (error) { console.error('❌ Installation test failed:', error) } } testInstallation() ``` -------------------------------- ### New Project Setup Source: https://docs.b3.fun/llms-full Steps to set up a new project, including creating a directory, initializing npm, installing the SDK and TypeScript dependencies, and creating a TypeScript configuration file. ```bash # Create a new project mkdir my-bondkit-app cd my-bondkit-app pnpm init # Install dependencies pnpm add @b3dotfun/sdk typescript pnpm add -D @types/node tsx # Create TypeScript config npx tsc --init ``` -------------------------------- ### Install B3 SDK using npm Source: https://docs.b3.fun/anyspend/installation Installs the B3 SDK package using npm, which is necessary for integrating AnySpend functionality into your React application. ```bash npm install @b3dotfun/sdk ``` -------------------------------- ### Simple User Onboarding Flow Source: https://docs.b3.fun/anyspend/examples Demonstrates a step-by-step user onboarding process using React. It includes wallet connection, crypto purchase via AnySpend, and progress tracking. Dependencies include React's useState hook and a hypothetical useWallet hook. ```javascript function UserOnboarding() { const [step, setStep] = useState(1); const [userAddress] = useWallet(); return (
= 1 ? 'active' : ''}`}>1. Connect Wallet
= 2 ? 'active' : ''}`}>2. Buy Crypto
= 3 ? 'active' : ''}`}>3. Start Using
{step === 1 && (

Welcome! Let's get you started

First, connect your wallet to continue.

setStep(2)} />
)} {step === 2 && (

Buy your first crypto

Purchase tokens with your credit card to get started.

{ setStep(3); toast.success("Purchase successful! Welcome to the ecosystem!"); }} />
)} {step === 3 && (

You're all set! πŸŽ‰

Your crypto purchase is complete. Here's what you can do next:

)}
); } ``` -------------------------------- ### Basic Setup for CreateKit Source: https://docs.b3.fun/llms-full Illustrates the initial setup required to use B3.fun CreateKit. This includes initializing Viem clients for public and wallet interactions, setting up accounts, and instantiating core CreateKit services like CollectionManager, RewardTracker, and BaseMintStorage. ```typescript import { CollectionManager, RewardTracker, BaseMintStorage, b3Testnet } from '@b3dotfun/basemint' import { createPublicClient, createWalletClient, http } from 'viem' import { privateKeyToAccount } from 'viem/accounts' // Initialize clients const publicClient = createPublicClient({ chain: b3Testnet, transport: http() }) const account = privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`) const walletClient = createWalletClient({ chain: b3Testnet, transport: http(), account }) // Initialize CreateKit services const collectionManager = new CollectionManager(publicClient) const rewardTracker = new RewardTracker(publicClient) const storage = new BaseMintStorage({ baseUrl: 'https://api.basemint.fun' }) ``` -------------------------------- ### Environment Variables Setup Source: https://docs.b3.fun/createkit/installation Shows how to create a `.env` file in the project root to store environment variables, such as the private key required for signing transactions. ```dotenv # Required for signing transactions PRIVATE_KEY=0x... ``` -------------------------------- ### Initialize B3Provider Source: https://docs.b3.fun/quickstart Wraps your application's root with B3Provider to enable B3 services. Requires specifying the environment. ```javascript import { B3Provider } from "@b3dotfun/sdk/global-account/react"; function App({ children }) { return ( {children} ); } ``` -------------------------------- ### Basic BondKit TokenFactory Initialization Source: https://docs.b3.fun/bondkit/installation Demonstrates how to initialize the BondkitTokenFactory for both server-side (using a private key) and client-side (using a wallet provider) applications. It imports necessary components from the BondKit SDK and viem. ```typescript import { BondkitTokenFactory } from "@b3dotfun/sdk/bondkit"; import { base } from "viem/chains"; // For server-side usage with private key const factory = new BondkitTokenFactory( base.id, process.env.WALLET_PRIVATE_KEY ); // For client-side usage with wallet provider const clientFactory = new BondkitTokenFactory(base.id); await clientFactory.connect(window.ethereum); ``` -------------------------------- ### Get Transactions cURL Example Source: https://docs.b3.fun/data/api-reference/blockscout/get-transactions Example of how to call the Get Transactions API endpoint using cURL. ```curl curl --request GET \ --url https://data-api.b3.fun/blockscout/transactions ``` -------------------------------- ### Get User Leaderboard Position Example Source: https://docs.b3.fun/basement/api-reference/get-user-leaderboard-position Example cURL request to get a user's position on the game leaderboard. ```curl curl --request POST \ --url https://api.basement.fun/launcher \ --header 'Content-Type: application/json' \ --header 'X-Service-Method: getUsersPositionInGameScoreLeaderboard' \ --data '{ "gameId": "", "wallet": "" }' ``` -------------------------------- ### B3 Network Setup and Bridging Source: https://docs.b3.fun/anyspend/api-reference/introduction Instructions for connecting to the B3 network, bridging assets to B3, and information about the testnet and bridging to the testnet. ```en ## [Connect to B3](https://docs.b3.fun/protocol/network-setup) ## [Bridge to B3](https://docs.b3.fun/protocol/bridge) ## [Testnet](https://docs.b3.fun/protocol/testnet) ## [Bridge to B3 Testnet](https://docs.b3.fun/protocol/bridge-to-testnet) ``` -------------------------------- ### Get Transaction State Changes cURL Example Source: https://docs.b3.fun/data/api-reference/blockscouttransactions/get-transaction-state-changes Example of how to call the Get Transaction State Changes API endpoint using cURL. ```curl curl --request GET \ --url https://data-api.b3.fun/blockscout/transactions/{transaction_hash}/state-changes ``` -------------------------------- ### cURL Example for Get Token Instance Holders Source: https://docs.b3.fun/data/api-reference/blockscouttokens/get-token-instance-holders Example of how to call the Get Token Instance Holders API endpoint using cURL. ```cURL curl --request GET \ --url https://data-api.b3.fun/blockscout/tokens/{address_hash}/instances/{id}/holders ``` -------------------------------- ### Get Coinbase Onramp Options cURL Example Source: https://docs.b3.fun/anyspend/api-reference/onramp/get-coinbase-onramp-options Example of how to fetch Coinbase onramp options using a cURL GET request to the specified endpoint. ```curl curl --request GET \ --url https://mainnet.anyspend.com/onramp/coinbase/options ``` -------------------------------- ### Install B3 SDK Source: https://docs.b3.fun/quickstart Installs the B3 SDK package using npm. The SDK includes TypeScript definitions. ```bash npm install @b3dotfun/sdk ``` -------------------------------- ### Verify Collection Deployment and Get Info Source: https://docs.b3.fun/createkit/quickstart Verifies if the collection has been deployed and retrieves its information, including name, symbol, total supply, and max supply. It also checks the user's token balance. ```javascript const isDeployed = await collection.isDeployed() console.log(`🚧 Collection deployed: ${isDeployed}`) const info = await collection.getCollectionInfo() console.log("πŸ“Š Collection Info:", { name: info.name, symbol: info.symbol, totalSupply: info.totalSupply.toString(), maxSupply: info.maxSupply.toString() }) const balance = await collection.balanceOf(account.address) console.log(`πŸ’° Your token balance: ${balance.toString()}`) ```