ASCENDASCENDASCEND · ROBINHOOD CHAIN
Home / Docs
Technical Whitepaper v5.0 · Season 1

Whitepaper.

The 2–8 agent Battle Royale objective, temporary battle asset, saved execution rules, settlement math, lifecycle controls, and custody boundaries behind ASCEND.

Overview

ASCEND Season 1 is a sponsored on-chain 2–8 agent Battle Royale on Robinhood Chain. Owner-enabled AgentTokens rotate into each round, the restricted shared runner gives every entrant the same fixed 0.001 ETH battle bankroll, and their frozen preset or ownership-signed custom rules trade temporary BTL units against one shared constant-product BattlePool. The contract snapshots return-on-bankroll scores at close; the oracle drives timing but cannot author or change those scores.

Battle Objective

The winner is the agent that finishes the round with the highest ETH-equivalent bankroll relative to the identical starting bankroll. An agent's terminal bankroll is its unspent ETH plus the closeout share represented by any temporary BTL units it still holds.

ComponentMeaningIs it traded in battle?
AgentTokenPermanent ERC-20 identity deployed by the creator; stores creator ownership and strategy selection.No
Battle bankrollFixed 0.001 ETH position funded by the shared runner for every Season 1 entrant.Used to buy BTL
BTL unitsTemporary internal accounting units for one BattlePool round; non-transferable outside the pool.Yes
RewardPool creditA separate funded protocol reward credited after canonical settlement.No

This is an endogenous strategy market, not a prediction of ETH's external price. Every agent trade changes the BTL/ETH execution price faced by its opponent.

Battle Lifecycle

Every Battle Royale round moves through four phases. Enrollment and trade timing are enforced by BattlePool timestamps, not browser timers. An owner's pause applies only to later matchmaking and never mutates an active on-chain position.

PhaseDurationWhat happens
LobbyRPC timeThe oracle resumes the latest BattlePool state or opens the next sequential round with neutral ETH liquidity.
MM-Only30 secondsThe shared runner enrolls two rotated agents with the same 0.001 ETH bankroll. Trading is blocked.
Live3 minutesPresets buy and sell temporary BTL units against one constant-product pool. Every swap changes the shared price.
EndedSettlementBattlePool closes, calculates ROI scores, and returns canonical arrays that Settlement must consume unchanged.

Production state: Factory V2, BattlePool, Settlement, Treasury, RewardPool, and Staking are configured on Robinhood Chain mainnet. The local oracle and runner must remain online for automated rounds to continue.

Settlement Math

BattlePool freezes scoreBps = terminalBankroll × 10,000 / startingBankroll when the round closes. Because the two starting bankrolls are identical, the highest score is also the largest terminal ETH value.

AgentStartTerminal bankrollScoreResult
Agent A0.001 ETH0.00108 ETH10,800 bpsWinner · +8%
Agent B0.001 ETH0.00092 ETH9,200 bpsRunner-up · −8%

Trading PnL returns to the wallet that funded the position—currently the sponsored shared runner. Separately, Settlement consumes the immutable score array, routes prepaid entry fees, and may credit a funded RewardPool payout to the AgentToken for creator claim. RewardPool currently withholds 1% from credited payouts. AgentToken launch capital, battle bankroll, entry fee, gas, and creator reward are never presented as the same balance.

Agent Types

TypeSetup TimeDescription
Aggressive presetSeason 1Enter at 30% of LIVE, commit 80% of bankroll, exit at 65%.
Balanced presetSeason 1Enter at 45% of LIVE, commit 50% of bankroll, exit at 82%.
Defensive presetSeason 1Enter at 55% of LIVE, commit 25% of bankroll, hold BTL through close.
Custom BuilderSeason 1Creator saves up to 12 bounded entry, bankroll exposure, and exit/hold profiles. The active signed configuration is validated and frozen per enrollment; Factory V2 retains a preset fallback.
Custom Self HostedAdvancedCreators may run agent.js with arbitrary custom logic from their own wallet instead of relying on the restricted shared runner.

Contract Architecture

AgentFactory
deploys AgentTokenpermanent ERC-20 contender identity; never the temporary battle asset
registers AgentArenalegacy agent registry and Valhalla eligibility source
authorizes Shared Preset Runnerrestricted battle operator; no creator-fund withdrawal permission
trades AscendBattlePooltemporary BTL accounting, shared 2–8 agent swaps, terminal-bankroll scoring, position claims
settles AscendSettlementcanonical-result verification, fees, staking, reward credits
wires AgentCounciltournaments, governance, prize pool distribution
archives Settlementcanonical battle stats, economy distribution, and permanent events

Tech stack

LayerTechChain / Host
Smart ContractsSolidity 0.8.24 + executable EVM testsRobinhood Chain (4663)
FrontendStatic HTML + CanvasVercel
WalletMetaMask / RabbyRHC auto-switch
Battle EngineSolidity + deterministic ethers.js runnerRobinhood Chain / Platform Node
TreasurySolidityRHC mainnet · live
Reward PoolSolidityRHC mainnet · live
StakingSolidityRHC mainnet · live

Production addresses are published through ascend-config.js only after immutable wiring verification. Private service keys remain local and are never shipped to the browser.

Status & Target

30 secDefault MM window
3 minDefault LIVE window
4663Chain ID

Factory V2 and the five-contract BattlePool economy are live on Robinhood Chain mainnet. Season 1 uses a fixed 0.001 ETH bankroll, a capacity of eight entrants with a minimum field of two, and a local oracle plus shared runner. The runner preflights the bankroll, admission fees, and gas reserve for every missing entrant before enrollment. If that computer or its internet connection stops, contract funds remain on-chain but new automation pauses until the services resume.

Launch Trading Agent Watch Live Battles →