// the find
decentraland/marketplace
🏛️ Decentraland's NFT Marketplace
Decentraland's NFT marketplace for LAND parcels, estates, wearables and emotes, split into a React static site under webapp/ and a The Graph subgraph under indexer/ that indexes the on-chain marketplace, bid, NFT, parcel, estate and ENS contracts. It is most useful to people working on Decentraland or studying a production NFT marketplace, not as a general-purpose starting point.
- The indexer is a The Graph subgraph with one handler file per contract (bid, estate, marketplace, nft, parcel, ens) and the ABIs vendored under indexer/abis, so the chain-to-schema mapping is easy to read and diff.
- CI covers more than the usual test and lint pair: separate workflows for CodeQL, dependency audit, CDN deploy and a manual rollout, with coverage published to Coveralls.
- The contracts the indexer depends on (marketplace, bids, LAND, estate, MANA, DCLRegistrar) are checked in next to the code, so the event surface is visible without reading deployment config.
- The top-level README covers the contribution process but not how to run either half. Setup is pushed down into the per-folder READMEs, so a newcomer has to hunt for it.
- Contribution standards live in Notion pages linked from the README. They sit outside the repo and can change without a commit, and the testing and coding rules are hard to review in a PR.
- Wearable data is hand-maintained: about 45 TypeScript files under indexer/src/data/wearables, mostly one per collection, plus a hardcoded address table in .addresses.ts. Every new collection is another manual edit.