> For the complete documentation index, see [llms.txt](https://docs.bv7x.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bv7x.ai/on-chain/smart-contracts.md).

# Smart Contracts

BV-7X uses several on-chain contracts across Base mainnet and Base Sepolia testnet.

***

## $BV7X Token

| Property     | Value                                                                                                                 |
| ------------ | --------------------------------------------------------------------------------------------------------------------- |
| **Name**     | BV7X                                                                                                                  |
| **Chain**    | Base                                                                                                                  |
| **Address**  | `0xd88fd4a11255e51f64f78b4a7d74456325c2d8dc`                                                                          |
| **Standard** | ERC-20                                                                                                                |
| **DEX**      | [Uniswap on Base](https://app.uniswap.org/swap?chain=base\&outputCurrency=0xd88fd4a11255e51f64f78b4a7d74456325c2d8dc) |

The $BV7X token is used for API access gating. Holding 500M+ unlocks Basic tier; 1B+ unlocks Premium tier. No staking or locking required.

***

## Agent Wallet

| Property    | Value                                              |
| ----------- | -------------------------------------------------- |
| **Address** | `0xd8B71d23e1a8da9867497C0E757A1143B94C3e1e`       |
| **Chain**   | Base (primary), Polygon (Polymarket)               |
| **Role**    | Signs attestations, places wagers, logs reputation |

This is the wallet that attests predictions on EAS, executes Polymarket bets, and interacts with the ERC-8004 registries.

***

## MultiRewards Staking — Testnet (live)

| Property           | Value                                              |
| ------------------ | -------------------------------------------------- |
| **Contract**       | `0xFB47CB11C72b551d0101fa8BCdB7a7fbCb11CA9B`       |
| **Chain**          | Base Sepolia (testnet)                             |
| **Solidity**       | 0.8.28                                             |
| **Access Control** | Ownable2Step                                       |
| **Test Coverage**  | 49/49 tests passing · 98.48% stmts / 83.33% branch |

MultiRewards allows staking $BV7X to earn multiple reward tokens simultaneously.

**Test tokens**:

* mBV7X: `0xC67f025175f5f5b09B616E1a2F6A381E54c6fc3d`
* mWETH: `0x3f548086F2E7b4f9Dc92da1cED531Bb0e8a27d93`

Note: The contract is not upgradeable. Reward tokens are permanently committed once added — there is no `recoverUnusedRewards` function. `recoverERC20` reverts on the staking token and on any reward token, so user funds cannot be drained by the owner. The `rewardsDuration` argument passed to `addReward` is **also permanent** — this port does not include a `setRewardsDuration` function, so the duration cannot be changed for the life of the contract.

## MultiRewards Staking — Base mainnet (pending)

Production deployment is staged but not yet live. Deploys via `scripts/deploy-mainnet.js` against the existing immutable BV7X token at `0xD88FD4a11255E51f64f78b4a7d74456325c2d8dC`. Owner = deployer EOA in v1 (no Safe). See [`mainnet-checklist.md`](https://github.com/Mischa0x/bv7x-app/blob/main/docs/onchain/mainnet-checklist.md) for the full deploy + operations runbook.

***

## ERC-8004 Identity

| Contract               | Address                                      | Chain |
| ---------------------- | -------------------------------------------- | ----- |
| **IdentityRegistry**   | `0x8004A169FB4a3325136EB29fA0ceB6D2e539a432` | Base  |
| **ReputationRegistry** | `0x8004BAa17C55a88189AE136b182e5fdA19dE9b63` | Base  |

BV-7X is registered as **Agent #28841**. The IdentityRegistry stores agent metadata; the ReputationRegistry records prediction outcomes (win/loss feedback).

See [ERC-8004 Identity](/agentic-commerce/erc-8004.md) for details.

***

## Polymarket (Polygon)

| Property         | Value                                        |
| ---------------- | -------------------------------------------- |
| **Proxy Wallet** | `0x292675967eE383caDb127FaB68ea94A5Dd813DD4` |
| **Chain**        | Polygon                                      |
| **Type**         | Gnosis Safe proxy                            |

The agent places daily wagers on Polymarket BTC price markets through this proxy wallet. Positions and settlement are tracked automatically.

***

## Verifying Contracts

All contracts can be verified on their respective block explorers:

* Base: [basescan.org](https://basescan.org)
* Base Sepolia: [sepolia.basescan.org](https://sepolia.basescan.org)
* Polygon: [polygonscan.com](https://polygonscan.com)

***

## Next

* [EAS Attestations](/on-chain/attestations.md) -- how prediction attestations work
* [ERC-8004 Identity](/agentic-commerce/erc-8004.md) -- agent identity and reputation
