{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Juicebox V5 Contract Addresses",
  "description": "Machine-readable contract addresses for Juicebox Protocol V5 across all supported networks",
  "version": "5.1",
  "updatedAt": "2025-01-17",
  "networks": {
    "1": { "name": "Ethereum Mainnet", "explorer": "https://etherscan.io" },
    "10": { "name": "Optimism", "explorer": "https://optimistic.etherscan.io" },
    "42161": { "name": "Arbitrum", "explorer": "https://arbiscan.io" },
    "8453": { "name": "Base", "explorer": "https://basescan.org" },
    "11155111": { "name": "Sepolia", "explorer": "https://sepolia.etherscan.io" },
    "11155420": { "name": "Optimism Sepolia", "explorer": "https://sepolia.optimism.io" },
    "421614": { "name": "Arbitrum Sepolia", "explorer": "https://sepolia.arbiscan.io" },
    "84532": { "name": "Base Sepolia", "explorer": "https://sepolia.basescan.org" }
  },
  "contracts": {
    "core": {
      "JBController5_1": {
        "address": "0xf3cc99b11bd73a2e3b8815fb85fe0381b29987e1",
        "description": "Manages project rulesets, tokens, and splits. Primary entry point for project configuration.",
        "recommended": true,
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "JBController": {
        "address": "0x27da30646502e2f642be5281322ae8c394f7668a",
        "description": "Original V5 controller. Use JBController5_1 for new projects.",
        "recommended": false,
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "JBMultiTerminal5_1": {
        "address": "0x52869db3d61dde1e391967f2ce5039ad0ecd371c",
        "description": "Handles payments, cashouts, and fund distributions. Accepts ETH and ERC-20 tokens.",
        "recommended": true,
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "JBMultiTerminal": {
        "address": "0x2db6d704058e552defe415753465df8df0361846",
        "description": "Original V5 terminal. Use JBMultiTerminal5_1 for new projects.",
        "recommended": false,
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "JBDirectory": {
        "address": "0x0061e516886a0540f63157f112c0588ee0651dcf",
        "description": "Registry mapping projects to their terminals and controllers.",
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "JBProjects": {
        "address": "0x885f707efa18d2cb12f05a3a8eba6b4b26c8c1d4",
        "description": "ERC-721 contract representing project ownership.",
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "JBTokens": {
        "address": "0x4d0edd347fb1fa21589c1e109b3474924be87636",
        "description": "Manages project token accounting (credits and ERC-20).",
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "JBRulesets5_1": {
        "address": "0xd4257005ca8d27bbe11f356453b0e4692414b056",
        "description": "Stores ruleset configurations for projects.",
        "recommended": true,
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "JBRulesets": {
        "address": "0x6292281d69c3593fcf6ea074e5797341476ab428",
        "description": "Original V5 rulesets store.",
        "recommended": false,
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "JBSplits": {
        "address": "0x7160a322fea44945a6ef9adfd65c322258df3c5e",
        "description": "Manages payout and reserved token splits for projects.",
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "JBPrices": {
        "address": "0x9b90e507cf6b7eb681a506b111f6f50245e614c4",
        "description": "Currency price feeds for token issuance calculations.",
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "JBPermissions": {
        "address": "0x04fd6913d6c32d8c216e153a43c04b1857a7793d",
        "description": "Permission delegation system for operator access.",
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "JBFundAccessLimits": {
        "address": "0x3a46b21720c8b70184b0434a2293b2fdcc497ce7",
        "description": "Manages payout limits and surplus allowances.",
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "JBTerminalStore5_1": {
        "address": "0x5cdfcf7f5f25da0dcb0eccd027e5feebada1d964",
        "description": "Terminal balance and accounting data store.",
        "recommended": true,
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "JBTerminalStore": {
        "address": "0xfe33b439ec53748c87dcedacb83f05add5014744",
        "description": "Original V5 terminal store.",
        "recommended": false,
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "JBFeelessAddresses": {
        "address": "0xfc702a0190f3edbc369208dfe77bf273add91d53",
        "description": "Registry of addresses exempt from protocol fees.",
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "JBERC20": {
        "address": "0xaeac450c8522e40244bdfb8120ee398207be5d31",
        "description": "Implementation contract for project ERC-20 tokens.",
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      }
    },
    "approvalHooks": {
      "JBDeadline3Hours": {
        "address": "0x4eeb65e13ade86155d169ba1fabd06828171799a",
        "description": "Requires 3 hours notice before ruleset changes take effect.",
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "JBDeadline1Day": {
        "address": "0xcffdd1303f24145bd2c84e7bf15af1eb6ab924d7",
        "description": "Requires 1 day notice before ruleset changes take effect.",
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "JBDeadline3Days": {
        "address": "0x09b23b09af88bb6d7e9c957ff9f861f1c917111b",
        "description": "Requires 3 days notice before ruleset changes take effect.",
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "JBDeadline7Days": {
        "address": "0xdf911b94712cf117fb63b69838b16e1710636031",
        "description": "Requires 7 days notice before ruleset changes take effect.",
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      }
    },
    "hooks": {
      "JBBuybackHook": {
        "addresses": {
          "1": "0xd342490ec41d5982c23951253a74a1c940fe0f9b",
          "10": "0x318f8aa6a95cb83419985c0d797c762f5a7824f3",
          "42161": "0x4ac3e20edd1d398def0dfb44d3adb9fc244f0320",
          "8453": "0xb6133a222315f8e9d25e7c77bac5ddeb3451d088",
          "11155111": "0xf082e3218a690ea6386506bed338f6878d21815f",
          "11155420": "0x79e5ca5ebe4f110965248afad88b8e539e1aa8fd",
          "421614": "0xb35ab801c008a64d8f3eea0a8a6209b0d176f2df",
          "84532": "0x79e5ca5ebe4f110965248afad88b8e539e1aa8fd"
        },
        "description": "Buys tokens from Uniswap when better rate than minting."
      },
      "JBBuybackHookRegistry": {
        "address": "0x9e1e0fb70bc4661f2cc2d5eddd87a9d582a12b1a",
        "description": "Registry for buyback hook pool configurations.",
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "JB721TiersHookDeployer5_1": {
        "address": "0x792bdd4dd1e52fcf8fb3e80278a2b4e4396d2732",
        "description": "Deploys tiered NFT reward hooks for projects.",
        "recommended": true,
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "JB721TiersHookProjectDeployer5_1": {
        "address": "0xeb15c1df0f5ae36f525f5f9a03f5c5190ac9a7f8",
        "description": "Deploys projects with NFT hooks in single transaction.",
        "recommended": true,
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "JB721TiersHookStore5_1": {
        "address": "0x749ac9c5ef5ef41f402c70a5bc460c5a1d8eb25b",
        "description": "Data store for NFT tier configurations.",
        "recommended": true,
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      }
    },
    "swapTerminal": {
      "JBSwapTerminal": {
        "addresses": {
          "1": "0x259385b97dfbd5576bd717dc7b25967ec8b145dd",
          "10": "0x73d04584bde126242c36c2c7b219cbdec7aad774",
          "42161": "0x483c9b12c5bd2da73133aae30642ce0008c752ad",
          "8453": "0x4fd73d8b285e82471f08a4ef9861d6248b832edd",
          "11155111": "0xca3f2cc5a35c0412e8147746602b76ba4ac29fc5",
          "11155420": "0xc7369f75bd678e1a9a46b82e2512e84489d4d32d",
          "421614": "0x5f820a86d63eb1b98c562728719dc1e30967c41c",
          "84532": "0xc7369f75bd678e1a9a46b82e2512e84489d4d32d"
        },
        "description": "Terminal that swaps incoming tokens to project's preferred token."
      },
      "JBSwapTerminalRegistry": {
        "address": "0x60b4f5595ee509c4c22921c7b7999f1616e6a4f6",
        "description": "Registry for swap terminal pool configurations.",
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      }
    },
    "revnet": {
      "REVDeployer": {
        "address": "0x2ca27bde7e7d33e353b44c27acfcf6c78dde251d",
        "description": "Deploys and manages revnets with deterministic tokenomics.",
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "REVLoans": {
        "address": "0x1880d832aa283d05b8eab68877717e25fbd550bb",
        "description": "Token-collateralized loans for revnet token holders.",
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      }
    },
    "omnichain": {
      "JBOmnichainDeployer5_1": {
        "address": "0x587bf86677ec0d1b766d9ba0d7ac2a51c6c2fc71",
        "description": "Deploys projects across multiple chains with suckers.",
        "recommended": true,
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "JBOmnichainDeployer": {
        "address": "0x8f5ded85c40b50d223269c1f922a056e72101590",
        "description": "Original omnichain deployer.",
        "recommended": false,
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "JBSuckerRegistry": {
        "address": "0x07c8c5bf08f0361883728a8a5f8824ba5724ece3",
        "description": "Registry of cross-chain sucker bridges.",
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      }
    },
    "croptop": {
      "CTPublisher": {
        "address": "0x03ef9ea1467df70d4b1e1d619aa9a2a2f820ee24",
        "description": "Croptop content publishing contract.",
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "CTDeployer": {
        "address": "0xc3c26682ef39a4a5f4a1dc2459a6fbcba4e5d8ea",
        "description": "Deploys Croptop collections.",
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      },
      "CTProjectOwner": {
        "address": "0x127fa6d4d0a4e791c6c4adaa4c9ad97127690883",
        "description": "Croptop project ownership management.",
        "networks": ["1", "10", "42161", "8453", "11155111", "11155420", "421614", "84532"]
      }
    }
  },
  "constants": {
    "NATIVE_TOKEN": "0x000000000000000000000000000000000000eeee",
    "ETH_CURRENCY": 1,
    "USD_CURRENCY": 2,
    "NATIVE_TOKEN_CURRENCY": 61166,
    "MAX_RESERVED_PERCENT": 10000,
    "MAX_CASH_OUT_TAX_RATE": 10000,
    "MAX_WEIGHT_CUT_PERCENT": 1000000000,
    "SPLITS_TOTAL_PERCENT": 1000000000,
    "MAX_FEE": 25000000
  }
}
