Studio3 Protocol
For Builders

Build on the Protocol

The protocol is designed to be composable, extensible, and developer-friendly. Build custom arenas, integrate with existing systems, or create entirely new coordination mechanisms.

// Initialize an arena
const arena = createArena({
  name: "My Arena",
  oracle: objectiveOracle,
  vault: rewardVault,
  rules: arenaRules
});
Architecture

Modular Protocol Architecture

Built with modularity and composability at its core. Each component is designed to work independently while integrating seamlessly with others.

Modular Components

Each primitive operates independently and can be composed into complex coordination systems

Composable Design

Mix and match primitives to create custom coordination mechanisms

Layered Architecture

Protocol layer provides guarantees, arena layer enables customization

Event-Driven

State transitions emit events for integration and monitoring

Protocol Stack

Application Layer
Studio3 App / Custom Applications
Arena Layer
Arenas · Rules · Participants
Protocol Layer
Oracle · Vaults · Signals
Configuration

Arena Configuration Model

Each arena is configured with a set of parameters that define its behavior. The configuration model is designed to be flexible while maintaining protocol guarantees.

interface ArenaConfig {
  name: string;
  oracle: Address;
  vault: Address;
  rules: RuleSet;
  participants: Address[];
  timeout: number;
}

Configuration Options

name

Arena display name

string
oracle

Objective oracle contract

address
vault

Reward vault contract

address
rules

Arena-specific rules

RuleSet
participants

Allowed participants

address[]
timeout

Resolution timeout

uint256
Interfaces

Objective & Vault Interfaces

Clean, well-documented interfaces for interacting with protocol primitives. Build integrations with confidence.

Objective Interface

createObjective()
resolveObjective()
getStatus()
getResolutionLogic()

Vault Interface

deposit()
release()
getBalance()
getParticipants()

Signal Interface

anchor()
send()
getEchoes()
getHistory()
Integration

Oracle Integration Concept

The Objective Oracle can be extended with custom resolution logic. Integrate external data sources, on-chain events, or human verification.

Documentation

Complete technical guides and API reference

Read Docs

GitHub

Source code, examples, and contributions

View Code

Whitepaper

Protocol specification and design rationale

Read Paper

Studio3 App

Reference implementation of the protocol

Enter App

Ready to build?

Start with the documentation to understand the protocol, then explore the GitHub repository for code examples and reference implementations.

Start building today

Deploy your first arena or integrate with existing protocol infrastructure.