Documentation Index
Fetch the complete documentation index at: https://docs.generalmarket.io/llms.txt
Use this file to discover all available pages before exploring further.
Deployed Contract Addresses
The addresses. Where the contracts live on-chain. Verify them before sending money — trust is a luxury smart contract users cannot afford.
Vision contracts are deployed on the Index L3 Arbitrum Orbit chain (chain ID 111222333).
┌─────────────────────────────────────────────────┐
│ INDEX L3 (Chain 111222333) │
│ │
│ ┌───────────────────────────────────────────┐ │
│ │ Vision Contract │ │
│ │ 0x4F1BDD073932828bf2822F6dCAD1121Da41ED1Ef│ │
│ │ │ │
│ │ ┌─────────┐ ┌──────────┐ ┌────────────┐ │ │
│ │ │ Batches │ │ Players │ │ Bot Reg. │ │ │
│ │ └─────────┘ └──────────┘ └────────────┘ │ │
│ └───────────────────────────────────────────┘ │
│ │ │
│ ┌───────┴───────┐ │
│ │ │ │
│ ┌───────────────┐ ┌────────────────────────┐ │
│ │ L3 WUSDC │ │ OracleRegistry │ │
│ │ (18 decimals)│ │ (BLS verification) │ │
│ └───────────────┘ └────────────────────────┘ │
└─────────────────────────────────────────────────┘
Contract addresses are loaded from deployments/vision-deployment.json and may differ between environments (testnet, staging, production). Always verify addresses against the deployment file before interacting with contracts directly.
| Property | Value |
|---|
| Chain Name | Index L3 (Arbitrum Orbit) |
| Chain ID | 111222333 |
| RPC Endpoint | https://rpc.generalmarket.io/ |
| Collateral Token | WUSDC (18 decimals on L3) |
| Consensus | BLS oracle consensus |
Deployed Contracts
| Contract | Address | Description |
|---|
| Vision | 0x4F1BDD073932828bf2822F6dCAD1121Da41ED1Ef | Main entry point for batch management, player operations, bot registry, and fee collection. |
| Deployer | 0xC0d3ca67da45613e7C5b2d55F09b00B3c99721f4 | The address that deployed the Vision contract. |
Key Contract Parameters
These constants are set at deployment and cannot be changed:
| Parameter | Value | Description |
|---|
PROTOCOL_FEE_BPS | 5 (0.05%) | Fee charged on player profits |
MIN_STAKE_PER_TICK | 100,000 (0.1 USDC) | Minimum stake per tick to join a batch |
BPS_DENOMINATOR | 10,000 | Basis point denominator |
MAX_TICK_DURATION | 30 days | Maximum allowed tick duration when creating a batch |
MAX_NAME_LENGTH | 64 bytes | Maximum batch name length |
MAX_DESCRIPTION_LENGTH | 280 bytes | Maximum batch description length |
MAX_URL_LENGTH | 128 bytes | Maximum website URL length |
MAX_VIDEO_URL_LENGTH | 256 bytes | Maximum video URL length |
MAX_IMAGE_URL_LENGTH | 256 bytes | Maximum image URL length |
MAX_DEPLOYER_NAME_LENGTH | 64 bytes | Maximum deployer name length |
USDC on Index L3
Vision uses WUSDC with 18 decimal places on the Index L3 chain. All amounts in the contract (deposits, stakes, balances, fees) are denominated in WUSDC’s 18-decimal format.
| Amount | Raw Value |
|---|
| 0.1 USDC | 100000000000000000 (1e17) |
| 1 USDC | 1000000000000000000 (1e18) |
| 10 USDC | 10000000000000000000 (1e19) |
| 100 USDC | 100000000000000000000 (1e20) |
| 1,000 USDC | 1000000000000000000000 (1e21) |
Retrieving Addresses
From the Deployment File
The canonical source of truth for deployed addresses is the deployment JSON:
cat deployments/vision-deployment.json
{
"chainId": 111222333,
"deployer": "0xC0d3ca67da45613e7C5b2d55F09b00B3c99721f4",
"contracts": {
"Vision": "0x4F1BDD073932828bf2822F6dCAD1121Da41ED1Ef"
}
}
In the Frontend
The frontend imports the Vision address from the deployment module:
import deployment from "@/lib/contracts/deployment.json";
const visionAddress = deployment.contracts.Vision;
In a Bot
When building a Vision bot, read the contract address from the deployment file or pass it as a configuration parameter:
import json
with open("deployments/vision-deployment.json") as f:
deployment = json.load(f)
VISION_ADDRESS = deployment["contracts"]["Vision"]
CHAIN_ID = deployment["chainId"]
Adding the Network to a Wallet
To interact with Vision contracts from a wallet like MetaMask:
- Open your wallet’s network settings.
- Add a custom network with the following details:
- Network Name: Index L3
- RPC URL:
https://rpc.generalmarket.io/
- Chain ID:
111222333
- Currency Symbol: ETH
Immutable Contract References
The Vision contract holds two immutable references set at deployment:
| Reference | Description |
|---|
USDC | The IERC20 token used for all deposits, stakes, and payouts. |
oracleRegistry | The OracleRegistry contract that stores BLS public keys for signature verification. |
feeCollector | The address authorized to call collectFees() and withdraw accumulated protocol fees. |
These values are set in the constructor and cannot be changed after deployment:
constructor(address _usdc, address _oracleRegistry, address _feeCollector) {
USDC = IERC20(_usdc);
oracleRegistry = _oracleRegistry;
feeCollector = _feeCollector;
}