Skip to main content

Waiver sniper

The waiver sniper submits one add, one add-and-drop, or one drop to ESPN. It sends only the half of a claim that is still missing, so a redelivery cannot add a player twice.

What starts it?​

ProducerPath
Waiver evaluator, rumor-action trigger and the web UICore API POST /v1/trigger/waiver
Player syncPublishes INJURY_STATUS_CHANGE alerts straight to waiver_actions. These carry event_type, player_id, name, team, new_injury_status and timestamp, not a claim.

What does the message contain?​

FieldRequiredNotes
tracking_idNoFalls back to player_id in logs.
team_idSent by coreThe worker acts on ESPN_TEAM_ID.
player_idYesESPN id of the free agent to add. Negative ids are D/ST.
name, teamSent by coreUsed for logs.
drop_player_idNoESPN id of the player to drop. Omit for an add-only claim.
dry_runNoA boolean overrides DRY_RUN for this message.

What does it read and write on ESPN?​

DirectionRequest
ReadLeague roster views (before and after)
WritePOST …/transactions/ with type: "FREEAGENT" and an ADD item, a DROP item, or both

How does it verify?​

SituationOutcome
Add already on the roster and drop already goneverified_complete, nothing sent
Add-only claim, add visible after the writeverified_complete
Claim with a drop, or add not visible yetsubmitted with awaiting_processing
note

In a waiver period ESPN queues the claim. The roster won't show the player until it processes, so a missing player after submit is logged as likely queued, not as a failure.

What can go wrong?​

FailureResult
Invalid player_id, add equals drop, drop not on the rosterPermanentError
ESPN_LEAGUE_ID or ESPN_TEAM_ID unsetPermanentError
HTTP 4xx from ESPN other than 429PermanentError
HTTP 429, 5xx or a network failurePlain Error, requeued
Redelivery after the write startedStops for manual verification. See How bots run.

DRY_RUN defaults to dry run for this bot. The write shape is only partly verified, so set DRY_RUN=false or send dry_run: false to submit.