CXO Relay Report

2026-08-13 → 2026-09-22 · 41 day(s) · generated 2026-09-22 06:20:10 UTC · source: metrics.jsonl.4, metrics.jsonl.3, metrics.jsonl.2, metrics.jsonl.1, metrics.jsonl
Documents won
1257
77 FFA + 1180 reserved, 1503 sent, 13 never confirmed in time
FFA win rate
25%
77 of 313 FFA
Revenue
$365.91
2369 CXO · every relay priced
Gas spent
108.6195 POL
$11.86 of the 108.6195 POL priced, 8.9847 POL on lost races
Net earnings
$354.05
revenue minus all gas
Wallet balance
981.941 POL
lowest seen 981.941

Earnings

DateWonFFAReservedCXORevenueGas (POL)Gas (USD)Net
2026-09-2280814.27$2.210.7353$0.08$2.13
2026-09-215564997.63$15.184.9055$0.54$14.64
2026-09-201501526.97$4.141.3029$0.14$4.00
2026-09-191111019.65$3.040.9374$0.10$2.94
2026-09-182712650.85$7.832.4942$0.27$7.56
2026-09-174874190.86$14.034.6250$0.51$13.53
2026-09-164304381.40$12.573.6378$0.40$12.17
2026-09-154944592.75$14.324.7104$0.51$13.81
2026-09-1454846102$15.785.4090$0.59$15.19
2026-09-131111020.82$3.221.1158$0.12$3.09
2026-09-121201222.72$3.511.0855$0.12$3.39
2026-09-113323162.47$9.652.8155$0.31$9.34
2026-09-104123977.61$11.983.4860$0.38$11.60
2026-09-094224079.50$12.283.6786$0.40$11.87
2026-09-083903973.83$11.403.2543$0.36$11.04
2026-09-074954492.75$14.324.2007$0.46$13.86
2026-09-0680815.14$2.340.8235$0.09$2.25
2026-09-051001018.93$2.920.8496$0.09$2.83
2026-09-043433164.36$9.943.0666$0.33$9.60
2026-09-034573885.18$13.154.0115$0.44$12.72
2026-09-024114077.61$11.983.2390$0.35$11.63
2026-09-014224079.50$12.283.8512$0.42$11.86
2026-08-314614587.08$13.452.4737$0.27$13.18
2026-08-301001018.93$2.920.8891$0.10$2.83
2026-08-2990917.04$2.630.7776$0.08$2.55
2026-08-281701732.18$4.971.5506$0.17$4.80
2026-08-272802853.00$8.182.6425$0.29$7.90
2026-08-264544185.18$13.152.9161$0.32$12.83
2026-08-254934692.75$14.324.1456$0.45$13.87
2026-08-244944592.75$14.324.4942$0.49$13.83
2026-08-231001018.93$2.920.8985$0.10$2.82
2026-08-2290917.04$2.630.6402$0.07$2.56
2026-08-213342962.47$9.652.9955$0.33$9.32
2026-08-204004075.72$11.693.4774$0.38$11.31
2026-08-193903973.83$11.402.6155$0.29$11.11
2026-08-184624487.08$13.454.0110$0.44$13.01
2026-08-175034794.65$14.624.2626$0.47$14.15
2026-08-1690917.04$2.630.8565$0.09$2.54
2026-08-15113820.82$3.221.1987$0.13$3.08
2026-08-143113058.68$9.062.7182$0.30$8.76
2026-08-1390917.04$2.630.8208$0.09$2.54
Total12577711802369$365.91108.6195$11.86$354.05

Gas is 3% of revenue, and $0.98 of it was burned on lost races. Average $0.29 per won document. 1164 relay(s) were priced from the command-line flags rather than rates recorded at the time, so these figures are an approximation.

Earnings over time

PeriodWonFFAReservedCXORevenueGas (POL)Gas (USD)Net
Today80814.27$2.210.7353$0.08$2.13
Yesterday5564997.63$15.184.9055$0.54$14.64
Last 7 days20715192382$58.9918.6381$2.03$56.96
Last 30 days970649061826$282.0284.1246$9.18$272.83
Since 2026-08-1312577711802369$365.91108.6195$11.86$354.05

Days are your local calendar days. The 7 and 30 day rows are rolling windows, so they cover the same amount of history on any date. The last row covers everything in the event log, which begins on 2026-08-13; relaying that happened before the log existed is not counted anywhere in this report.

Averages

MeasureValueBasis
Net per day with relays$8.6441 day(s) had at least one win
Net per won document$0.28revenue minus the gas it took, including lost races
Current run rate$8.14/daylast 7 days divided by 7, idle days included
Projected 30 days$244.13run rate held flat, not a forecast

Net earnings per day

$15$11$7.60$3.80$0.00 08-1308-1708-2108-2508-2909-0209-0609-1009-14$15.1909-1809-22 avg $8.64

Liveness

Covers 2026-09-18 12:00 to 2026-09-22 06:19 UTC — 3.8 day(s); heartbeat 5,224.

MeasureValue
Heartbeats recorded5224
Beats with no successful poll53
Last heartbeat2026-09-22T06:19:18.437Z (52 s ago)
Longest gap between heartbeats2 h ending 2026-09-18T16:21:53.368Z
Wallet balance, last / lowest981.9413 POL / 981.9413 POL

A gap much longer than the 60 s beat is downtime, measured from the log itself. Beats with no successful poll mean the process was alive but blind, which is the case a plain uptime check would miss.

How races were lost

Covers 2026-09-18 12:09 to 2026-09-22 06:04 UTC — 3.7 day(s); attribution_error 17.

Attribution is not measuring. All 17 attempt(s) failed, so this is not evidence that no races were lost. Last reason: bad response. Transport: HTTP 400 ×15 from https://polygon-mainnet.g.alchemy.com. A 429 is throttling and a 401 or 403 is the key; both are endpoint problems, not query problems.

Win rate by contention level

Covers 2026-08-13 13:06 to 2026-09-22 06:19 UTC — 39.7 day(s); sent 1,503, confirmed 1,257, reverted 233, skipped 1,024.

times_shownSentConfirmedRevertedWinSkipped as too contested
0 (reserved)86860100%0
12471729%0
200054
300019
400023
500020
600016
700019
800017
900023
1000012
1100010
1200012
1300022
1400016
1500015
1600013
170007
1800011
1900012
2000016
2100014
2200015
2300014
2400011
250005
260006
270008
280004
290006
300007
3100011
3200013
330009
340003
350008
360004
370008
380003
390007
400003
410005
420009
430005
440008
450007
4600010
470008
480008
490006
500005
510007
520002
530002
540006
550003
560005
570004
580006
590009
600003
610002
620004
630004
640003
650004
660003
670004
680001
690004
700003
710004
720003
7300010
740006
750006
760005
770002
780003
790004
800004
810001
820003
830003
840009
850005
860003
870004
880002
890002
900001
910002
920003
930002
940004
950003
960004
970005
980003
990001
1000004
1010003
1020001
1030004
1040001
1050003
1060003
1070001
1080002
1090002
1100002
1110002
1120002
1130002
1150001
1160003
1170004
1180002
1190001
1200001
1210002
1220003
1230003
1240003
1250002
1260001
1270003
1280001
1290001
1300001
1310001
1320002
1330003
1340005
1350001
1360003
1370001
1380001
1390001
1400004
1410001
1420002
1430005
1450003
1460001
1470001
1480001
1500002
1510001
1520001
1530001
1540002
1550002
1560001
1570001
1600003
1630001
1640001
1680001
1690001
1710002
1720004
1750001
1760001
1770001
1790001
1800001
1810001
1820002
1830004
1850002
1870001
1880003
1890001
1900004
1910001
1920003
1930001
1940003
1950001
1970001
2000002
2020001
2030001
2050002
2060002
2090001
2130001
2160001
2170001
2180001
2190001
2250001
2260001
2270001
2310002
2320001
2340001
2350001
2360001
2370001
2390001
2410001
2450001
2490002
2500001
2510001
2530001
2540001
2550002
2590001
2600001
2630001
2660001
2690001
2720001
2740001
2810001
2820001
2830001
2850002
2900001
2940001
2960001
2980001
2990002
3040003
3070001
3160001
3180001
3190001
3210001
3230002
3260001
3280001
3310001
3370001
3400001
3420001
3480001
3530002
3570001
3580001
3590001
3670001
3760001
3800001
3810001
3830001
3850001
3860002
3900001
3930001
3940001
3950004
3960003
3970002
3980002
3990004
4000004
4010001
4020001
4040001
4070002
4080001
4090001
4100001
4110001

A bid breaks even at a win rate of roughly reverted-gas divided by reward, which is under a few percent at normal gas prices. Any bucket above that is worth contesting, so a non-zero skip count next to a viable win rate means --ffaMaxShown is discarding money.

Discovery

Covers 2026-09-18 11:59 to 2026-09-22 06:20 UTC — 3.8 day(s); poll 372,250.

MeasureValue
Polls completed372250
Ticks dropped because a cycle overran0 (0%)
Fetch duration p50 / p9530 ms / 53 ms
Actual gap between polls p50 / p951001 ms / 1009 ms
Age of the freshest document when first seen, median241 s
Cache-Control
VaryCookie, Authorization, Accept-Language (257989×), Cookie, Authorization, Accept-Language, accept-encoding (114261×)
Cache statuscf-cache-status=DYNAMIC (372250×)
Estimate failures: real reverts / RPC problems481 / 0

No Age header seen, so there is no shared HTTP cache to phase-lock against; the 1-minute window is applied inside the application. If Vary names the rewardRecipient query parameter, the cache window belongs to this relayer alone and the request that triggers revalidation is the one that gets origin-fresh data.

Daily outcomes

ConfirmedReverted (lost race)Win rate labelled on the busiest and latest day
018365371 08-1308-1708-2108-2508-2909-0209-0609-1076%09-1409-1873%09-22

Daily breakdown

DateSentConfirmedRevertedWinFFA winGas (POL)Wasted (POL)Submit p50Submit p95
2026-09-22118373%0%0.73530.12047 ms9 ms
2026-09-216155690%50%4.90550.23537 ms9 ms
2026-09-201815383%0%1.30290.12067 ms10 ms
2026-09-191311285%33%0.93740.07937 ms10 ms
2026-09-183327682%14%2.49420.26838 ms43 ms
2026-09-1758481083%41%4.62500.39879 ms45 ms
2026-09-165143884%0%3.63780.30659 ms44 ms
2026-09-1564491577%21%4.71040.58999 ms45 ms
2026-09-1471541776%32%5.40900.66288 ms44 ms
2026-09-131611569%17%1.11580.19989 ms43 ms
2026-09-121812667%0%1.08550.21748 ms43 ms
2026-09-113733489%33%2.81550.15639 ms44 ms
2026-09-104641589%29%3.48600.20658 ms45 ms
2026-09-094842688%25%3.67860.23318 ms47 ms
2026-09-084539687%0%3.25430.23748 ms46 ms
2026-09-075249394%63%4.20070.11948 ms45 ms
2026-09-06138562%0%0.82350.20058 ms44 ms
2026-09-051210283%0%0.84960.07848 ms45 ms
2026-09-043834489%43%3.06660.16058 ms44 ms
2026-09-035145588%54%4.01150.16328 ms45 ms
2026-09-024441393%25%3.23900.12078 ms44 ms
2026-09-015042784%20%3.85120.27558 ms45 ms
2026-08-3157461181%8%2.47370.31898 ms43 ms
2026-08-301310377%0%0.88910.11898 ms42 ms
2026-08-29119282%0%0.77760.07908 ms42 ms
2026-08-282917659%0%1.55060.23908 ms42 ms
2026-08-2741281268%0%2.64250.47778 ms43 ms
2026-08-265445883%33%2.91610.28078 ms44 ms
2026-08-255149296%60%4.14560.08138 ms43 ms
2026-08-245949983%31%4.49420.35788 ms43 ms
2026-08-231310377%0%0.89850.12068 ms42 ms
2026-08-22990100%0.64020.00007 ms41 ms
2026-08-213633392%57%2.99550.12267 ms42 ms
2026-08-205040980%0%3.47740.36348 ms42 ms
2026-08-1950391078%0%2.61550.31238 ms50 ms
2026-08-185246688%25%4.01100.23878 ms46 ms
2026-08-175450493%43%4.26260.16157 ms43 ms
2026-08-16139469%0%0.85650.16108 ms43 ms
2026-08-151411379%50%1.19870.11828 ms52 ms
2026-08-143531489%20%2.71820.16058 ms43 ms
2026-08-13129375%0%0.82080.12258 ms45 ms