CROSS Mini Hub
CROSS Mini Hub enables players to easily exchange game items, coins, and CROSS. Integration is simple: generate a URL and open it in a popup.
Available Features
| Feature | Method | Purpose |
|---|---|---|
| CROSS Mini Hub | getCrossRampShopUrl() | Open CROSS Mini Hub for item and token exchange |
⚠️
This method is SDK built-in — call it directly on the server object. No server-side implementation required.
Quick Start
// Open CROSS Mini Hub in a popup
const url = await server.getCrossRampShopUrl("en");
window.open(url, "CrossRampShop", "width=1024,height=768");Supported Languages
"en"- English"ko"- Korean"zh"- Chinese (Simplified)"zh-Hant"- Chinese (Traditional)"ja"- Japanese
Full Example
import React, { useState } from "react";
import { useGameServer } from "@agent8/gameserver";
export default function CrossRampShop() {
const { connected, server } = useGameServer();
const [loading, setLoading] = useState(false);
const openShop = async () => {
if (!connected || !server) return;
setLoading(true);
try {
const url = await server.getCrossRampShopUrl("en");
const popup = window.open(
url,
"CrossRampShop",
"width=1024,height=768,scrollbars=yes,resizable=yes"
);
// Optional: detect popup close to refresh assets
const checkClosed = setInterval(() => {
if (popup?.closed) {
clearInterval(checkClosed);
// Refresh player assets here if needed
}
}, 1000);
} catch (error) {
console.error("Failed to open CROSS Mini Hub:", error);
} finally {
setLoading(false);
}
};
if (!connected) return <div>Connecting...</div>;
return (
<div>
<button onClick={openShop} disabled={loading}>
Shop
</button>
</div>
);
}CROSS Mini Hub handles all blockchain complexity. Asset synchronization happens automatically.
Last updated on