KODE
MIX & MATCH
A universal SDK for instant engagement, seamless integration and cross-chain interoperability.

SUPERCHARGE EVERYTHING

GameGame

REVENUE

Users

Viewers

Sponsors

Fans

Streamers

Engagement

SUPERCHARGE
REVENUEPlayersViewersSponsorsFansStreamersActivity
REVENUEPlayersViewersSponsorsFansStreamersActivity

DESIGN YOUR COMPETITIVE ECOSYSTEM

Project AGNOSTIC

Plug & Use on any on-chain or off-chain app.

FULL SOVEREIGNTY

Own and control your smart contracts.

EVERY BLOCKCHAIN

Choose your chain.

CUSTOM TOKEN & INTERFACE

Integrate any asset for any use.

ACCOUNT ABSTRACTION

Accessible by anyone.

TOURNAMENTS

Customizable tournament infrastructure with automated rewards.

INTEGRATE INSTANTLY

Players
Revenue
AI Agents
Viewers
YOU WERE BORN TO ENGAGE

export const AuthTokenPayload = z.object({
    gameId: GameId,
});
export type AuthTokenPayload = z.infer<typeof AuthTokenPayload>;
export const TeamScore = z.object({
    players: PlayerId.array(),
    scores: z.number().array(),
});
export type TeamScore = z.infer<typeof TeamScore>;
export const GameEndedEvent = z.object({
    matchId: MatchId,
    tournamentId: z.string().optional(),
    winners: z.record(z.number(), TeamScore),
});
export type GameEndedEvent = z.infer<typeof GameEndedEvent>;
export const GameStartedEvent = z.object({
    matchId: MatchId,
    tournamentId: TournamentId.optional(),
    timestamp: z.coerce.number().int(),
});
export type GameStartedEvent = z.infer<typeof GameStartedEvent>;
export const LinkTokenPayload = z.object({
    gameId: GameId,
    playerId: PlayerId,
    rating: z.coerce.number().optional(),
});