VoteBroker Technical Devlog — June 2, 2026

in #votebroker8 hours ago (edited)

VoteBroker Technical Devlog — June 2, 2026

Changes since: 2026-05-31


Features & Improvements

Curation Engine

The pending curation estimate has been migrated from rshares to the weight field from active_votes. This is the field the Steem blockchain actually uses to distribute curation rewards among voters. The previous approach overestimated earnings by up to 44%. The new calculation aligns closely with third-party tools like SteemWorld (~1% residual difference).

Strategy Table

The author strategy table now displays the approximate USD equivalent alongside each vote weight percentage. This makes the actual economic value behind each percentage point immediately visible — a significant UX improvement for curators who think in dollar terms rather than VP percentages.

Dashboard: Earnings Card

A new earnings card has been added at the top of the dashboard. It shows VoteBroker-attributed curation rewards — only rewards from posts that VoteBroker actually voted, matched against on-chain curation_reward operations. The card uses a combined bar + line chart: daily bars show realized and pending rewards stacked by type, while the cumulative line shows total growth over time.

The cause-and-effect framing is intentional: N votes → X SP built up. This gives curators a clear view of what their curation activity is actually producing.

Community Radar

The Community tab has been rebuilt from scratch. The previous implementation used mock data. It now reads directly from strategy_rules and audit_events in the database, surfacing authors supported by other VoteBroker curators that are not yet in the current user's strategy — a first step toward real on-chain author intelligence.

Author Discovery

The community endpoint now queries real strategy data across all registered curators, identifies shared authors, and ranks discoveries by curator count and recent activity. No fake data, no hardcoded entries.


Bug Fixes

Steem Image URLs

Images in published posts were not displaying on Steemit because the URLs were stored as relative paths (/api/screenshots/...). Steemit resolves relative paths against its own domain, not the source server. All image references are now written as absolute URLs (https://votebroker.org/api/screenshots/...) before the comment operation is broadcast to the blockchain.

This was an important debugging lesson: the issue was not with how Steemit renders images — it was with what data was stored in the comment operation on-chain. The fix was applied at the broadcast layer, not the client layer.

Vote Plan UX

A duplicate "Vote All" button was removed from the vote planner header. The button bypassed VP budget management and created confusion about which action to take. There is now exactly one primary CTA in the vote workflow.


Architecture & Platform

Chain Provenance

The vb_vote_outcomes table now stores vote_trx_id, reward_trx_id, and reward_block_num alongside each matched vote-to-reward pair. This reflects the correct architectural posture for a blockchain application: the database is a performance index, not the source of truth. The Steem blockchain is the source of truth. If the table is lost or corrupted, it can be fully rebuilt from get_account_history.

Rebuild Infrastructure

A rebuild endpoint (POST /api/me/votebroker-earnings/rebuild) was added. It scans the full account history, matches curation_reward operations against VoteBroker votes, and upserts outcomes with chain provenance fields. The first run processed 153 votes, matched 21 confirmed rewards, and classified 132 as pending (posts voted within the last 7 days that have not yet paid out).

Attribution Model

VoteBroker now distinguishes between three reward states:

  • Realized — matched on-chain curation_reward operation, SP already credited
  • Pending — voted post within the 7-day payout window, reward not yet distributed
  • Estimated — vote-weighted approximation for display purposes

This distinction matters for accurate reporting and is reflected consistently across the dashboard.

Blockchain-First Debugging

A recurring lesson this sprint: when something appears broken in a Steem frontend, the correct question is not "Why does Steemit show this?" but "What does get_content return?" Steemit, Peakd, and SteemWorld are clients reading the same blockchain. The data stored in the comment operation is the ground truth.


Curation Activity — June 2, 2026


What Comes Next

VoteBroker-Attributed Earnings
The rebuild infrastructure is now in place. As posts pay out over the coming days, the vb_vote_outcomes table will fill with matched rewards. This enables per-author and per-strategy ROI analysis: which authors produce the highest curation yield per vote-dollar invested.

Reward Analytics
The next layer of the earnings system will surface daily and cumulative reward trends, average SP per vote, and efficiency comparisons across different strategy configurations.

Curator Intelligence
The vote network on the Steem blockchain already contains everything needed for recommendation-grade author discovery. Which authors are curated by multiple experienced curators? Which produce consistent rewards? Which are underserved relative to their posting frequency? These signals exist on-chain and do not need to be invented — they need to be read and surfaced.

Timezone-Aware Reporting
Day boundaries in reports currently follow UTC. A user timezone setting has been added to the interface; the next step is propagating this to the backend so that "today" is computed in the curator's local time rather than UTC midnight.

ROI Analysis
Long-term: VoteBroker should be able to answer "Which authors, at which vote weight, at which timing, produce the highest curation return?" This requires correlating vote operations with reward outcomes — the data model introduced this sprint makes that possible.


VoteBroker is built as a curation decision platform, not a voting bot. The goal is to give curators the information they need to make better decisions — about which authors to support, at what weight, and when.


VoteBroker — Community Curation Intelligence for the Steem Blockchain · votebroker.org