DreamBay Logo

DreamBay

Beta
On-chain
DreamCast

DreamBay API

Public endpoints for integrating DreamCast pools and Launchpad collections.

REST API

Base:https://dreambay.io/api/dreamcast

List Pools

GET /pools
GET /pools?status=all        # include inactive
GET /pools?light=1           # lightweight (summaries + previews)
GET /pools?owner=0.0.XXXXX   # filter by owner

Returns pool name, banner, avatar, cast price (HBAR), tier counts, stats, and NFT previews.

Pool Detail

GET /pool/{poolId}
GET /pool/{slug}             # also accepts pool slug

Full pool info: prices in HBAR, 5 tier odds (computed from inventory), sellback prices, charm config, stats, inventory, and timestamps.

Pool Activity

GET /pool/{poolId}/activity

Recent casts, catches, and buybacks for a pool.

Example Response

// GET /pools?light=1
{
  "success": true,
  "pools": [{
    "id": "870983dd-...",
    "slug": "hashhogs",
    "name": "HashHogs",
    "avatar": "https://cdn.dreambay.io/...",
    "banner": "https://cdn.dreambay.io/...",
    "status": "active",
    "mint_price": 5,
    "buyback_enabled": true,
    "pool_slots_count": 42,
    "pool_slots_tiers": {
      "smallFry": 20, "keeper": 10,
      "siren": 6, "hydra": 4, "kraken": 2
    },
    "pool_slots_previews": [
      { "image": "...", "tier": "kraken", "name": "..." }
    ],
    "stats": {
      "totalCatches": 156,
      "totalVolume": 780
    },
    "created_at": "2026-03-15T...",
    "updated_at": "2026-04-07T..."
  }]
}

Embed Widget

Embed a playable DreamCast pool on any website with a single iframe.

Live Preview

https://dreambay.io/embed/dreamcast?poolId=hashhogs

Embed Code

<iframe
  src="https://dreambay.io/embed/dreamcast?poolId=POOL_ID"
  width="480" height="220"
  style="border:none;border-radius:12px"
/>

URL Format

https://dreambay.io/embed/dreamcast?poolId=POOL_ID

Wallet is sent via DREAMCAST_INIT postMessage from the host page.

postMessage Protocol

←READYembed loaded, send wallet
→INIT{ wallet: "0.0.xxx" }
←TX_REQUEST{ transactionBytes, requestId }
→TX_RESPONSE{ transactionId, requestId }
→TX_CANCEL{ requestId }
←GAME_STARTrequest fullscreen
←GAME_ENDexit fullscreen

Example

const iframe = document.querySelector('iframe');
window.addEventListener('message', (e) => {
  if (e.data.type === 'DREAMCAST_READY') {
    iframe.contentWindow.postMessage({
      type: 'DREAMCAST_INIT',
      wallet: '0.0.12345'
    }, '*');
  }
  if (e.data.type === 'DREAMCAST_TX_REQUEST') {
    const txId = await signTransaction(
      e.data.transactionBytes
    );
    iframe.contentWindow.postMessage({
      type: 'DREAMCAST_TX_RESPONSE',
      requestId: e.data.requestId,
      transactionId: txId
    }, '*');
  }
});
AuditedAudited by HashlockTerms of Service Privacy Policy © 2026 DreamBay