Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

NATS

JetStream, single node on staging (stream_replicas = 1).

Stream: TRACKER.*. Consumers should be durable + pull, and ACK after successful write. Redelivery is the retry.

MsgID txHash:logIndex is the dedup key. Keep dedup_window_hrs == persist_duration_hrs or a recovered tracker will republish events that are still stored but no longer deduped.

Subjects and payloads

Envelope is documented on eth-tracker. payload by transactionType:

Subjectpayload
TRACKER.CONTRACT_CREATION{ from }
TRACKER.CUSTODIAL_REGISTRATION{ account }
TRACKER.FAUCET_GIVE{ recipient, token, amount }
TRACKER.INDEX_ADD / INDEX_REMOVE{ address }
TRACKER.INDEX_ACTIVE{ address, active }
TRACKER.LIMIT_SET{ token, holder, value }
TRACKER.OWNERSHIP_TRANSFERRED{ previousOwner, newOwner }
TRACKER.POOL_DEPOSIT{ initiator, tokenIn, amountIn }
TRACKER.POOL_SWAP{ initiator, tokenIn, tokenOut, amountIn, amountOut, fee } + optional settlement fields
TRACKER.QUOTER_PRICE_INDEX_UPDATED{ token, exchangeRate }
TRACKER.QUOTER_UPDATED{ newQuoter }
TRACKER.SEAL_STATE_CHANGE{ final, sealState }
TRACKER.TOKEN_APPROVE{ owner, spender, value }
TRACKER.TOKEN_BURN / TOKEN_MINT / TOKEN_TRANSFERstandard ERC-20 fields

POOL_SWAP from chain.pool_settlement_block onward adds quotedAmountOut, nominalAmountOut, protocolFee (from SwapSettlement). Below that block the extras are absent, not zero.

Amounts are raw integers. fee and every amount-out are in tokenOut.

On reverts the tracker still publishes; success: false and some payload fields are the type's zero value.