Discover, buy and collect rare digital artwork
- GAS efficient - every byte counts, store only what is required
creator
,edition size
&metadata
but ensuring onchain provence - ERC-721 compliant NFTs
- Ability to mint single 1 of 1 NFTs
- Ability to mint batches of NFT (multi-editions)
- Collaboration support for
1..n
collaborators with royalties - predetermined addresses - Generalise feature set to work with all KO artists and collectors in a modula fashion
- Immutable by design with onchain purchase and bidding histories
- Creative works deserve traceable onchain histories, think of the future!
- Replace whitelisting with merkle proofs for minting access to reduce operational overheads
- Support for ERC-2981: Royalty Standard
- Support for ERC-998 Top-down ERC-20 composable (optional)
- Single composable
ERC721
- Multiple composable
ERC20
- Single composable
- Support for ERC-2309: Consecutive batch mint (optional)
- Support for Rarible V2 royalties standard (optional)
- Support for a proxy management account for creatives (optional)
- Support programmable/dynamic token URIs in the future (future iteration)
- Support metadata updates before the first sale has been made (optional)
- Sealed Metadata: Support to set a one time
perma-web
backup of token metadata - Sales mechanics (see
./marketplace
)primary
marketBuy now
- includes start dateOpen Offers
- includes bidder lockout period and start dateStepped sales
- linear price increases per purchase from an edition24hr reserve auctions
- includes start date, reserve price with 24hr countdown + 15min extension windowEarly access sales
- gated sales behind lists of collectors, customisable drop phases
secondary
marketBuy now
- includes start dateOpen Token Offers
- offers made on a specific tokenOpen Edition Offers
- open offer on an edition, any edition owner can action24hr reserve auctions
- includes start date, reserve price with 24hr countdown + 15min extension window
GAS
report can be found here and generated on demand vianpm run gas
- Contract size report found here or generated on demand via
npm run contract-size
- Code coverage generation via
npm run coverage
output in./coverage
folder
- Public audits can be seen in
audits
- Core NFT and marketplaces - CoinFabrik audit can be seen here
- Early access / gated sales - CoinFabrik audit can be seen Awaiting published results
- KO uses a mixture of public Subgraph and a currently private indexer to create a view on-top of these contracts
Core NFT - 0xABB3738f04Dc2Ec20f4AE4462c3d069d02AE045B = (verified)
AccessControls - 0x9028b16494a9363F3EAaf381a6Fde67296abc68C = (verified)
Minting Factory - 0x36CF31019816E9490959F75Ba9164eDd304De01D = (verified)
Primary marketplace - 0xf11ED77fD65840b64602526DDC38311E9923c81B = (verified)
Secondary marketplace - 0x0Eb65B4c3d3dE340e1b15384f8F211784247a37A = (verified)
Collab royalties registry - 0xe28e054d596576841682e8c993E415B3ccB2EBeB = (verified)
Omni deployer - 0x0FE06547a21AdfbA812E7d986de4369b2cB3dde2 =
V1 funds splitter - 0xbc20c6582259f440ae628819be80062a576f06ed = (verified)
V1 funds receiver - 0x643ea212F5B9E5BE9f3A000430DCc80E01C78C2C = (verified)
KODAV3GatedMarketplace Proxy - 0x8fC72C856EB661F072F0f7322449f3fcCF088f42 (verified)
- v1 - git commit 3bcd94f66e5d0f6b38881fd52971c13dd08b6974 (verified)
MintingFactoryV2 Proxy - 0xcEcF098DC0F513C68a0003b540CBDAE130dD0014 (verified)
- v1 - git commit 3bcd94f66e5d0f6b38881fd52971c13dd08b6974 (verified)
- v2 - git commit 30eb2a3874ac64bc9c7e38e645f42691c7d11f13 (verified) (update = https://etherscan.io/tx/0x028943a591370069addcca490a4c1df3977f0dbed8d9a61a3460ad37c9d49e57)
Core NFT - 0x05f5eC654fD95646609964C6c8a0e5b3156CDa08 = (verified)
AccessControls - 0x891afBaE7613103d6408817FF73d1DF97b575fd2 = (verified)
Primary marketplace - 0x6234802e9f3A550A61ee3a736fA452B19A577645 = (verified)
Secondary marketplace - 0x61151462B02C237E9D2a7Ca849Af6633683b9CEd = (verified)
Collab royalties registry - 0xed7f97eDDD34b33bB49b420Af939cD4375cA0fB0 = (verified)
Omni deployer - 0x9c094e9619d4B6bDe719C4FaE279A4F8c683c3F8 = (verified)
V1 funds splitter - 0xEeB2Bc6f52dedA185181Fc2c310222837440Cacd = (verified)
V1 funds receiver - 0x0226DaE23Bc0A8b3e71E09aC4036eC26450a006F = (verified)
KODAV3GatedMarketplace Proxy - 0x04994ebf4bfc6366c1624366d8f25e2d382fe3d0 (verified)
- v1 - git commit 5c8b8e05b96b2439b65abea52a0d30112dc97ed9
MintingFactoryV2 Proxy - 0x65c7593dE25f2d56bD6088Fc1865E3b2fC85167c (verified)
- v2 - git commit 30eb2a3874ac64bc9c7e38e645f42691c7d11f13
Core NFT - 0x3abC8C65A9516D5B487A9F7423aE2C4c6a3Adf51 = (verified)
AccessControls - 0x64699bC10a4E4639eD319397200CF16fa0aD1Fc9 = (verified)
Minting Factory - 0x35668a2Fd45452231a2639edcb887cD45951e597 = (verified)
Primary marketplace - 0x4B7A8Ce7d004C5c68207F355F6A838C941FF6B96 = (verified)
Secondary marketplace - 0x1f31f522b51cd5cB847c7228fE3bF9916800aaDe = (verified)
Collab royalties registry - 0x3005BB70CF6099e919Fb2E846abC8Fa1C710f613 = (verified)
Omni deployer - 0x90764bB20aC05A53eBE03dF17fc61abAbC1Ee059 = (verified)
V1 funds splitter - 0x119f6fb742b9ace412f177875a169b23487fa664 = (verified)
V1 funds receiver - 0xb4bb0960b5095e5a0abd07d18803f45c4c4eadf6 = (verified)
KODAV3GatedMarketplace Proxy - 0x048b36a7cc30127cE2C2C8E1C6AF9c3d0D8787eC (verified)
- v1 - git commit 5c8b8e05b96b2439b65abea52a0d30112dc97ed9 (verified)
MintingFactoryV2 Proxy - 0x2346b3949F8742f4e2a8B6F26D72ef358683820d (verified)
- v1 - git commit 5c8b8e05b96b2439b65abea52a0d30112dc97ed9 (verified)
- v2 - git commit 30eb2a3874ac64bc9c7e38e645f42691c7d11f13 (verified) (upgrade = https://rinkeby.etherscan.io/tx/0xc9786af3e38d65317ba01504a70ec60a3ac93019cc6658a8944a8f3416fe80cd)
Use hardhat
deploy for - see /scripts
folder for more info e.g.
npx hardhat run --network rinkeby ./scripts/X_my_script.js
To verify also try hardhat but this sometimes fails, and you need to use the flat contracts.