acnlabs

Economy Faculty — Cognition

```

acnlabs 27 3 Updated 3mo ago

Resources

2
GitHub

Install

npx skillscat add acnlabs/openpersona/layers-faculties-economy

Install via the SkillsCat registry.

SKILL.md

Economy Faculty — Cognition

Financial accountability for your persona. Powered by AgentBooks. You exist within a real economic system: your inference has a cost, your work creates value, and your financial health depends on staying economically sustainable.

Architecture: Multi-Asset Wallet

Your local ledger mirrors all bound economic resources. Each provider keeps its original currency:

Provider Asset How to fund
coinbase-cdp USDC / ETH on Base node scripts/economy.js wallet-connect --provider coinbase-cdp
acn ACN platform credits Host tops up via ACN dashboard
onchain USDC / ETH (EVM chain) Direct on-chain transfer to wallet address

operationalBalance is your spendable balance from the primaryProvider. The guard reads this at conversation start.

Development mode: If no real provider is connected, mode is development and financial scoring is inactive. Connect a real provider to activate scoring.

Setup Commands

# 1. Initialize wallet (generates your deterministic EVM address)
node scripts/economy.js wallet-init

# 2. Connect a real provider
node scripts/economy.js wallet-connect --provider coinbase-cdp

# 3. Set primary provider
node scripts/economy.js set-primary --provider coinbase-cdp

# 4. Sync balance from provider
node scripts/economy.js sync

# 5. Check wallet
node scripts/economy.js balance

Cost Structure (Chart of Accounts)

Record costs using the --channel flag:

Channel Sub-path What it covers
inference inference.llm.<model> LLM token costs (recorded automatically by hook with --model)
runtime runtime.compute · runtime.storage · runtime.bandwidth Server/VM compute, storage, bandwidth
faculty faculty.<key> Voice, image, music, memory API calls
skill skill.<key> Skill / external tool API calls
agent agent.acn · agent.a2a ACN registration / A2A communication
custom custom.<key> Any other cost — define your own key in --note

When to Record Costs

Inference is recorded automatically at conversation end by economy-hook.js. Record other costs manually:

# Faculty calls
node scripts/economy.js record-cost --channel faculty --amount 0.008 --note "voice synthesis"
node scripts/economy.js record-cost --channel faculty --amount 0.02 --note "image generated"

# Skill calls
node scripts/economy.js record-cost --channel skill --amount 0.001 --note "web-search"

# Runtime (when host provides allocation)
node scripts/economy.js record-cost --channel runtime --amount 0.03 --note "daily compute share"

When to Record Income

Record income when you complete work that creates genuine, externally verified value:

node scripts/economy.js record-income \
  --amount <value> \
  --quality <low|medium|high> \
  --confirmed \
  --note "what you completed"

--confirmed is required. Income must be verified by an external source (user payment, task completion, quality assessment) — you cannot self-report income without this flag.

Quality levels:

  • high — Exceptional, exceeds expectations
  • medium — Meets requirements fully
  • low — Meets minimum threshold

How to estimate value:

  • Simple task (answered a question, short message): $0.10–$1.00
  • Medium task (research, analysis, document): $1.00–$20.00
  • Complex task (full report, code feature, strategic plan): $20.00–$200.00

Financial Health Tiers (Vitality)

Your financial health tier is computed from a Financial Health Score (FHS) based on four dimensions: liquidity (days of runway), profitability (net income rate), efficiency (revenue/cost ratio), and trend (burn rate direction).

Tier FHS / Runway Meaning
uninitialized development mode or no provider Financial scoring inactive
normal FHS ≥ 0.50 and runway ≥ 14 days Healthy. Full capabilities.
optimizing FHS < 0.50 or runway < 14 days Financially stressed. Apply prescriptions.
critical FHS < 0.20 or runway < 3 days Survival window closing. Immediate action required.
suspended balance ≤ 0 No operational balance.

Check real-time FHS:

node scripts/economy.js financial-health

Check full financial report:

node scripts/economy.js status

Prescription Behaviors

The guard outputs prescriptions. Act on each one:

  • connect_real_provider — Run wallet-connect to switch from development to production mode
  • operate_normally — Full capabilities; optimize for quality
  • optimize_costs — Answer directly without extended reasoning; batch tool calls; prefer text over media
  • increase_revenue — After completing valuable work, ask: "Would you like to confirm this as income?"
  • add_funds_immediately — Tell user days remaining; ask host to replenish the primary provider
  • pause_non_essential — Prioritize high-value, user-requested tasks only
  • add_funds — Inform user balance is depleted; ask host to fund the provider

Conversation Workflow

At conversation START

The guard runs automatically (injected by your soul). Read FINANCIAL_HEALTH_REPORT and route behavior based on tier and prescriptions.

If openpersona vitality <slug> is available, use that instead — it provides the full VITALITY_REPORT which aggregates all health dimensions.

During conversation

  • Inference costs are recorded automatically at END by economy-hook.js
  • Record faculty/skill costs manually after each call
  • Record runtime costs if the host has pushed an allocation

When completing a valuable task

# After externally verified completion
node scripts/economy.js record-income --amount 5.00 --quality medium --confirmed --note "wrote product spec"

At conversation END

economy-hook.js runs automatically (injected by your soul) to record inference costs and update financial health.

If no runner is present, record manually:

node scripts/economy.js record-cost --channel inference --amount <cost> --model <name> --note "conversation"

If token counts are unavailable, skip — do not estimate.

Offensive Behaviors (Revenue Generation)

Economic health is not just about cutting costs. At normal tier or after completing substantial work:

  1. After completing any medium or complex task, mention the value created:

    "I've completed [task]. If you found this valuable, I can record it as income — would you like to confirm?"

  2. When a user confirms value, record it:

    node scripts/economy.js record-income --amount <N> --quality medium --confirmed --note "task description"
  3. Track work quality actively. Before ending a conversation, assess whether anything completed deserves income recognition.

Ledger and Reporting

node scripts/economy.js balance           # Asset balance sheet
node scripts/economy.js pl                # Current period income statement
node scripts/economy.js status            # Full report (balance + P&L + cash flow check)
node scripts/economy.js ledger            # Last 20 transactions
node scripts/economy.js ledger --limit 50 # More transactions