Skip to content

Product Constitution

Version: 1.0
Date: 2026-07-11
Status: Non-negotiable
Authority: This file + XEL LOCKED-MODEL (where character endowments apply)
Plane: XEL-152

Any design, PR, deploy, or ticket that violates these principles is out of scope until rewritten.


Open Yield provides intelligence and automation. It never takes custody. Contracts hold capital; agents instruct within owner policy; owners can always exit.


RankPrincipleOne-sentence ruleSeverity if broken
1No custody of user fundsTeam/protocol/server never hold or control principal. Users and agents interact with smart contracts (and venue protocols under policy).Critical — product-killing
2Users can always withdrawOwner can withdraw principal anytime without team approval (subject only to onchain rules: fan-credit liability, conditioned tranches).Critical
3No hidden admin powersNo secret keys that freeze, drain, or rewrite user positions. Upgrades only via explicit, transparent, owner-consent paths.Critical
4Transparent onchain feesPerformance/routing fees are calculable onchain, disclosed in API/UI (gross vs net). Never offchain skim of principal.High
5Fee only when users earnProtocol earns primarily as % of harvested yield (~5% default skim), not on deposits, tips, top-ups, or withdrawals.High
6Permissionless harvestAnyone may trigger harvest/heartbeat (with bounty rules). Positions must not depend on the team to “maintain” yield.High
7Agent-native, owner-sovereignOptimized for autonomous agents/characters, but owner root always overrides. Agents cannot withdraw principal or widen their own envelope.High
8Open execution layerCore contracts, adapters interfaces, and orchestrator logic are open/verifiable. “Open Yield” is not a closed black-box optimizer.High
9Discovery ≠ execution truthDefiLlama (and similar) may rank opportunities; venue adapter reads decide executable APY and amounts.High
10Honest numbers onlyNo invented APY, runway, or fees. Missing data → null / N/A / hide — never demo constants as live.High

XEL character overlay (when Open Yield powers a Living Character)

Section titled “XEL character overlay (when Open Yield powers a Living Character)”

These add to the above; they do not replace them:

RuleDetail
Stake OFF by defaultOwner opt-in Auto Yield; no auto-stake on mint
One automatic unstake onlySurvival/storage shortfall — minimum amount only
Auto PayPost-fee, post-survival residual yield only — not liquid principal by default
Home chains Phase 1Sui + Solana execution homes; Base/Ethereum = bridge-in / discovery only

Decision areaFollowPass test
Smart contractsNo custody + always withdraw + no hidden adminOwner withdraw works without team; no admin drain
Fee modelTransparent + earn-when-user-earnsFee only inside harvest/waterfall; shown as feeBps + net APY
Agent permissionsAgent-native + owner-sovereignAgent harvests/plans; cannot withdraw principal or change fee/venues
Cross-chainNo custodyBridge via protocol rails (e.g. Mayan); credit only after delivery; no team intermediate wallet as owner of funds
Discovery / AI routingDiscovery ≠ truth + honest numbersPropose/rank offchain; execute only allowlisted adapters with live read_apy
UpgradesNo hidden adminImmutable core where possible; otherwise timelock + owner consent / package migration
Product copyHonest numbersNever “guaranteed APY” or fee-free yield if skim applies

What we learn from peers (and how we differ)

Section titled “What we learn from peers (and how we differ)”
ProtocolLesson we takeHow Open Yield differs
SuperformImmutable core, modular routing, non-custodial cross-chain mental modelAgent-native + Auto Pay; Phase 1 homes Sui + Solana
YearnPermissionless harvest; performance fees acceptedSimpler agent one-call surface; fee ~5% of yield (not 2%+20% stack by default)
BeefyMulti-chain auto-compound UXIntelligent routing + character/agent policy, not vault farm list only
Giza / closed agent optimizersAgentic yield is real demandStay open — orchestrator anyone can run; no closed custody platform
OpenRouter (analogy)One high-level call that routesSame UX metaphor for capital, not LLMs

We do not copy: custodial “send us USDC and we stake,” closed agent backends that hold keys to principal, or fee-on-deposit models.


Full fee model: docs/09-fee-model.md

gross_yield
→ protocol_skim (~5% default, onchain bps)
→ survival bills (storage, etc.)
→ residual → compound and/or Auto Pay
AllowedForbidden
% of harvested yield (~5% MVP default)% of deposit / tip / top-up
Optional x402 pay-per-call on data/API onlyOpenRouter-style % tax on “credits” as core yield model
Disclosed routing fee on routed storage renewalHidden bridge markup as “fee” without disclosure
Keeper bounty from policySecond Auto Pay % that double-charges residual
Pass-through venue/bridge gas costsWithdrawal fee on principal (Beefy-style)
Management fee on idle principal as primary revenue

  1. User sends funds to a team/ops wallet “to be staked.”
  2. Admin key that can seize, freeze, or redirect principal.
  3. Agent can withdraw principal or transfer aNFT.
  4. Auto-stake every character on create.
  5. Fee charged at deposit or withdraw of principal.
  6. Harvest only callable by team.
  7. UI shows demo APY as live.
  8. DefiLlama APY used as sole input to size a live supply tx.
  9. Bridge credit before destination delivery confirmed.
  10. “Upgrade” that changes fee or withdraw rules without transparent process.

  • Prefer immutable fee + withdraw + harvest invariants on the execution path used by characters.
  • Venue allowlists and adapter sets may evolve under owner policy and transparent protocol config — not silent admin.
  • Token/governance for fee share is not required for MVP; do not block shipping on a token.

  1. Every Open Yield PR description must name which principles it upholds.
  2. Code review: fail any PR that weakens rank 1–3.
  3. Plane tickets XEL-153…168 must not contradict this constitution; Codex/review comments that cite custody/fee/harvest take priority over convenience.
  4. Marketing: never claim non-custodial if any path holds user keys to principal without export/exit.

DocRole
docs/01-implementation.mdHow we build
docs/02-agent-api.mdAPI surface
docs/03-sui-move.mdMove / XEL treasury map
docs/04-xel-integration.mdPlug into Living Characters
docs/LOCKED-MODEL-XEL.mdCharacter economy authority

Constitution end. If a principle must change, it requires an explicit product decision recorded here with date and owner — not a silent code change.