Add Trade Window to your Roblox project in one command. Requires Node 18+ and a Roblox project — run robloxui init first if you don't have one yet. See the docs.
bashnpx robloxui add trade-windowFirst time? Start with the documentation.
import { Trade Window } from "./src/client/ui/components/trade-window";local TradeService = require(script.Parent.TradeService)
TradeService:Open("partner-id")
TradeService:AddItem("ours", { id = "sword", count = 1 })
TradeService:Confirm("ours")Two-phase secure trade. TradeService is a state machine (idle→open→completed) that holds both offers, tracks mutual confirmation, and resets confirmations on any item change. OfferSlot renders draggable item cells; TradeWindow shows both offers + a confirm button that locks when both sides agree.
by RobloxUI Team
| Author | RobloxUI Team |
| Framework | Roblox-TS + React-Luau |
| Category | Social |
| Dependencies | @rbxts/react |
| Theme Tokens | colors.primary, colors.primaryLight, colors.primaryDark, colors.secondary, colors.secondaryLight, colors.secondaryDark, colors.accent, colors.accentLight, colors.accentDark, colors.bg, colors.bgSecondary, colors.bgTertiary, colors.surface, colors.border, colors.borderLight, colors.glow, colors.text, colors.textPrimary, colors.textSecondary, colors.textMuted, colors.success, colors.successLight, colors.error, colors.errorLight, colors.warning, colors.info, colors.gold, colors.goldLight, gradients.primary, gradients.gold, gradients.health, gradients.mana, gradients.purple, gradients.card, gradients.surface, gradients.surfaceLight, spacing.3xs, spacing.2xs, spacing.xs, spacing.sm, spacing.md, spacing.lg, spacing.xl, radius.sm, radius.md, radius.lg, radius.xl |
| Last Updated | July 31, 2026 |