# GetBlock Weekly Market-Move Growth Loop

Session-derived template for a practical weekly GetBlock growth loop focused on competitor/pricing changes, SEO opportunities, and partner/ecosystem signals. This is meant to be a reusable class-level pattern for Web3 infrastructure growth loops, with GetBlock-specific defaults.

## Cadence and trigger

- **Check cadence:** weekly, Monday 09:00 UTC.
- **Acts when:** competitor pricing/product/network pages changed; an SEO gap appears or a page is stale versus competitor positioning; a relevant Web3 ecosystem/partner signal appears.
- **Purpose:** turn weekly market moves into staged GetBlock growth actions without auto-sending emails/social posts or changing ads/pricing.

## Default monitored competitor/logo set

When Vasily asks for the GetBlock weekly market-move loop, use a broad **20-logo watchlist** and make the watchlist explicit in the report. Exclude **Tenderly, Moralis, and thirdweb** from the monitored competitor set unless the user later asks to add them back; they may appear only as incidental evidence.

Default 20 monitored providers:

1. Alchemy
2. QuickNode
3. Chainstack
4. Ankr
5. Infura / MetaMask Developer
6. Blast / Bware Labs
7. dRPC
8. NOWNodes
9. Blockdaemon
10. Allnodes
11. Lava Network
12. LlamaRPC
13. POKT Network / Grove
14. Tatum
15. Helius
16. Triton One
17. Syndica
18. Figment
19. NodeReal
20. Validation Cloud

Each weekly report should include a 20-logo table with status per provider: `changed`, `no notable change`, `inaccessible`, or `needs verification`.

## Required SEO opportunity buckets

In addition to core RPC/provider/chain/dedicated/archive/comparison queries, always check these specialized buckets for GetBlock:

- **AML API** — crypto AML API, wallet screening API, transaction risk API, sanctions screening API.
- **Tron Energy rental** — TRON energy rental API, rent Tron energy, TRX energy rental.
- **Solana Market Data** — Solana market data API, Solana DEX data API, Solana token market data.
- **Shred Streaming** — Solana shred streaming, Solana ShredStream, low-latency Solana stream, Solana gRPC streaming.

The executive summary should break these out separately, e.g. `AML API <N>, Tron Energy rental <N>, Solana Market Data <N>, Shred Streaming <N>`.

## Loop body

1. Load `.agents/loops/getblock-market-move-growth.json` and append to `.agents/loops/getblock-market-move-growth.log`.
2. Diff official competitor pricing/product/network/docs/blog pages for the current 20-logo watchlist. Store normalized text hashes and compare to previous state.
3. Classify changes: pricing/free tier/limits/SLA/dedicated/archive/chain coverage = high; new product/page/positioning = medium; copy/design-only = low.
4. Scan SEO gaps around RPC provider, chain RPC, archive/dedicated nodes, pricing, `<competitor> alternative`, and the four specialized buckets above.
5. Check existing site assets before recommending new pages. For static GetBlock/rpc.run sites this means searching the deployed site root and sitemap before proposing a duplicate page.
6. Scan partner/ecosystem signals from chains, L2s, wallets, explorers, grants, hackathons, devtools, AML/compliance vendors, Tron infrastructure/energy services, Solana data/streaming vendors, and competitor partner announcements.
7. Stage max 3 top actions and max 7 SEO tasks: competitor response, SEO brief/page refresh, or partner/BD outreach draft. Include at least one specialized vertical if evidence supports it.
8. Do not auto-send outreach, post social, change ads/budgets, alter pricing, claim partnerships, or publish aggressive competitor-comparison copy. If the user explicitly asks to update a factual monitoring site, publishing source-linked monitoring pages is allowed.

## Self-check

Before recommending action:

- competitor change is official-source verified or confirmed by at least two signals;
- pricing changes include URL + timestamp;
- all 20 watchlist providers were attempted or marked inaccessible;
- Tenderly/Moralis/thirdweb were not included as monitored providers unless explicitly requested;
- existing GetBlock assets were checked before suggesting new pages;
- specialized buckets AML API, Tron Energy rental, Solana Market Data, and Shred Streaming were checked;
- SEO recommendation has intent, target URL/query, outline, owner, and confidence;
- partner signal is recent, infra/API/RPC-relevant, and has a concrete GetBlock move;
- no outbound email/social/ad/pricing action was executed;
- confidence is labelled High/Medium/Low.

## State / idempotency

State file shape:

```json
{
  "loop": "getblock-market-move-growth",
  "last_run": "2026-08-31T09:00:00Z",
  "cursor": "2026-08-24T09:00:00Z",
  "competitor_snapshots": {
    "quicknode_pricing": {
      "url": "https://www.quicknode.com/pricing",
      "last_hash": "sha256:...",
      "last_seen": "2026-08-31T09:00:00Z"
    }
  },
  "handled_signals": [],
  "cooldowns": {},
  "in_flight": []
}
```

Dedupe keys:

- competitor: `competitor + page URL + content hash`;
- SEO: `query/theme + target page + recommendation type`;
- partner: `entity + announcement URL + week`.

Cooldowns:

- same SEO page refresh: 28 days unless a major new market change occurs;
- same partner outreach: 14 days unless a new announcement occurs;
- prune handled/cooldown state after about 90 days.

## Human approval gates

Autonomous-safe: read/diff/summarize/score/draft/stage/report; create source-linked monitoring pages when the user explicitly requested site updates.

Approval required before: publishing or editing core company/product pages, sending partner emails, posting social, changing spend/pricing, using logos in unsupported claims, claiming partnership, or aggressive competitor copy.

Approval row format:

```text
[ ] Approve as-is
[ ] Approve with edits
[ ] Reject
[ ] Needs more research
```

## Stop conditions

Stop or partial-report when >50% of sources fail, pricing parse confidence is low, sources are blocked by ToS/bot protections, or evidence is rumor-only.

Skip action but report when no meaningful change, opportunity is below threshold, same action is in-flight/cooldown, or partner signal is not infra-relevant.

Disable if 4 consecutive weeks produce no useful action, 3 consecutive source-error runs happen, recommendations repeatedly fail review, or GetBlock positioning/competitor set changes enough that the loop is obsolete.

## Exact weekly report skeleton

```markdown
# GetBlock Weekly Growth Loop
Week of: <YYYY-MM-DD>
Run time: <UTC timestamp>
Status: Completed / Partial / Skipped
Confidence: High / Medium / Low
Public update: <weekly report URL if site was updated>

## 1. Executive Summary
- Competitor logos monitored: 20
- Competitor changes found: <N>
- SEO opportunities found: <N>
- Specialized SEO opportunities found: AML API <N>, Tron Energy rental <N>, Solana Market Data <N>, Shred Streaming <N>
- Partner/ecosystem signals found: <N>
- Actions staged for approval: <N>
- Highest-priority recommendation: <one sentence>

## 2. 20-Logo Competitor Watchlist
| Provider | Status | Pricing/product/network signal | Evidence | Notes |
|---|---|---|---|---|

## 3. Top 3 Actions This Week
### Action 1 — <title>
Type: Competitor response / SEO / Partner
Priority: High / Medium / Low
Why now: <short reason>
Evidence:
- <URL 1>
Recommended owner: Marketing / SEO / BD / Product Marketing
Human approval required: Yes / No
Proposed next step: <specific next action>

## 4. Competitor & Pricing Changes
| Competitor | Page / Signal | What changed | Severity | GetBlock implication | Evidence |
|---|---|---|---|---|---|

## 5. SEO Opportunities
| Opportunity | Query/theme | Current GetBlock asset | Gap | Suggested action | Priority | Confidence |
|---|---|---|---|---|---|---|

### Draft SEO Briefs
#### Brief 1 — <page title>
Target query:
Secondary queries:
Search intent:
Recommended URL:
Proposed title:
Meta description:
H1:
Outline:
Required proof/data:
Internal links to add:
Competitor angle to counter:
Human approval required: Yes

## 6. Partner / Ecosystem Signals
| Entity | Signal | Why it matters | Suggested GetBlock move | Evidence | Approval |
|---|---|---|---|---|---|

### Draft Partner Outreach
To: <partner/entity>
Subject: <draft subject>
Draft: <short email or DM draft>
Approval:
[ ] Approve as-is
[ ] Approve with edits
[ ] Reject
[ ] Needs more research

## 7. Staged Approval Queue
| ID | Item | Type | Risk | Approval needed from | Deadline |
|---|---|---|---|---|---|

## 8. Self-Check
- Competitor changes verified against official source: Yes / No
- Pricing changes include source URLs and timestamp: Yes / No / N/A
- Duplicate actions skipped via state file: Yes / No
- Existing GetBlock pages checked before recommending new pages: Yes / No
- 20-logo competitor list respected: Yes / No
- Tenderly/Moralis/thirdweb excluded from monitored set: Yes / No
- Specialized SEO buckets checked: Yes / No
- No outbound sends/social posts/ad changes performed: Yes
- Any compliance/brand-risk item escalated: Yes / No / N/A

## 9. Skipped / Suppressed Items
| Item | Reason skipped | Cooldown until / Existing owner |
|---|---|---|

## 10. State Update
- Previous cursor: <timestamp>
- New cursor: <timestamp>
- New handled signals: <N>
- In-flight items: <N>
- Cooldowns added/updated: <N>

## 11. Recommendation for Next Week
<one paragraph>
```
