FracturedMibera — Soulbound Companion Collections
10 non-transferable ERC-721 collections tied to main Mibera token IDs.
[view source]Overview
FracturedMibera is a set of 10 soulbound (non-transferable) NFT collections on Berachain. Each collection is an independent ERC-721 contract where token IDs mirror the main Mibera collection — if you own Mibera #42, you can mint FracturedMibera #42 in each of the 10 collections.
Tokens cannot be transferred, approved, or burned after minting. They are permanently bound to the minting wallet.
[view source]Contracts
| # | Address | Chain |
|---|---|---|
| 1 | 0x6956dae88C00372B1A0b2dfBfE5Eed19F85b0D4B |
Berachain |
| 2 | 0x8D4972bd5D2df474e71da6676a365fB549853991 |
Berachain |
| 3 | 0x77ec6B83495974a5B2C5BEf943b0f2e5aCd8Fc26 |
Berachain |
| 4 | 0xc557Bf6C7d21BA98A40dDfE2BEAbA682C49D17A9 |
Berachain |
| 5 | 0xbcb082bB41E892f29d9c600eaadEA698d5f712Ef |
Berachain |
| 6 | 0x2030f226Bf9a0c88687e83AcCdcEfb7Dae260094 |
Berachain |
| 7 | 0xcc426F9375c5edcef5CA6bDb0449c07113348cF7 |
Berachain |
| 8 | 0xF68f40230E39067Ee7c98Fe9A8641fC124c5BE60 |
Berachain |
| 9 | 0xFc79B1BcCa172FF5a8F74205C82F5CBB0125Dd10 |
Berachain |
| 10 | 0xa3d3EF45712631A6Fb50c677762b8653f932cf71 |
Berachain |
All contracts reference the main Mibera collection at 0x6666397DFe9a8c469BF65dc744CB1C733416c420.
[view source]Mechanics
Soulbound Enforcement
The _update function is overridden to only allow minting (transfers from address(0)). Any transfer between addresses or burning reverts with SoulboundTokensCannotBeTransferred(). The approve and setApprovalForAll functions also revert.
Minting
function mint(uint256[] calldata tokenIds) external payable
- Caller must own the corresponding Mibera token ID for each requested mint
- Batch minting supported — pass multiple token IDs in one transaction
- Payment:
mintPrice * tokenIds.lengthin native BERA - Ownership verified via
_mibera.ownerOf(tokenIds[i]) != msg.sender
Configuration
mintPrice— configurable by owner__baseURI— metadata base URI, configurable by ownerwithdraw()— owner can withdraw collected mint fees
[view source]Deployment
All 10 collections were deployed from a single script (DeployFractured.s.sol) that reads configuration from fracturedData.json:
- Collection names and symbols
- Shared mint price
- Reference to main Mibera contract address
[view source]Relationship to Main Collection
- Token IDs are 1:1 with main Mibera collection (token #42 mints FracturedMibera #42)
- Ownership of the main Mibera NFT is required at mint time
- After minting, the Fractured token is independent (selling the main Mibera does not affect the Fractured token, but it cannot be transferred anyway)
[view source]Source
- Contract:
mibera/src/FracturedMibera.solin mibera-contracts - Deploy script:
mibera/script/DeployFractured.s.sol - Standard: ERC-721 (soulbound — transfer restricted)
- Chain: Berachain (80094)
