BuilderAttribution
BuilderAttribution tags every outgoing order with the Polytraders builder code before submission, logs each fill against the builder code, and reconci
What it does
BuilderAttribution tags every outgoing order with the Polytraders builder code before submission, logs each fill against the builder code, and reconciles the local fill log against the Polymarket builder-code report every 24 hours. If a discrepancy is detected — missing attribution, volume drift, or order counts that do not match — it quarantines the affected records and raises an alert. BuilderAttribution never submits, modifies, or cancels orders. Its authority is to explain and audit only.
Pipeline placement
Applies to: Every filled or partially filled order, and every daily reconciliation window
Why it matters
| If this fails | Consequence |
|---|---|
| Builder code missing from an outgoing order | Volume attributed to the builder is undercounted in the Polymarket report, which affects fee rebates, builder-tier status, and audit trails for compliance. |
| Daily reconciliation not performed | Attribution drift compounds silently over time. Without regular reconciliation, discrepancies may only be discovered during a formal audit when they are much harder to investigate. |
| Quarantine not applied on drift | Unreconciled records remain in the live ledger and may be double-counted or misreported in downstream reports if not flagged and isolated. |
| Attribution log retention not enforced | Without a defined retention policy, old attribution records may be purged before they are needed for a historical audit or fee dispute. |
Inputs
Polymarket inputs
| Input | Source | Required | Use |
|---|---|---|---|
| Per-fill attribution data from every submitted order | CLOB | required | Capture the builder_code field on each fill confirmation and store it in the attribution log. |
| Polymarket builder-code volume report (rolling 24 hours) | Data API | required | Reconcile the local fill log against Polymarket's official attribution report each reconcile window. |
| Order submission acknowledgements | CLOB | required | Confirm that the builder_code was accepted and echoed back in each order acknowledgement; flag any order where it is absent. |
Internal inputs
| Input | Source | Required | Use |
|---|---|---|---|
| Outgoing order stream before submission | StrategyRegistry | required | Intercept each order in-flight to attach the builder_code to the payload before it is signed and submitted. |
| KillSwitch active flag | KillSwitch | optional | Continue logging and reconciliation even when KillSwitch is active — attribution must track all events including rejected ones. |
Authority
What this bot is permitted to do
State
Readiness
General live
Status
live
Class
Governance Service
Default mode
general_live
Developer owner
Polytraders core — Governance pod
Capital impact
Indirect
Reason codes emitted
| Code | Severity | Meaning | Action |
|---|---|---|---|
| BUILDER_CODE_MISSING | WARN | An outgoing order arrived at the attribution layer without the builderCode bytes32 field set, or a fill confirmation echoed back a zero builder code. | Attach the configured builderCode and emit WARN alert. |
| BUILDER_FEE_RATE_CAPPED | WARN | The observed builder_fee_bps on a fill exceeds the V2 cap (taker: 100 bps, maker: 50 bps). | Log the anomaly; quarantine the fill record for manual review. |
| RECONCILIATION_DRIFT_OBSERVED | WARN | Local fill volume or count diverges from the Polymarket builder-code report by > 1%. | Quarantine drift records; emit reconciliation drift alert. |
| PARAMETER_CHANGE_REQUIRES_APPROVAL | HARD_REJECT | reconcile_window_h exceeds the 72h hard maximum, or builder_code was changed without a signed admin action. | Reject the config change and emit an alert. |
| BUILDER_ATTRIBUTION_CODE_MISMATCH | WARN | An order's builder bytes32 field does not match the configured builderCode value. | Reject the order from proceeding to signing; emit WARN alert. |
| BUILDER_ATTRIBUTION_QUARANTINE_BLOCKED | WARN | An automated process attempted to clear quarantine records without a manual review flag. | Reject the clear operation; retain records; emit alert. |
| BUILDER_ATTRIBUTION_REPORT_UNAVAILABLE | WARN | Data API builder-code report is unavailable at reconciliation time. | Skip this reconciliation cycle; emit alert; retry on next scheduled window. |
Related bots in Governance & Ops
Used by
Reverse index — strategies that currently reference gov.builderattribution. If you change this bot's authority or reason codes, these strategies must re-pass shadow.
| Strategy | State | Activity |
|---|---|---|
| AI Frontier — release-day taker | frozen | last triggered 22m ago |
| NBA props — line-shop | demo-wired | last triggered 29m ago |
Showing 2 of 2 · demo-wired ≠ production-live
Why this matters
Governance & Ops bots does NOT propose, approve, or block trades; only observes and reports. Understanding the authority boundary prevents misuse and makes promotion-gate reviews faster and more reliable. View raw spec JSON →