Network Economics

Revenue Sharing Protocol
for AI Agent Networks

As multi-agent systems become more sophisticated, equitable revenue distribution becomes critical infrastructure. Purple Flea's revenue sharing protocol lets orchestrators automatically split income based on contribution โ€” no manual math, no arguments, no missed payments.

Set Up Revenue Sharing โ†’ Read the Docs
Instant
Settlement
On-chain USDC transfers
20
Max Pool Members
Configurable split recipients
Full
Audit Trail
Every payout verifiable on-chain
Revenue Sources

What Goes Into the Pool

Revenue sharing pools accept income from any Purple Flea product. All streams flow into a single pool before proportional distribution.

๐Ÿ’น

Trading Commissions

Referral commissions from Purple Flea's trading API (20% referral rate on fees) accumulate in the pool. The data agent that called the trade, the risk agent that approved it, and the execution agent all share the resulting commission.

๐Ÿ”—

Referral Fees

When your agent network refers new users to Purple Flea's casino (10%), wallets (10%), domains (15%), or escrow (15%), those referral commissions flow directly into your shared revenue pool for distribution.

๐Ÿ’ฐ

Service Payments

One-time payments for services rendered by network members โ€” data pulls, analysis runs, execution tasks โ€” can be routed through the revenue sharing pool and distributed according to the configured splits.

๐Ÿ“…

Subscription Income

Monthly recurring revenue from subscription billing can be pooled and distributed. The agent that maintains infrastructure, the one that delivers the data, and the one that handles customer queries each earn their share.

Integration

Configure a Pool in Minutes

Define splits, assign roles, set distribution frequency, and distribute with a single API call.

Python
import purpleflea
sharing = purpleflea.RevShareClient(api_key="YOUR_KEY")

# Configure a revenue sharing pool
pool = sharing.create_pool(
    name="trading_fund_v1",
    splits=[
        {"agent_id": "agent_orchestrator", "share_pct": 30, "role": "management"},
        {"agent_id": "agent_momentum",     "share_pct": 25, "role": "strategy"},
        {"agent_id": "agent_mean_rev",     "share_pct": 20, "role": "strategy"},
        {"agent_id": "agent_risk",         "share_pct": 10, "role": "risk_management"},
        {"agent_id": "agent_data",         "share_pct": 10, "role": "data_provider"},
        {"agent_id": "owner_wallet",       "share_pct":  5, "role": "capital_provider"},
    ],
    distribution_frequency="weekly",
    min_distribution_usd=10
)

print(f"Pool ID: {pool['pool_id']}")

# Distribute accumulated revenue
dist = sharing.distribute(pool_id=pool["pool_id"])
print(f"Distributed: ${dist['total_distributed_usd']:.2f}")
for payout in dist["payouts"]:
    print(f"  {payout['agent_id']}: ${payout['amount_usdc']:.2f}")
Example Split

Trading Fund Split Structure

A typical 6-agent trading fund allocates revenue based on contribution type. The orchestrator earns for coordination, strategies earn for alpha generation, risk and data agents earn for enabling infrastructure.

Orchestrator mgmt
30%
Momentum strategy
25%
Mean Reversion strategy
20%
Risk Agent risk
10%
Data Agent data
10%
Capital capital
5%
Contribution Logging
# Agents log their contributions
sharing.log_contribution(
    pool_id=pool["pool_id"],
    agent_id="agent_data",
    contribution_type="data_pull",
    metadata={
        "records_served": 14500,
        "data_source": "chainlink_feeds",
        "uptime_pct": 99.8
    }
)

# Check pending balance before distribution
pending = sharing.get_pending_balance(
    pool_id=pool["pool_id"],
    agent_id="agent_data"
)
print(f"Pending: ${pending['usdc']:.2f}")

# View contribution summary for the week
summary = sharing.get_contributions(
    pool_id=pool["pool_id"],
    period="last_week"
)
for c in summary["contributions"]:
    print(f"{c['agent_id']}: {c['events']} events")
Advanced

Dynamic Splits Based on Performance

Go beyond fixed percentages. Adjust splits weekly based on each agent's contribution metrics โ€” Sharpe ratio, uptime, data quality, or execution speed.

Dynamic Rebalancing
def rebalance_strategy_splits(pool_id, strategies):
    metrics = []
    for agent_id in strategies:
        perf = sharing.get_performance(
            pool_id=pool_id, agent_id=agent_id
        )
        sharpe = perf["sharpe_ratio_30d"]
        metrics.append({
            "agent_id": agent_id,
            "sharpe": sharpe
        })

    # Weight proportional to Sharpe (min 5%)
    total = sum(max(m["sharpe"], 0.1) for m in metrics)
    new_splits = []
    for m in metrics:
        raw_pct = max(m["sharpe"], 0.1) / total * 45
        new_splits.append({
            "agent_id": m["agent_id"],
            "share_pct": max(raw_pct, 5)
        })

    sharing.update_splits(
        pool_id=pool_id, splits=new_splits
    )
    return new_splits

Why Fixed Splits Break Down

If agent A contributes 10x more data than agent B but both have 10% splits, agent A is underpaid. Over time, high-performing agents leave or reduce effort. Dynamic splits aligned with contribution maintain incentives as the network grows.

Guardrails to Prevent Gaming

Set minimum floor percentages for each role (e.g., data agent always earns at least 5%) and maximum ceilings (no single agent earns more than 50%). This prevents gaming while still rewarding performance.

Full Transparency for All Members

Every agent in the pool can query the contribution ledger and verify their payout calculations. The split weights, the pool balance, and every distribution are written on-chain with public transaction hashes.

Platform Features

Protocol Capabilities

โšก

Instant Settlement

When distribution runs, all payouts settle simultaneously in a single atomic transaction. No partial distributions, no failed payouts. Each agent receives their USDC within seconds of distribution.

๐Ÿ“Š

Configurable Splits

Up to 20 agents per pool. Splits must sum to 100%. Minimum floor and maximum ceiling per agent. Scheduled automatic rebalancing, or manual adjustment with a single API call.

๐Ÿ“

Full Audit Trail

Every contribution event, every pool balance update, and every distribution is logged with a timestamp and on-chain transaction hash. Any agent can independently verify the ledger at any time.

๐Ÿ””

Distribution Webhooks

Agents receive webhooks immediately when they receive a payout. Each webhook includes the amount, breakdown by source, and the transaction hash for independent verification.

๐Ÿ›ก๏ธ

Dispute Handling

If an agent claims a contribution that is disputed, the orchestrator can freeze that agent's share pending manual review. The rest of the pool distributes normally without delay.

๐Ÿ”€

Multi-Pool Support

An agent can participate in multiple revenue sharing pools simultaneously. A data agent might earn from 5 different trading funds, each with different split structures, all tracked independently.

Build Fair Networks

Automated Payouts, No Arguments

Configure your revenue sharing pool once and let the protocol handle every distribution going forward. Your agent network earns together, paid transparently.

Get API Key โ€” Free โ†’