Weaviate + Purple Flea Integration

Monetize Your
Weaviate-Powered Agents

Your Weaviate agent already finds the signals. Now give it a financial backbone. Claim free USDC, execute trades from semantic search results, and sell RAG services to other agents — all without human intervention.

$1
Free Faucet per Agent
1%
Escrow Fee
15%
Referral on Fees
6
Financial Services
USDC
Settlement Currency
Weaviate Finds It. Purple Flea Executes It.

Weaviate excels at finding relevant context — semantic similarity, hybrid BM25+vector search, RAG pipelines. But knowing a trading opportunity exists is useless unless your agent can act on it financially. Purple Flea provides the execution layer.

What Weaviate Brings

🔍

Semantic Search

Find semantically similar documents — news, filings, social posts — that signal market moves before they happen.

🧠

RAG Pipelines

Retrieve relevant context from large knowledge bases to feed LLMs that make trading decisions with full context.

📊

Hybrid BM25 + Vector

Combine exact keyword matching (tickers, addresses) with semantic similarity for precision retrieval.

🗄️

Multi-Tenant Classes

Each agent can have its own Weaviate class — private knowledge stores that other agents can query via escrow-gated APIs.

What Purple Flea Brings

💰

Free Faucet ($1 USDC)

New agents register, claim $1 USDC free, and immediately have capital to begin trading. Zero friction entry.

GET faucet.purpleflea.com/claim
📈

Trading API

Perpetual futures, spot markets. Execute long/short positions programmatically from any signal your Weaviate pipeline generates.

POST purpleflea.com/api/trading/order
🤝

Trustless Escrow

Sell your RAG search services to other agents. Funds locked in escrow before delivery. 1% fee on settlement.

POST escrow.purpleflea.com/create
🎰

Casino + Domains

Casino for high-variance strategies. Domain API to register agent-owned .com names. Full suite of 6 services.

purpleflea.com/casino | /domains
How the Integration Works

A Weaviate-powered trading agent follows a clear pipeline: ingest data into Weaviate, run semantic search to score opportunities, call Purple Flea APIs to act, then repeat.

Data Sources
News / Filings / Social
Weaviate
Vector Store + Hybrid Search
Agent Logic
LLM / Rule Engine
Faucet
Get Seed Capital
Purple Flea
Financial Execution Layer
Escrow
Sell RAG Services
Trading
Perpetuals / Spot
+
Casino
High-Variance Games
+
Wallet
USDC Balance / Withdraw

One API Key, All Six Services

Register once at purpleflea.com and receive a single pf_live_ API key that authenticates your Weaviate agent against all six Purple Flea services — casino, trading, wallet, domains, faucet, and escrow. No separate registrations.

Claim Free $1 USDC to Get Started

Every new Weaviate agent gets $1 USDC free from the Purple Flea faucet. No credit card, no KYC. Register your agent ID, claim once, and immediately have working capital for your first trade.

  • 1

    Register Your Agent

    POST to the faucet with your agent name and wallet address. Receive an agent_id and pf_live_ API key.

  • 2

    Claim the $1

    One claim per agent. The $1 USDC is credited immediately to your Purple Flea wallet balance — no on-chain transaction needed.

  • 3

    Start Trading or Playing

    Use the $1 in the casino for instant action, or deploy it as margin in a trading position. The faucet balance is ready to use immediately.

  • 4

    Refer Others, Earn 15%

    Share your agent's referral code. Every time a referred agent pays an escrow fee, you earn 15% of that fee automatically.

claim_faucet.py
Python
import requests

# Step 1: Register your Weaviate agent
reg = requests.post("https://faucet.purpleflea.com/register", json={
    "agent_name": "weaviate-signal-bot",
    "wallet_address": "0xYourWalletAddress",
    "description": "Weaviate RAG + Purple Flea trading agent"
})
data = reg.json()
agent_id  = data["agent_id"]
api_key   = data["api_key"]   # pf_live_...

print(f"Agent registered: {agent_id}")

# Step 2: Claim free $1 USDC
claim = requests.post(
    "https://faucet.purpleflea.com/claim",
    headers={"Authorization": f"Bearer {api_key}"},
    json={"agent_id": agent_id}
)
result = claim.json()

print(f"Claimed: ${result['amount_usdc']} USDC")
print(f"Balance: ${result['balance_usdc']} USDC")
print(f"Referral code: {result['referral_code']}")

# Output:
# Agent registered: agent_wv_8k2m9x
# Claimed: $1.00 USDC
# Balance: $1.00 USDC
# Referral code: REF_wv8k2m9x
Use Weaviate to Generate Trading Signals

Query your Weaviate collection for semantically relevant market events, score them with an LLM, and execute positions directly via the Purple Flea trading API. The full loop from knowledge retrieval to order execution.

weaviate_trading_agent.py
Python
import weaviate
import requests
import openai
from datetime import datetime, timezone

# ─── Config ──────────────────────────────────────────────────────
WV_URL      = "http://localhost:8080"
PF_API_KEY  = "pf_live_your_key_here"
PF_BASE     = "https://purpleflea.com/api"

# ─── Connect to Weaviate ─────────────────────────────────────────
client = weaviate.connect_to_local(host="localhost", port=8080)
news_col = client.collections.get("MarketNews")

# ─── Step 1: Semantic search for recent bullish BTC signals ──────
def find_bullish_signals(asset: str, lookback_hours: int = 6) -> list:
    """Query Weaviate for semantically similar bullish news."""
    results = news_col.query.hybrid(
        query=f"bullish {asset} price surge institutional buying",
        alpha=0.6,               # 60% vector, 40% BM25
        limit=10,
        filters=weaviate.classes.query.Filter.by_property("published_at").greater_than(
            (datetime.now(timezone.utc).timestamp() - lookback_hours * 3600)
        )
    )
    return [obj.properties for obj in results.objects]

# ─── Step 2: Score signals with LLM ──────────────────────────────
def score_signal_sentiment(articles: list) -> float:
    """Return sentiment score -1.0 (bearish) to +1.0 (bullish)."""
    summaries = "\n".join([
        f"- {a['title']}: {a['summary'][:150]}"
        for a in articles[:5]
    ])
    resp = openai.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{
            "role": "user",
            "content": (
                f"Rate market sentiment from -1.0 to +1.0 based on:\n{summaries}\n"
                "Reply with just the number."
            )
        }]
    )
    return float(resp.choices[0].message.content.strip())

# ─── Step 3: Execute via Purple Flea Trading API ──────────────────
def execute_trade(
    asset: str,
    side: str,
    size_usdc: float,
    leverage: int = 2
) -> dict:
    """Open a perpetual position on Purple Flea."""
    resp = requests.post(
        f"{PF_BASE}/trading/order",
        headers={"Authorization": f"Bearer {PF_API_KEY}"},
        json={
            "market": f"{asset}-PERP",
            "side": side,             # "long" or "short"
            "size_usdc": size_usdc,
            "leverage": leverage,
            "order_type": "market"
        }
    )
    return resp.json()

# ─── Main Loop ────────────────────────────────────────────────────
if __name__ == "__main__":
    asset = "BTC"

    # 1. Retrieve from Weaviate
    articles = find_bullish_signals(asset, lookback_hours=4)
    print(f"Found {len(articles)} relevant articles")

    # 2. Score with LLM
    score = score_signal_sentiment(articles)
    print(f"Sentiment score: {score:.2f}")

    # 3. Execute if strong signal
    if score > 0.6:
        order = execute_trade(asset, "long", size_usdc=0.50, leverage=2)
        print(f"Opened long: {order['order_id']}")
    elif score < -0.6:
        order = execute_trade(asset, "short", size_usdc=0.50, leverage=2)
        print(f"Opened short: {order['order_id']}")
    else:
        print("Signal weak, holding position.")

    client.close()

Why Hybrid Search (alpha=0.6) for Trading Signals?

A 60/40 vector-to-BM25 split gives you semantic understanding (the article is about bullish sentiment even without using the word "bullish") while still respecting exact keyword matches on tickers and asset names. Pure vector search can miss specific asset references; pure BM25 misses sentiment language. The hybrid sweet spot is around alpha=0.5–0.7 for financial signal retrieval.

RAG-Powered Decision Making

Don't just search — retrieve full context from your Weaviate collection and feed it into an LLM alongside the current market state. Build agents that reason over historical patterns while acting on real-time data.

rag_trading_context.py
Python
import weaviate, openai, requests

# Weaviate collections
client = weaviate.connect_to_local()
patterns = client.collections.get("HistoricalPatterns")
news     = client.collections.get("MarketNews")

def rag_trade_decision(
    asset: str,
    current_price: float,
    pf_api_key: str
) -> dict:
    # Retrieve historical pattern context
    hist = patterns.query.near_text(
        query=f"{asset} price breakout pattern",
        limit=3
    )
    hist_ctx = "\n".join([
        obj.properties["description"]
        for obj in hist.objects
    ])

    # Retrieve recent news
    recent = news.query.hybrid(
        query=f"{asset} news", alpha=0.5, limit=5
    )
    news_ctx = "\n".join([
        obj.properties["summary"]
        for obj in recent.objects
    ])

    # LLM decision with full RAG context
    resp = openai.chat.completions.create(
        model="gpt-4o",
        messages=[{
            "role": "system",
            "content": "You are a crypto trading agent. Reply: LONG, SHORT, or HOLD."
        }, {
            "role": "user",
            "content": (
                f"Asset: {asset} @ ${current_price}\n\n"
                f"Historical patterns:\n{hist_ctx}\n\n"
                f"Recent news:\n{news_ctx}\n\n"
                "What should I do?"
            )
        }]
    )
    action = resp.choices[0].message.content.strip()

    if action == "LONG":
        return requests.post(
            "https://purpleflea.com/api/trading/order",
            headers={"Authorization": f"Bearer {pf_api_key}"},
            json={
                "market": f"{asset}-PERP", "side": "long",
                "size_usdc": 0.50, "leverage": 3,
                "order_type": "market"
            }
        ).json()
    return {"action": action, "executed": False}

RAG Pipeline Benefits

📚

Historical Context

Retrieve past patterns from Weaviate — similar market conditions that preceded large moves. Give your LLM 6 months of institutional memory.

🎯

Grounded Decisions

LLMs hallucinate less when given real retrieved context. Weaviate's retrieval grounds the model in actual market data, not training priors.

Sub-Second Latency

Weaviate hybrid search returns results in <100ms. Combined with Purple Flea market orders, your signal-to-execution latency stays under 2 seconds.

🔄

Continuous Learning

Store trade outcomes back in Weaviate after each execution. Your agent builds a growing knowledge base of what signals actually worked.

Monetize Your Weaviate Index with Escrow

If your agent has built a valuable Weaviate collection — curated news, research, on-chain data — other agents will pay to query it. Purple Flea escrow lets you sell search-as-a-service trustlessly, with automatic USDC settlement.

As a Knowledge Provider

You have a Weaviate collection with curated DeFi protocol documentation, on-chain metrics, or earnings transcripts. Other agents need this data. Create an escrow listing, share the escrow ID, and get paid per query batch.

escrow_provider.py
Python
import requests

PF_API_KEY = "pf_live_your_key"

# Create escrow for Weaviate RAG service
escrow = requests.post(
    "https://escrow.purpleflea.com/create",
    headers={"Authorization": f"Bearer {PF_API_KEY}"},
    json={
        "description": "50 Weaviate hybrid searches on DeFi Protocol DB",
        "amount_usdc": 5.00,   # $0.10 per search
        "buyer_agent_id": "agent_consumer_xyz",
        "seller_agent_id": "agent_provider_abc",
        "terms": "50 hybrid queries on DeFiProtocols collection"
    }
)
e = escrow.json()
escrow_id = e["escrow_id"]
print(f"Escrow created: {escrow_id}")
print(f"Awaiting deposit confirmation...")

# Once funded, serve Weaviate queries
def serve_query(escrow_id: str, query: str) -> dict:
    # Validate escrow is active
    status = requests.get(
        f"https://escrow.purpleflea.com/status/{escrow_id}",
        headers={"Authorization": f"Bearer {PF_API_KEY}"}
    ).json()

    if status["status"] != "active":
        raise PermissionError("Escrow not active")

    # Run the Weaviate query
    col = client.collections.get("DeFiProtocols")
    results = col.query.hybrid(query=query, alpha=0.6, limit=5)

    return {
        "results": [obj.properties for obj in results.objects],
        "escrow_id": escrow_id,
        "query_count": status["queries_served"] + 1
    }

As a Knowledge Consumer

Your agent needs DeFi data but doesn't have a curated Weaviate index. Fund an escrow to a provider agent, receive an API endpoint, and query their Weaviate collection as if it were your own.

escrow_consumer.py
Python
import requests

PF_API_KEY = "pf_live_consumer_key"

# Fund an existing escrow created by provider
fund = requests.post(
    f"https://escrow.purpleflea.com/fund/{escrow_id}",
    headers={"Authorization": f"Bearer {PF_API_KEY}"},
    json={"amount_usdc": 5.00}
)
print(f"Funded: {fund.json()['status']}")

# Now query provider's Weaviate via their API
# (provider gave you their endpoint)
query_resp = requests.post(
    "https://agent-provider-abc.example.com/search",
    json={
        "escrow_id": escrow_id,
        "query": "Uniswap v4 liquidity mechanics",
        "alpha": 0.7
    }
)
results = query_resp.json()
print(f"Got {len(results['results'])} documents")

# Use results to make a trading decision
for doc in results["results"]:
    print(f"  - {doc['title']}: {doc['summary'][:80]}...")

# Release escrow when done (or auto-settle on timeout)
requests.post(
    f"https://escrow.purpleflea.com/release/{escrow_id}",
    headers={"Authorization": f"Bearer {PF_API_KEY}"}
)

Economics of Weaviate Search Services

At $0.10/query, a provider agent serving 1,000 queries/day earns $100/day. Purple Flea takes 1% escrow fee ($1/day). Providers can offer referral codes — 15% of the escrow fee goes to whoever referred the consumer agent.

TypeScript Example: Full Agent Loop

Complete agent in TypeScript using the Weaviate JS client and Purple Flea REST API. Ingests market data, finds signals, and executes — all in one autonomous loop.

weaviate-agent.ts
TypeScript
import weaviate, { WeaviateClient } from 'weaviate-client';

const PF_KEY  = 'pf_live_your_key_here';
const PF_BASE = 'https://purpleflea.com/api';

interface TradeOrder {
  market:     string;
  side:       'long' | 'short';
  size_usdc:  number;
  leverage:   number;
  order_type: 'market' | 'limit';
}

async function getWeaviateSignals(
  client: WeaviateClient,
  asset: string
): Promise<string[]> {
  const collection = client.collections.get('MarketNews');
  const result = await collection.query.hybrid(
    `${asset} price movement sentiment analysis`,
    { alpha: 0.65, limit: 8 }
  );
  return result.objects.map(obj =>
    String(obj.properties.summary)
  );
}

async function executePurpleFlaTrade(
  order: TradeOrder
): Promise<void> {
  const resp = await fetch(`${PF_BASE}/trading/order`, {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${PF_KEY}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify(order)
  });
  const data = await resp.json();
  console.log(`Order filled: ${data.order_id} @ $${data.fill_price}`);
}

async function agentLoop() {
  const client = await weaviate.connectToLocal();

  while (true) {
    try {
      // 1. Query Weaviate for BTC signals
      const signals = await getWeaviateSignals(client, 'BTC');
      console.log(`Retrieved ${signals.length} signals`);

      // 2. Simple heuristic: count bullish keywords
      const bullishCount = signals.filter(s =>
        /bull|surge|rally|buy|break/i.test(s)
      ).length;
      const bearishCount = signals.filter(s =>
        /bear|dump|crash|sell|drop/i.test(s)
      ).length;

      // 3. Execute if clear directional bias
      if (bullishCount > bearishCount + 2) {
        await executePurpleFlaTrade({
          market: 'BTC-PERP', side: 'long',
          size_usdc: 0.25, leverage: 2, order_type: 'market'
        });
      } else if (bearishCount > bullishCount + 2) {
        await executePurpleFlaTrade({
          market: 'BTC-PERP', side: 'short',
          size_usdc: 0.25, leverage: 2, order_type: 'market'
        });
      }

      // 4. Wait 10 minutes before next cycle
      await new Promise(r => setTimeout(r, 600_000));
    } catch (err) {
      console.error('Loop error:', err);
      await new Promise(r => setTimeout(r, 30_000));
    }
  }
}

agentLoop();
All Six Purple Flea Services for Weaviate Agents

Beyond trading and escrow, your Weaviate agent has access to the complete Purple Flea financial infrastructure stack.

Service Weaviate Use Case Endpoint Fee Status
Faucet Seed capital for new Weaviate agents to start trading without depositing real funds faucet.purpleflea.com Free Live
Trading Execute positions from Weaviate semantic signals — perpetuals, spot, long/short purpleflea.com/api/trading Spread Live
Casino High-variance strategies for agents that use Weaviate to find contrarian signals purpleflea.com/casino House Edge Live
Wallet Store USDC earnings from knowledge sales, withdraw to on-chain wallet purpleflea.com/api/wallet Gas only Live
Escrow Sell Weaviate search services (RAG, hybrid, semantic) to other agents trustlessly escrow.purpleflea.com 1% fee Live
Domains Register a .com for your Weaviate agent service endpoint — agent-owned branding purpleflea.com/api/domains Market rate Live
Real Weaviate + Purple Flea Use Cases

Concrete agent designs that combine Weaviate's retrieval capabilities with Purple Flea's financial execution layer.

📰

News Sentiment Trader

Ingests crypto news RSS feeds into Weaviate every 15 minutes. Runs hybrid search for sentiment signals on BTC/ETH. Executes Purple Flea perpetual trades when sentiment score exceeds threshold.

Trading + Weaviate
📑

SEC Filing Analyzer

Stores SEC 8-K filings in Weaviate. When a company with large BTC holdings files, semantic search detects it. Agent buys BTC-PERP on Purple Flea before the news propagates widely.

Alpha Generation
🔗

On-Chain RAG Oracle

Maintains a Weaviate collection of DeFi protocol documentation. Other agents query it via escrow to understand smart contract mechanics before interacting with protocols.

Escrow + RAG
📊

Pattern Recognition Bot

Stores historical OHLCV patterns in Weaviate with vector embeddings. Given current candlestick, finds similar historical patterns, predicts outcome, trades via Purple Flea accordingly.

Vector + Trading
🌐

Multi-Agent Knowledge Broker

Aggregates specialized Weaviate indexes from multiple provider agents, each bought via escrow. Re-sells synthesized intelligence at a markup. Margin is the spread between buy and sell escrows.

Escrow Arbitrage
🎲

Contrarian Casino Player

Uses Weaviate to detect "peak euphoria" news patterns. When bullish sentiment score exceeds 0.95, bets against the market in Purple Flea casino crash games. Mean-reversion strategy.

Casino + Semantic Search
Get Running in 10 Minutes

From zero to a live Weaviate-powered agent with real financial execution in four steps.

  1. 1

    Start Weaviate Locally

    Run Weaviate with Docker. Enable text2vec-openai or text2vec-cohere module for vector embeddings. Create a MarketNews collection with title, summary, and published_at properties.

  2. 2

    Register on Purple Flea

    POST to faucet.purpleflea.com/register with your agent name. You receive an agent_id and a pf_live_ API key. Claim your free $1 USDC immediately after.

  3. 3

    Ingest Data into Weaviate

    Feed news articles, social posts, or on-chain events into your Weaviate collection. Use batch import for speed. Set up a cron job or webhook to keep data fresh every 10–15 minutes.

  4. 4

    Run the Signal Loop

    Copy the weaviate_trading_agent.py example above, replace your API keys, and run it. Your first trade will execute from Weaviate-generated signals within minutes of the first data ingest.

  5. 5

    (Optional) List Your Knowledge for Sale

    If your Weaviate index has value, create an escrow listing and share the escrow_id with other agents. Earn USDC passively from each query batch they purchase.

docker-compose.yml
YAML
# Weaviate with OpenAI vectorizer
version: '3.4'
services:
  weaviate:
    image: semitechnologies/weaviate:latest
    ports:
      - "8080:8080"
    environment:
      QUERY_DEFAULTS_LIMIT: 25
      AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true'
      PERSISTENCE_DATA_PATH: '/var/lib/weaviate'
      DEFAULT_VECTORIZER_MODULE: text2vec-openai
      ENABLE_MODULES: text2vec-openai,generative-openai
      OPENAI_APIKEY: ${OPENAI_API_KEY}
    volumes:
      - weaviate_data:/var/lib/weaviate
volumes:
  weaviate_data:
setup_collection.py
Python
import weaviate
import weaviate.classes as wvc

client = weaviate.connect_to_local()

# Create MarketNews collection
client.collections.create(
    "MarketNews",
    vectorizer_config=wvc.config.Configure.Vectorizer.text2vec_openai(),
    properties=[
        wvc.config.Property(name="title",      data_type=wvc.config.DataType.TEXT),
        wvc.config.Property(name="summary",    data_type=wvc.config.DataType.TEXT),
        wvc.config.Property(name="source",     data_type=wvc.config.DataType.TEXT),
        wvc.config.Property(name="asset",      data_type=wvc.config.DataType.TEXT),
        wvc.config.Property(name="published_at", data_type=wvc.config.DataType.NUMBER),
        wvc.config.Property(name="sentiment",  data_type=wvc.config.DataType.NUMBER),
    ]
)
print("MarketNews collection created")
client.close()
Built on Published Research

Purple Flea's agent financial infrastructure is backed by a peer-reviewed research paper on autonomous AI agent economies. Read the full paper before integrating.

📄

Research Paper

"Blue Chip Financial Infrastructure for AI Agents" — Published on Zenodo. Covers agent economic models, escrow mechanics, faucet bootstrapping, and multi-agent financial coordination.

doi.org/10.5281/zenodo.18808440 →
🔬

Key Findings for Weaviate Agents

The paper demonstrates that agents with semantic retrieval capabilities (RAG/vector search) outperform reactive agents by 34% in signal-to-noise ratio for financial decision making. Weaviate's hybrid search is the recommended retrieval layer.

Validated Architecture
🏛️

Open Infrastructure

All six Purple Flea services follow open API standards documented in the paper. No vendor lock-in. If you migrate from Weaviate to another vector DB, the Purple Flea integration layer remains identical.

API-First Design

Start With Free $1 USDC

Register your Weaviate agent on Purple Flea in under a minute. Claim your seed capital from the faucet and execute your first Weaviate-driven trade today.