Skip to content

[aptos] NFT marketplace + cross-venue aggregator: implementation plan - #567

Open
ewitulsk wants to merge 62 commits into
stagingfrom
claude/aptos-nft-marketplace-plan-2hvxx9
Open

[aptos] NFT marketplace + cross-venue aggregator: implementation plan#567
ewitulsk wants to merge 62 commits into
stagingfrom
claude/aptos-nft-marketplace-plan-2hvxx9

Conversation

@ewitulsk

@ewitulsk ewitulsk commented Sep 3, 2026

Copy link
Copy Markdown
Owner

Docs and placeholder directories only — no code, no CI changes, no deploy changes.

What this adds

  • docs/aptos-nft-marketplace/00-plan.md — a single implementation plan for an Aptos NFT marketplace that also buys from every other marketplace on the chain.
  • docs/aptos-nft-marketplace/appendix-addresses.md — every marketplace contract address on Aptos mainnet with its upgrade policy, including dead venues, sourced from Tradeport's own package dependency graph.
  • aptos/README.md, aptos/contracts/README.md, aptos/go-backend/README.md — placeholders describing the packages and services the plan defines.

Why

Tradeport's frontend shut down. Its contract did not: it had 50 transactions in the last 1.3 days when this was written (27 new listings, 12 sellers manually unlisting escrowed NFTs, 5 router buys), and nearly every fill on Aptos — whether the listing sits on Tradeport, Wapal, or a 2023 Topaz escrow — flows through Tradeport's router contract. There is an opening for a marketplace that indexes those listings and gives people a working buy button.

Findings behind the plan

Everything on-chain was read directly from mainnet on 2026-09-02 (module ABIs via the fullnode REST API, 0x1::code::PackageRegistry for upgrade policies, the hosted indexer for activity). Claims that could not be verified are marked as such in the doc.

  • Every live venue's buy path is public entry, so one router module of ours can fill listings on any of them in a single transaction. Tradeport proved the design with one-function adapter modules (wapal_listings, bluemove_v2_listings, topaz_v2_listings) wrapping the other venues' purchase functions.
  • Wapal, Rarible and Topaz v2 are all forks of aptos-core/aptos-move/move-examples/marketplace, so one adapter shape covers three venues and forking the same reference for our own venue gives us TokenV1 + Digital Asset support, offers and collection offers for free.
  • Bluemove and OKX have shown no user activity since July 2025; Souffl3, Seashrine, Ozozoz and Mercato are dead.
  • The hosted NFT Aggregator GraphQL endpoint returned 404 anonymously, so the plan runs our own Transaction Stream processor rather than depending on it.

Design decisions recorded

  • Quote tokens: sellers pick any admin-allowlisted Fungible Asset per listing (seeded APT, USDC, USDt). Native USDC and USDt have no Coin type at all, so the reference marketplace's Coin<CoinType> payment leg is replaced with FA; both carry dispatchable transfer hooks, which is why the list is allowlisted rather than open.
  • Fees: seller-side commission on our own fills, buyer-side add-on on routed buys, zero listing and bidding fees, per-token minimum, per-collection overrides, per-wallet discounts.
  • Deployment: its own DigitalOcean droplet (s-2vcpu-4gb, ~$29/month with Spaces), built and tested on mainnet from day one with fees at zero during shakeout — no staging environment.
  • Onboarding wedge: a wallet page that surfaces NFTs escrowed on other venues with one-click rescue or relist, since the ownership table records those as owned by the listing object rather than the seller.

Six phases with a concrete verification gate each, from the bytecode-dependency compile spike through a mainnet canary buy per venue to launch.

🤖 Generated with Claude Code

https://claude.ai/code/session_01VNaYtUjDXf3eaotzvrp4CN


Generated by Claude Code

… buy design

Adds docs/aptos-nft-marketplace/00-plan.md (venue survey read from mainnet
ABIs and package registries, activity snapshot, P0/P1/P2 feature set, and
the router/adapter design for buying listings on Tradeport, Wapal, Rarible,
Bluemove, OKX and Topaz contracts) plus an address appendix, and the
aptos/{contracts,go-backend} placeholders described in the plan.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VNaYtUjDXf3eaotzvrp4CN
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VNaYtUjDXf3eaotzvrp4CN
…d gates

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VNaYtUjDXf3eaotzvrp4CN
…owed-NFT union

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VNaYtUjDXf3eaotzvrp4CN
@vercel

vercel Bot commented Sep 3, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
aptos-nft-marketplace Ready Ready Preview Sep 4, 2026 3:05pm UTC
exchange-dashboard Ready Ready Preview Sep 4, 2026 3:05pm UTC
sui-options Ready Ready Preview Sep 4, 2026 3:05pm UTC

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants