Інтеграція з Reservoir (NFT-агрегатор)

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Інтеграція з Reservoir (NFT-агрегатор)
Середній
~2-3 дні
Часті запитання

Напрямки блокчейн-розробки

Етапи блокчейн-розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1285
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    902
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1120
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    588
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    855

Інтеграція з Reservoir (NFT-агрегатор)

Reservoir це не просто API для отримання NFT даних. Це протокол з власними order books, який агрегує ліквідність з OpenSea, Blur, X2Y2, LooksRare, Coinbase NFT та дозволяє розміщувати cross-marketplace листинги через єдиний інтерфейс. Якщо ви будуєте NFT-проект та не хочете інтегрувати 6 маркетплейсів окремо — Reservoir розв'язує задачу.

Що реально дає Reservoir

Два режими використання: read-only (дані про колекції, ціни, активність) та write (створення ордерів, виконання trades). Більшість проектів починають з read, але реальна цінність — у write інтеграції.

Read API покриває:

  • Floor prices, bid/ask depth по колекції
  • Ownership data (хто володіє кожним токеном)
  • Sales history, transfers, mints
  • Attribute-level статистика (rare trait prices)
  • Real-time подіїї через WebSocket

Write (через SDK):

  • Розміщення листингів одночасно на кількох маркетплейсах
  • Cross-marketplace fills (покупка токена де б він ні був виставлен)
  • Collection bids, attribute bids
  • Sweep (покупка кількох NFT в одній транзакції)

Швидкий старт з Reservoir SDK

import { createClient } from "@reservoir0x/reservoir-sdk";
import { createWalletClient, http } from "viem";
import { mainnet } from "viem/chains";

const client = createClient({
  chains: [{ id: 1, baseApiUrl: "https://api.reservoir.tools", active: true }],
  apiKey: process.env.RESERVOIR_API_KEY,
});

// Отримати floor price колекції
const { data } = await fetch(
  `https://api.reservoir.tools/collections/v7?id=${collectionAddress}`,
  { headers: { "x-api-key": process.env.RESERVOIR_API_KEY } }
).then(r => r.json());

const floorPrice = data.collections[0].floorAsk.price.amount.native;

// Виконати покупку через SDK (знаходить найкращий ринок автоматично)
await client.actions.buyToken({
  items: [{ token: `${contractAddress}:${tokenId}`, quantity: 1 }],
  wallet: walletClient,
  onProgress: (steps) => console.log(steps),
});

Налаштування API ключів та rate limits

Бесплатний tier дає 50 запитів/секунду — достатньо для більшості проектів на старте. Production навантаження потребують платного плану. Важливий нюанс: для write операцій (розміщення ордерів) потрібен API ключ з відповідними правами, та Reservoir повинен підтвердити аккаунт.

Self-hosted нода — Reservoir це open-source протокол, можна розгорнути власну ноду для повного контролю та неграничених запитів. Потребує синхронізації з on-chain даними через Ethereum node (Erigon рекомендується для продуктивності). Актуально для високонавантажених проектів.

WebSocket для real-time даних

import { WebSocket } from "ws";

const ws = new WebSocket("wss://ws.reservoir.tools?api_key=YOUR_KEY");

ws.on("open", () => {
  // Підписка на sales конкретної колекції
  ws.send(JSON.stringify({
    type: "subscribe",
    event: "sale.created",
    filters: { contract: collectionAddress }
  }));
});

ws.on("message", (data) => {
  const event = JSON.parse(data.toString());
  // sale.created, token.floor-ask.changed, collection.floor-ask.changed
  handleRealtimeEvent(event);
});

Типичні кейси інтеграції

NFT marketplace з агрегацією — показуємо листинги з усіх платформ, користувач купує через наш UI. Revenue model: protocol fee поверх Reservoir fee. Технічно: Reservoir SDK + власний смарт-контракт з fee hook.

Portfolio tracker — використовуємо Reservoir Ownership API для отримання NFTs користувача з актуальними цінами. Значно простіше, ніж прямі виклики до OpenSea/Blur API окремо.

Rarity + price correlation — комбінуємо Reservoir attribute stats з rarity даними (від Rarity.tools або власний розрахунок) для оцінки fair value конкретного токена.

Automated market making — боти, які виставляють collection bids за алгоритмічними стратегіями. Reservoir SDK спрощує управління ордерами.

Інтеграція з конкретними маркетплейсами

Reservoir підтримує різні marketplace-протоколи через orderbook параметр. При створенні листингу вказуємо, куди йде ордер:

await client.actions.listToken({
  listings: [{
    token: `${contract}:${tokenId}`,
    weiPrice: parseEther("0.5").toString(),
    orderbook: "reservoir", // або "opensea", "blur", "looks-rare"
    orderKind: "seaport-v1.5",
    expirationTime: Math.floor(Date.now() / 1000) + 86400 * 7,
  }],
  wallet: walletClient,
});

Blur потребує окремої аутентифікації через їх API — Reservoir абстрагує це, але токен авторизації все одно потрібно отримати один раз.

Мультичейн

Reservoir підтримує Ethereum, Polygon, Arbitrum, Optimism, Base, Zora та інші. Конфігуруємо кілька chain endpoints в SDK клієнті та переключаємось по chainId з wallet провайдера.