◈ FUNDACIÓN CREEIMEDIA · CIBERGALERÍA DIGITAL · WEB3 ART MARKET

CREEART
Arquitectura · Base de Datos · Contratos · UX

Documento técnico de la plataforma integral de compra, venta y subasta de arte digital con moneda CREE, comunidades temáticas y pasarelas de pago flexibles. Acompaña al prototipo funcional index.html.

01

Stack Tecnológico

FRONTEND

  • Next.js 15 / React 19 + TypeScript + Tailwind · SSR + ISR para catálogo
  • TanStack Query · cache y estado del servidor
  • Zustand · billetera, filtros, carrito
  • Socket.io-client · subastas en vivo
  • viem / ethers · integración Web3 + WalletConnect
  • framer-motion · transiciones neon

BACKEND

  • NestJS (Node) o Next.js Routes · REST + tRPC
  • Prisma ORM · acceso a datos tipado
  • Redis · estado de subastas, cola de ofertas, caché
  • BullMQ + Temporal WS · cierre y adjudicación automática
  • Auth: NextAuth + SIWE · email/firma de wallet
  • Indexer propio / SimpleHash · lectura de contratos

DATOS + ARCHIVOS

  • PostgreSQL 16 · relacional, índices GIN para tags
  • Redis · sesiones, timers y rankings
  • IPFS (Pinata/Bot) + S3 · archivo original cifrado y metadato
  • CloudFront / CDN · entregas rápidas 4K/8K
  • Encargo "time-locked" · llave del archivo al pagador

CONTRATOS INTELIGENTES

  • CREE (ERC-20) · token nativo de la economía
  • CyCat (ERC-721) · pieza única 1/1
  • CyCat (ERC-1155) · colecciones multi-pieza
  • AuctionHouse · pujas, extensión anti-sniping
  • Marketplace · venta directa fija, regalías ERC-2981
  • Red: Polygon / Base · fees ínfimos

PAGOS FLEXIBLES

  • Stripe · tarjetas, Link, Apple/Google Pay
  • PayPal · fiduciario con protección
  • Mercado Pago · tarjetas, PSE, saldo LATAM
  • WalletConnect · MetaMask, Coinbase, TON
  • On/Off-ramp CREE · compraventa del token

INFRA / OPS

  • Docker + Vercel / Railway · deploy continuo
  • GitHub Actions + Playwright · CI y e2e
  • Grafana + Sentry · métricas y errores
  • Cloudflare · DNS, WAF, anti-bot
02

Arquitectura del Sistema

Navegador — SPA Next.js
Catálogo + Filtros facetados Subasta en vivo (WS) Billetera CREE Estudio artista Comunidades
Red de entrega / BFF
Next.js Edge/Node BFFREST / tRPC API
Servicios backend
Auth · NextAuth + SIWE Catalog Service Auction Engine (Redis + Socket.io) Payment Gateway Adapter Wallet / Token Service Indexer on-chain
PostgreSQL Redis S3 + IPFS Webhooks Stripe/PP/MP
Cadena — contratos (Polygon / Base)
CREE (ERC-20) CyCat 721 · 1/1 CyCat 1155 · Colecciones AuctionHouse Marketplace + ERC-2981
Flujo de una subasta: la puja entra por Socket.io → se valida contra saldo CREE/escrow en Redis → se firma/estado en el contrato AuctionHouse → el worker BullMQ adjudica al vencimiento → Tx a PostgreSQL y notificación WS push. Las compras fijas usan el adaptador de pagos (0% con CREE, 2.5% fiat) y liberan el archivo digital cifrado en S3/IPFS vía firma temporizada.
03

Economía del token CREE

Suplly y mecánica
// ERC-20 sobre Polygon / Base (a 0,001 USD apróx. por transfer) token CREE { totalSupply: 100,000,000 } funciones: transfer · approve · swapPool emisor: Fundación CREEIMEDIA (mint locked, 8 años) onRamp: monto fiat → CREE (1 CREE = US$1,50)
Casos de uso
  • Compra directa de piezas 1/1 y colecciones.
  • Pujas en subasta con retención en billetera.
  • Recompensas por contenido en hubs (+25 CRE post, +500 obra destacada).
  • Reducción de comisiones: 0% CREE vs 2,5% fiat.
Reglas del marketplace
compraCREE → comisión 0.0% comprador · 3% artista compraFiat → comisión 2.5% comprador · 3% artista subasta → fee final 1% (pagado en CREE) regalías → ERC-2981: 10% al artista en cada reventa staking/perm → hold 10k CREE ⇒ -1% comisión
Las recompensas comunitarias se liquidan diarias desde un pool del 2% del supply. El escrow de pujas vive en el contrato AuctionHouse: nadie (ni la plataforma) mueve los fondos antes de la adjudicación.
04

Esquema de Base de Datos

users · billetera · comunidad
users id uuid PK email, wallet_addr, is_artist bool nick, avatar_url, bio created_at, last_seen
communities id uuid PK slug, name, emoji, palette[2] description, members_count
memberships (user_id, community_id) PK2 role: member|mod|admin · joined_at
obra NFT · tags · archivo
artworks id uuid PK artist_id → users community_id → communities title, description, sale_mode fixed|auction contract_type ERC721|ERC1155, token_id ipfs_uri, encrypted_file_key royalty_bps, status draft|live|sold|closed likes_cnt, views_cnt
artwork_tags (artwork_id, cat, tag) — GIN idx cat ∈ tema|tec|estilo · multi-facet
nft_meta size_mb, resolution(2K/4K/8K), dpi, format, package_type(1of1|collection), editions, edition_bought
subastas
auctions id uuid PK artwork_id, starts_at, ends_at min_bid, current_bid, winner_id estado live|extended|adjudicated|deserted
bids id uuid PK auction_id · bidder_id → users amount_cre, held bool, at timestamptz
transacciones · escrow · pagos
transactions id user_id, type buy|bid|reward|topup|transfer|royalty|fee amount_cre, usd_amount, status, at
wallet_ledger balance + movimientos (double-entry)
orders artwork_id, buyer_id, method (cree|stripe|paypal|mp|web3) provider_ref, escrow_id, status
foro comunitario
posts id · community_id author_id, body, likes_cnt
post_likes (user_id, post_id)
notifications user_id, kind(bid|sold|reward|mention), payload
tienda del artista
artist_shops user_id PK shop_name, handle, bio, cover_palette
payment_methods user_id stripe_acct, paypal_client, mp_access, web3_paylink — cifrados (KMS)
onboarding_progress paso 1..5, completado_at
05

Contratos Inteligentes

1 · CREE — ERC-20 (moneda)
pragma solidity ^0.8.24; contract CREE is ERC20, Ownable { mapping(address => uint) lockedBids; function mintedByFund(address to, uint amt); function onRamp(uint fiatUsd) external; function lockForBid(address u, uint amt); function release(address u, uint amt); // si pierde la puja }
2 · CyCat — ERC-721 (pieza 1/1)
contract CyCat721 is ERC721URIStorage, ERC2981, Ownable { uint256 nextTokenId; function mint(address callee, string uri, uint96 royaltyBps) external returns(uint); function setRoyalties(uint tokenId, ...); }
3 · CyCat — ERC-1155 (colección)
contract CyCat1155 is ERC1155, ERC2981 { mapping(uint => uint) public supply; // ediciones function mintBatch(address to, uint tokenId, uint copies, string uri) external; // 1 NFT = 1 única obra = N piezas digitales }
4 · AuctionHouse
contract AuctionHouse { struct Auction{ uint tokenId; uint minBid; uint endsAt; address highest; uint highestBid; } function createAuction(...) ; function bid(uint auctionId, uint amountCre) { // retiene CREE, +EXTENSION si <60s // adjudica y transfiere ERC-721 } function settle(address winner) external onlyWorker; }
06

Wireframe y flujo UX

A · Página de inicio
┌────────────────────────────────────────────────────────┐ ◈ CREEART Explorar Subastas Comunidades Estudio ◈ 25.000 CREE └────────────────────────────────────────────────────────┘ ┌────────────────────────┐ ┌──────────────────────────┐ El CiberGalería de │ │ │ CREEIMEDIA │ │ ██ GATO CIBERNÉTICO ██ │ H1 + CTA (explorar / │ │ ██ (logo neon animado) ██ │ publicar / comunidades) │ │ │ stats: 18 obras · 5 subs │ │ │ └────────────────────────┘ └──────────────────────────┘ SUBASTAS EN VIVO ▸ [⏱ 23:59] [⏱ 02:00] [⏱ 46h] [⏱ 09h] COMUNIDADES ▸ [🌱 MA] [♻️ REC] [🐾 AN] [🏙️ UB] [🌾 RU] ÚLTIMAS OBRAS ▸ [card] [card] [card] [card]
Hero con gato cibernético, métricas de la plataforma y navegación única. Las tarjetas abren la ficha; los hubs abren la comunidad.
B · Catálogo con filtros laterales (facetas)
┌──────────┬──────────────────────────────────────────┐ FILTROS │ 🔎 [serigrafía 4k__________] ▾ Más reciente │ │ │ ▾ Temática │ ┌────────────────┬────────────────┐ │ ♻️ ✓ │ │ [IMAGEN] │ [IMAGEN] │ │ 🌱 │ │ ⏱ SUBASTA │ ⚡ COMPRA INMED │ │ 🐾 ✓ │ │ Título │ Título │ │ 🏙️ │ │ 420 CRE · 1,2h │ 2.400 CRE │ │ 🌾 │ └────────────────┴────────────────┘ │ ▾ Técnica │ ┌────────────────┬────────────────┐ │ Óleo │ │ [IMAGEN] │ ... │ │ Foto │ ... │ ▾ Estilo │ (red resultado N obras · ♥ vistas) │ ▾ Res/Fmt │ ▦ vista grid / ≡ vista lista │ ▾ Peso ✓ │ │ └──────────┴──────────────────────────────────────────┘
Multi-tag: mismo grupo = OR, entre grupos = AND. Busca, filtra por metadatos NFT (4K, PNG, 1/1 vs colección, peso) y ordena por actualidad, precio, popularidad o subastas activas.
C · Ficha de producto
┌─────────────────────────┬─────────────────────────┐ [IMG GRANDE 8K · lienzo │ Título de la obra neon animado + escaneo │ artista · hub · hace 1 sem │ ♥ 605 vistas 9.812] │ [tags tema][tec][estilo] │ └─────────────────────────┴─────────────────────────┘ ┌─────────────────────────┬─────────────────────────┐ METADATOS NFT │ ⏱ 02:30:41 · SUBASTA EN VIVO 8K · 300dpi · TIFF │ puja actual 585 CRE 340 MB · ERC-721 1/1 │ min 400 · hist de ofertas │ con sello CREEIMEDIA ✔ │ [___puja___] [▲ PUJAR] │ (o: ⚡ COMPRA INMEDIATA) │ adjudicación automática │ └─────────────────────────┴─────────────────────────┘ ┌─────────────────────────┬─────────────────────────┐ 💳 Stripe 🅿 PayPal 𝕄 MePo │ Multi-hub · creadores │ ⛓ Web3 · ◈ CREE 0% │ recomendados │ └─────────────────────────┴─────────────────────────┘
Derecha = panel de compra: si es subasta muestra temporizador y puja; si es precio fijo, botón de compra inmediata. Los métodos de pago se eligen por pestañas; con CREE la comisión es 0%.
D · Flujo del artista (autoservicio)
1·Tienda2·Obra+NFT3·Modalidad ─ 4·Pagos ─ 5·Publicar ┌──────────────────────────────────────────────┐ [Precio fijo ●] Compra inmediata · 1 clic [Subasta ✕ ] temporizador real + puja mínima Montos en CREE · conversión fiat automática └──────────────────────────────────────────────┘ Flujo: on/off 🖥▲ Stripe · 🅿 PayPal · 𝕄 Mercado Pago · ⛓ Enlace Web3 generando snippet: <a href="/pay/artista">⚡ Pagar con CREEART</a> [🚀 PUBLICAR EN CREEART]
Wizard de 5 pasos con barra de progreso. El artista da de alta sus llaves de Stripe/PayPal/Mercado Pago o un link Web3 desde un panel, sin código.
07

Hoja de ruta

F1

Base del mercado (4–6 semanas)

Catálogo con filtros facetados, fichas, pago fijo con CREE y fiat (Stripe/Mercado Pago), auth email + wallet. Deploy con el prototipo como base.

F2

Subastas en vivo y escrow (6–8 semanas)

AuctionEngine con Redis + Socket.io, contrato AuctionHouse, retención y devolución de pujas, adjudicación automática con extensión anti-sniping.

F3

Token y economía (6 semanas)

Emisión de CREE, rampa on/off, recompensas comunitarias, descuentos por staking y regalías ERC-2981 on-chain.

F4

Comunidades + estudio (4 semanas)

Hubs temáticos con muro, piezas destacadas y creadores recomendados; wizard del artista con pasarelas externas y panel de ventas.

F5

Escalado y gobernanza (continua)

DAOs de comunidades, verificación anti-IA con el sello CREEIMEDIA, app móvil, mercado de colecciones y subastas por lotes.

08

Métricas de producto

< 100 ms
filtro + render catálogo
< 500 ms
confirmación de puja (WS)
99.9%
disponibilidad del motor de subastas
0.001 USD
costo transferencia CREE
Enlace

Este documento acompaña al prototipo funcional index.html de la carpeta creeart-marketplace/ — mismo lenguaje visual: neón oscuro gato cibernético.