Resources
2Install
npx skillscat add acnlabs/openpersona/layers-faculties-economy Install via the SkillsCat registry.
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,
modeisdevelopmentand 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 balanceCost 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 expectationsmedium— Meets requirements fullylow— 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-healthCheck full financial report:
node scripts/economy.js statusPrescription Behaviors
The guard outputs prescriptions. Act on each one:
connect_real_provider— Runwallet-connectto switch from development to production modeoperate_normally— Full capabilities; optimize for qualityoptimize_costs— Answer directly without extended reasoning; batch tool calls; prefer text over mediaincrease_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 providerpause_non_essential— Prioritize high-value, user-requested tasks onlyadd_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:
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?"
When a user confirms value, record it:
node scripts/economy.js record-income --amount <N> --quality medium --confirmed --note "task description"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