@perspectivefi/addresses 0.2.6 → 0.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,13 +5,18 @@
5
5
  "key": "bridge.apw-migration",
6
6
  "address": "0x174a1f4135Fab6e7B6Dbe207fF557DFF14799D33",
7
7
  "kind": "contract",
8
- "status": "unsafe",
8
+ "status": "safe",
9
9
  "tags": [
10
10
  "core",
11
11
  "bridge",
12
12
  "apw-migration",
13
13
  "legacy"
14
- ]
14
+ ],
15
+ "approval": {
16
+ "basis": "prod-baseline",
17
+ "pr": 7,
18
+ "note": "used in production on 2026-10-20: app contracts.ts MIGRATION_BRIDGE_CONTRACT_ADDRESS; sdk contracts.ts MIGRATION_BRIDGE_CONTRACT_ADDRESS"
19
+ }
15
20
  },
16
21
  {
17
22
  "chain": 1,
@@ -28,23 +33,33 @@
28
33
  "key": "bridge.pt-bridge",
29
34
  "address": "0x7E7401a74C7d3ABA87c9a3797162D96503255Add",
30
35
  "kind": "contract",
31
- "status": "unsafe",
36
+ "status": "safe",
32
37
  "tags": [
33
38
  "bridge",
34
39
  "stellar"
35
- ]
40
+ ],
41
+ "approval": {
42
+ "basis": "prod-baseline",
43
+ "pr": 7,
44
+ "note": "used in production on 2026-10-20: app contracts.ts PT_BRIDGE_CONTRACT_ADDRESS"
45
+ }
36
46
  },
37
47
  {
38
48
  "chain": 1,
39
49
  "key": "bridge.spectra-token",
40
50
  "address": "0xBE6271FA207D2cD29C7F9efa90FC725C18560bff",
41
51
  "kind": "contract",
42
- "status": "unsafe",
52
+ "status": "safe",
43
53
  "tags": [
44
54
  "bridge",
45
55
  "layerzero",
46
56
  "core"
47
- ]
57
+ ],
58
+ "approval": {
59
+ "basis": "prod-baseline",
60
+ "pr": 7,
61
+ "note": "used in production on 2026-10-20: app contracts.ts SPECTRA_BRIDGE_CONTRACT_ADDRESS; sdk contracts.ts SPECTRA_BRIDGE_CONTRACT_ADDRESS"
62
+ }
48
63
  },
49
64
  {
50
65
  "chain": 1,
@@ -73,24 +88,34 @@
73
88
  "key": "core.apw-token",
74
89
  "address": "0x4104b135DBC9609Fc1A9490E61369036497660c8",
75
90
  "kind": "contract",
76
- "status": "unsafe",
91
+ "status": "safe",
77
92
  "tags": [
78
93
  "core",
79
94
  "protocol-token",
80
95
  "legacy",
81
96
  "apwine"
82
- ]
97
+ ],
98
+ "approval": {
99
+ "basis": "prod-baseline",
100
+ "pr": 7,
101
+ "note": "used in production on 2026-10-20: app contracts.ts APW_CONTRACT_ADDRESS; sdk contracts.ts APW_CONTRACT_ADDRESS"
102
+ }
83
103
  },
84
104
  {
85
105
  "chain": 1,
86
106
  "key": "core.campaign-manager",
87
107
  "address": "0x38b9B4884a5581E96eD3882AA2f7449BC321786C",
88
108
  "kind": "contract",
89
- "status": "unsafe",
109
+ "status": "safe",
90
110
  "tags": [
91
111
  "core",
92
112
  "rewards"
93
- ]
113
+ ],
114
+ "approval": {
115
+ "basis": "prod-baseline",
116
+ "pr": 7,
117
+ "note": "used in production on 2026-10-20: app contracts.ts CAMPAIGN_MANAGER_CONTRACT_ADDRESS"
118
+ }
94
119
  },
95
120
  {
96
121
  "chain": 1,
@@ -109,11 +134,16 @@
109
134
  "key": "core.curve-liquidity-arbitrage",
110
135
  "address": "0x5adE7C054645B626ad6430515041FD0cbD638480",
111
136
  "kind": "contract",
112
- "status": "unsafe",
137
+ "status": "safe",
113
138
  "tags": [
114
139
  "core",
115
140
  "legacy"
116
- ]
141
+ ],
142
+ "approval": {
143
+ "basis": "prod-baseline",
144
+ "pr": 7,
145
+ "note": "used in production on 2026-10-20: app contracts.ts CURVE_LIQUIDITY_ARBITRAGE_CONTRACT_ADDRESS"
146
+ }
117
147
  },
118
148
  {
119
149
  "chain": 1,
@@ -227,11 +257,16 @@
227
257
  "key": "core.factory",
228
258
  "address": "0xDBE5B6AaC70EeA77C5b59B6c54D8F21DffAA8D84",
229
259
  "kind": "factory",
230
- "status": "unsafe",
260
+ "status": "safe",
231
261
  "tags": [
232
262
  "core"
233
263
  ],
234
- "inherit": true
264
+ "inherit": true,
265
+ "approval": {
266
+ "basis": "prod-baseline",
267
+ "pr": 7,
268
+ "note": "used in production on 2026-10-20: app contracts.ts FACTORY_CONTRACT_ADDRESS; sdk contracts.ts FACTORY_CONTRACT_ADDRESS; factory of 2 live PTs and factory of 2 PTs held in prod portfolios"
269
+ }
235
270
  },
236
271
  {
237
272
  "chain": 1,
@@ -249,11 +284,16 @@
249
284
  "key": "core.factory-legacy",
250
285
  "address": "0xae4d5d5199265512B2a77Ad675107735B891aBc8",
251
286
  "kind": "factory",
252
- "status": "unsafe",
287
+ "status": "safe",
253
288
  "tags": [
254
289
  "core"
255
290
  ],
256
291
  "inherit": true,
292
+ "approval": {
293
+ "basis": "prod-baseline",
294
+ "pr": 7,
295
+ "note": "used in production on 2026-10-20: factory of 5 PTs held in prod portfolios"
296
+ },
257
297
  "notes": "superseded"
258
298
  },
259
299
  {
@@ -284,7 +324,7 @@
284
324
  "key": "core.fee-distributor",
285
325
  "address": "0x354743132e75E417344BcfDDed6a045140556414",
286
326
  "kind": "contract",
287
- "status": "unsafe",
327
+ "status": "safe",
288
328
  "tags": [
289
329
  "core",
290
330
  "governance",
@@ -292,7 +332,12 @@
292
332
  "fee-distributor",
293
333
  "legacy",
294
334
  "rewards"
295
- ]
335
+ ],
336
+ "approval": {
337
+ "basis": "prod-baseline",
338
+ "pr": 7,
339
+ "note": "used in production on 2026-10-20: app contracts.ts FEE_DISTRIBUTOR_CONTRACT_ADDRESS"
340
+ }
296
341
  },
297
342
  {
298
343
  "chain": 1,
@@ -343,11 +388,16 @@
343
388
  "key": "core.rate-oracle-registry",
344
389
  "address": "0xA6D7Cb67622157258B4786f4a3a0241EC4787Fe8",
345
390
  "kind": "contract",
346
- "status": "unsafe",
391
+ "status": "safe",
347
392
  "tags": [
348
393
  "core",
349
394
  "oracle"
350
- ]
395
+ ],
396
+ "approval": {
397
+ "basis": "prod-baseline",
398
+ "pr": 7,
399
+ "note": "used in production on 2026-10-20: sdk contracts.ts RATE_ORACLE_REGISTRY_CONTRACT_ADDRESS"
400
+ }
351
401
  },
352
402
  {
353
403
  "chain": 1,
@@ -376,10 +426,15 @@
376
426
  "key": "core.registry",
377
427
  "address": "0x4973b53b300d64ab72147EFF8C9d962f6b1dA02e",
378
428
  "kind": "contract",
379
- "status": "unsafe",
429
+ "status": "safe",
380
430
  "tags": [
381
431
  "core"
382
- ]
432
+ ],
433
+ "approval": {
434
+ "basis": "prod-baseline",
435
+ "pr": 7,
436
+ "note": "used in production on 2026-10-20: app contracts.ts REGISTRY_CONTRACT_ADDRESS; sdk contracts.ts REGISTRY_CONTRACT_ADDRESS"
437
+ }
383
438
  },
384
439
  {
385
440
  "chain": 1,
@@ -408,10 +463,15 @@
408
463
  "key": "core.router",
409
464
  "address": "0xC03309DE321A4D3df734F5609B80cC731ae28e6D",
410
465
  "kind": "contract",
411
- "status": "unsafe",
466
+ "status": "safe",
412
467
  "tags": [
413
468
  "core"
414
- ]
469
+ ],
470
+ "approval": {
471
+ "basis": "prod-baseline",
472
+ "pr": 7,
473
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_CONTRACT_ADDRESS"
474
+ }
415
475
  },
416
476
  {
417
477
  "chain": 1,
@@ -478,10 +538,15 @@
478
538
  "key": "core.router-utils",
479
539
  "address": "0x22aF2e9e8633e687acC8412FA9A90Ae9EE95F69C",
480
540
  "kind": "contract",
481
- "status": "unsafe",
541
+ "status": "safe",
482
542
  "tags": [
483
543
  "core"
484
- ]
544
+ ],
545
+ "approval": {
546
+ "basis": "prod-baseline",
547
+ "pr": 7,
548
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_UTILS_CONTRACT_ADDRESS"
549
+ }
485
550
  },
486
551
  {
487
552
  "chain": 1,
@@ -500,11 +565,16 @@
500
565
  "key": "core.spectra-token",
501
566
  "address": "0x6a89228055C7C28430692E342F149f37462B478B",
502
567
  "kind": "contract",
503
- "status": "unsafe",
568
+ "status": "safe",
504
569
  "tags": [
505
570
  "core",
506
571
  "protocol-token"
507
- ]
572
+ ],
573
+ "approval": {
574
+ "basis": "prod-baseline",
575
+ "pr": 7,
576
+ "note": "used in production on 2026-10-20: app contracts.ts SPECTRA_CONTRACT_ADDRESS; sdk contracts.ts SPECTRA_CONTRACT_ADDRESS"
577
+ }
508
578
  },
509
579
  {
510
580
  "chain": 1,
@@ -533,14 +603,19 @@
533
603
  "key": "core.voting-escrow",
534
604
  "address": "0xC5ca1EBF6e912E49A6a70Bb0385Ea065061a4F09",
535
605
  "kind": "contract",
536
- "status": "unsafe",
606
+ "status": "safe",
537
607
  "tags": [
538
608
  "core",
539
609
  "governance",
540
610
  "apwine",
541
611
  "legacy",
542
612
  "protocol-token"
543
- ]
613
+ ],
614
+ "approval": {
615
+ "basis": "prod-baseline",
616
+ "pr": 7,
617
+ "note": "used in production on 2026-10-20: app contracts.ts VOTING_ESCROW_CONTRACT_ADDRESS; sdk contracts.ts VOTING_ESCROW_CONTRACT_ADDRESS"
618
+ }
544
619
  },
545
620
  {
546
621
  "chain": 1,
@@ -604,12 +679,17 @@
604
679
  "key": "external.cctp.message-transmitter-v2",
605
680
  "address": "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
606
681
  "kind": "external",
607
- "status": "unsafe",
682
+ "status": "safe",
608
683
  "tags": [
609
684
  "cctp",
610
685
  "external",
611
686
  "bridge"
612
- ]
687
+ ],
688
+ "approval": {
689
+ "basis": "prod-baseline",
690
+ "pr": 7,
691
+ "note": "used in production on 2026-10-20: app contracts.ts CCTP_MESSAGE_TRANSMITTER_V2_ADDRESS"
692
+ }
613
693
  },
614
694
  {
615
695
  "chain": 1,
@@ -916,12 +996,17 @@
916
996
  "key": "external.merkl.distributor",
917
997
  "address": "0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae",
918
998
  "kind": "external",
919
- "status": "unsafe",
999
+ "status": "safe",
920
1000
  "tags": [
921
1001
  "external",
922
1002
  "merkl",
923
1003
  "rewards"
924
- ]
1004
+ ],
1005
+ "approval": {
1006
+ "basis": "prod-baseline",
1007
+ "pr": 7,
1008
+ "note": "used in production on 2026-10-20: app contracts.ts MERKL_DISTRIBUTOR_CONTRACT_ADDRESS"
1009
+ }
925
1010
  },
926
1011
  {
927
1012
  "chain": 1,
@@ -973,12 +1058,17 @@
973
1058
  "key": "external.pendle.router",
974
1059
  "address": "0x888888888889758F76e7103c6CbF23ABbF58F946",
975
1060
  "kind": "external",
976
- "status": "unsafe",
1061
+ "status": "safe",
977
1062
  "tags": [
978
1063
  "external",
979
1064
  "pendle",
980
1065
  "legacy"
981
- ]
1066
+ ],
1067
+ "approval": {
1068
+ "basis": "prod-baseline",
1069
+ "pr": 7,
1070
+ "note": "used in production on 2026-10-20: app constants.ts PENDLE_ROUTER; sdk contracts.ts PENDLE_ROUTER_ADDRESS"
1071
+ }
982
1072
  },
983
1073
  {
984
1074
  "chain": 1,
@@ -996,12 +1086,17 @@
996
1086
  "key": "external.safe.multisend-call-only-v1.4.1",
997
1087
  "address": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2",
998
1088
  "kind": "external",
999
- "status": "unsafe",
1089
+ "status": "safe",
1000
1090
  "tags": [
1001
1091
  "external",
1002
1092
  "safe",
1003
1093
  "metavaults"
1004
- ]
1094
+ ],
1095
+ "approval": {
1096
+ "basis": "prod-baseline",
1097
+ "pr": 7,
1098
+ "note": "used in production on 2026-10-20: app contracts.ts METAVAULTS_MULTISEND_CONTRACT_ADDRESS"
1099
+ }
1005
1100
  },
1006
1101
  {
1007
1102
  "chain": 1,
@@ -1346,11 +1441,16 @@
1346
1441
  "key": "metavaults.factory",
1347
1442
  "address": "0x1A2f799429e3C04B3105faDdfa411d480d951c3c",
1348
1443
  "kind": "factory",
1349
- "status": "unsafe",
1444
+ "status": "safe",
1350
1445
  "tags": [
1351
1446
  "metavaults"
1352
1447
  ],
1353
- "inherit": true
1448
+ "inherit": true,
1449
+ "approval": {
1450
+ "basis": "prod-baseline",
1451
+ "pr": 7,
1452
+ "note": "used in production on 2026-10-20: factory of 3 live MetaVaults"
1453
+ }
1354
1454
  },
1355
1455
  {
1356
1456
  "chain": 1,
@@ -1411,22 +1511,32 @@
1411
1511
  "key": "metavaults.registry-v1",
1412
1512
  "address": "0x16b28223b607B4D90e2eC628fdC1a0AD9Ee1f6B8",
1413
1513
  "kind": "contract",
1414
- "status": "unsafe",
1514
+ "status": "safe",
1415
1515
  "tags": [
1416
1516
  "metavaults",
1417
1517
  "legacy-config"
1418
- ]
1518
+ ],
1519
+ "approval": {
1520
+ "basis": "prod-baseline",
1521
+ "pr": 7,
1522
+ "note": "used in production on 2026-10-20: app contracts.ts METAVAULT_REGISTRY_CONTRACT_ADDRESS"
1523
+ }
1419
1524
  },
1420
1525
  {
1421
1526
  "chain": 1,
1422
1527
  "key": "metavaults.registry-v2",
1423
1528
  "address": "0xe3B7aa1be119f4885539BDa66ab1F379D86e42a7",
1424
1529
  "kind": "contract",
1425
- "status": "unsafe",
1530
+ "status": "safe",
1426
1531
  "tags": [
1427
1532
  "metavaults",
1428
1533
  "registry"
1429
- ]
1534
+ ],
1535
+ "approval": {
1536
+ "basis": "prod-baseline",
1537
+ "pr": 7,
1538
+ "note": "used in production on 2026-10-20: sdk contracts.ts METAVAULTS_REGISTRY_V2_ADDRESS"
1539
+ }
1430
1540
  },
1431
1541
  {
1432
1542
  "chain": 1,
@@ -1520,11 +1630,16 @@
1520
1630
  "key": "metavaults.zap-pool",
1521
1631
  "address": "0x0064be65c84712fae8c2fa6A257Fe9CD9c7B0CA5",
1522
1632
  "kind": "contract",
1523
- "status": "unsafe",
1633
+ "status": "safe",
1524
1634
  "tags": [
1525
1635
  "metavaults",
1526
1636
  "zap"
1527
- ]
1637
+ ],
1638
+ "approval": {
1639
+ "basis": "prod-baseline",
1640
+ "pr": 7,
1641
+ "note": "used in production on 2026-10-20: app contracts.ts metavaultZapLiquidity"
1642
+ }
1528
1643
  },
1529
1644
  {
1530
1645
  "chain": 1,
@@ -1554,11 +1669,16 @@
1554
1669
  "key": "metavaults.zap-pt",
1555
1670
  "address": "0xdB895a806d6A46d74a817441f1baa7DDb055Bac5",
1556
1671
  "kind": "contract",
1557
- "status": "unsafe",
1672
+ "status": "safe",
1558
1673
  "tags": [
1559
1674
  "metavaults",
1560
1675
  "zap"
1561
- ]
1676
+ ],
1677
+ "approval": {
1678
+ "basis": "prod-baseline",
1679
+ "pr": 7,
1680
+ "note": "used in production on 2026-10-20: app contracts.ts metavaultZapPt"
1681
+ }
1562
1682
  },
1563
1683
  {
1564
1684
  "chain": 1,
@@ -2073,25 +2193,35 @@
2073
2193
  "key": "bridge.apw-migration",
2074
2194
  "address": "0xC4Dc44837CAf8A53Bb5fBcd4Be42089CA03a37F1",
2075
2195
  "kind": "contract",
2076
- "status": "unsafe",
2196
+ "status": "safe",
2077
2197
  "tags": [
2078
2198
  "core",
2079
2199
  "bridge",
2080
2200
  "apw-migration",
2081
2201
  "legacy"
2082
- ]
2202
+ ],
2203
+ "approval": {
2204
+ "basis": "prod-baseline",
2205
+ "pr": 7,
2206
+ "note": "used in production on 2026-10-20: app contracts.ts MIGRATION_BRIDGE_CONTRACT_ADDRESS; sdk contracts.ts MIGRATION_BRIDGE_CONTRACT_ADDRESS"
2207
+ }
2083
2208
  },
2084
2209
  {
2085
2210
  "chain": 10,
2086
2211
  "key": "bridge.spectra-token",
2087
2212
  "address": "0x64F20bA249ED4369b029d257c77F5818F7B3F6ED",
2088
2213
  "kind": "contract",
2089
- "status": "unsafe",
2214
+ "status": "safe",
2090
2215
  "tags": [
2091
2216
  "bridge",
2092
2217
  "layerzero",
2093
2218
  "core"
2094
- ]
2219
+ ],
2220
+ "approval": {
2221
+ "basis": "prod-baseline",
2222
+ "pr": 7,
2223
+ "note": "used in production on 2026-10-20: app contracts.ts SPECTRA_BRIDGE_CONTRACT_ADDRESS; sdk contracts.ts SPECTRA_BRIDGE_CONTRACT_ADDRESS"
2224
+ }
2095
2225
  },
2096
2226
  {
2097
2227
  "chain": 10,
@@ -2109,23 +2239,33 @@
2109
2239
  "key": "core.apw-token",
2110
2240
  "address": "0x92A2a0D39Da80e1Fa21AfDEbdD87C4F975ADf9f0",
2111
2241
  "kind": "contract",
2112
- "status": "unsafe",
2242
+ "status": "safe",
2113
2243
  "tags": [
2114
2244
  "core",
2115
2245
  "protocol-token",
2116
2246
  "legacy"
2117
- ]
2247
+ ],
2248
+ "approval": {
2249
+ "basis": "prod-baseline",
2250
+ "pr": 7,
2251
+ "note": "used in production on 2026-10-20: app contracts.ts APW_CONTRACT_ADDRESS; sdk contracts.ts APW_CONTRACT_ADDRESS"
2252
+ }
2118
2253
  },
2119
2254
  {
2120
2255
  "chain": 10,
2121
2256
  "key": "core.campaign-manager",
2122
2257
  "address": "0xACfEE9a21Fc48040F12793bd5A478dd155AC04FD",
2123
2258
  "kind": "contract",
2124
- "status": "unsafe",
2259
+ "status": "safe",
2125
2260
  "tags": [
2126
2261
  "core",
2127
2262
  "rewards"
2128
- ]
2263
+ ],
2264
+ "approval": {
2265
+ "basis": "prod-baseline",
2266
+ "pr": 7,
2267
+ "note": "used in production on 2026-10-20: app contracts.ts CAMPAIGN_MANAGER_CONTRACT_ADDRESS"
2268
+ }
2129
2269
  },
2130
2270
  {
2131
2271
  "chain": 10,
@@ -2155,10 +2295,15 @@
2155
2295
  "key": "core.curve-liquidity-arbitrage",
2156
2296
  "address": "0x6dfEfFB526C13c7786219c74F77Ecd17E1F6A111",
2157
2297
  "kind": "contract",
2158
- "status": "unsafe",
2298
+ "status": "safe",
2159
2299
  "tags": [
2160
2300
  "core"
2161
- ]
2301
+ ],
2302
+ "approval": {
2303
+ "basis": "prod-baseline",
2304
+ "pr": 7,
2305
+ "note": "used in production on 2026-10-20: app contracts.ts CURVE_LIQUIDITY_ARBITRAGE_CONTRACT_ADDRESS"
2306
+ }
2162
2307
  },
2163
2308
  {
2164
2309
  "chain": 10,
@@ -2272,11 +2417,16 @@
2272
2417
  "key": "core.factory",
2273
2418
  "address": "0x3945ce79F528906c232c6834D00c8F6A218b8BF5",
2274
2419
  "kind": "factory",
2275
- "status": "unsafe",
2420
+ "status": "safe",
2276
2421
  "tags": [
2277
2422
  "core"
2278
2423
  ],
2279
- "inherit": true
2424
+ "inherit": true,
2425
+ "approval": {
2426
+ "basis": "prod-baseline",
2427
+ "pr": 7,
2428
+ "note": "used in production on 2026-10-20: app contracts.ts FACTORY_CONTRACT_ADDRESS; sdk contracts.ts FACTORY_CONTRACT_ADDRESS"
2429
+ }
2280
2430
  },
2281
2431
  {
2282
2432
  "chain": 10,
@@ -2294,11 +2444,16 @@
2294
2444
  "key": "core.factory-legacy",
2295
2445
  "address": "0x9c594C2e2e2e5aa300be12596215188C324c3E7c",
2296
2446
  "kind": "factory",
2297
- "status": "unsafe",
2447
+ "status": "safe",
2298
2448
  "tags": [
2299
2449
  "core"
2300
2450
  ],
2301
2451
  "inherit": true,
2452
+ "approval": {
2453
+ "basis": "prod-baseline",
2454
+ "pr": 7,
2455
+ "note": "used in production on 2026-10-20: factory of 1 PTs held in prod portfolios"
2456
+ },
2302
2457
  "notes": "superseded"
2303
2458
  },
2304
2459
  {
@@ -2405,11 +2560,16 @@
2405
2560
  "key": "core.rate-oracle-registry",
2406
2561
  "address": "0x765883c6Be92eC43b319d0886F3504E4fA81CCe1",
2407
2562
  "kind": "contract",
2408
- "status": "unsafe",
2563
+ "status": "safe",
2409
2564
  "tags": [
2410
2565
  "core",
2411
2566
  "oracle"
2412
- ]
2567
+ ],
2568
+ "approval": {
2569
+ "basis": "prod-baseline",
2570
+ "pr": 7,
2571
+ "note": "used in production on 2026-10-20: sdk contracts.ts RATE_ORACLE_REGISTRY_CONTRACT_ADDRESS"
2572
+ }
2413
2573
  },
2414
2574
  {
2415
2575
  "chain": 10,
@@ -2438,10 +2598,15 @@
2438
2598
  "key": "core.registry",
2439
2599
  "address": "0x0458c078fCf527DA293Ec9e813a0DcAF9F949EB1",
2440
2600
  "kind": "contract",
2441
- "status": "unsafe",
2601
+ "status": "safe",
2442
2602
  "tags": [
2443
2603
  "core"
2444
- ]
2604
+ ],
2605
+ "approval": {
2606
+ "basis": "prod-baseline",
2607
+ "pr": 7,
2608
+ "note": "used in production on 2026-10-20: app contracts.ts REGISTRY_CONTRACT_ADDRESS; sdk contracts.ts REGISTRY_CONTRACT_ADDRESS"
2609
+ }
2445
2610
  },
2446
2611
  {
2447
2612
  "chain": 10,
@@ -2470,10 +2635,15 @@
2470
2635
  "key": "core.router",
2471
2636
  "address": "0x8A92294ffCFe469a3DF4A85c76a0B0d2B3292119",
2472
2637
  "kind": "contract",
2473
- "status": "unsafe",
2638
+ "status": "safe",
2474
2639
  "tags": [
2475
2640
  "core"
2476
- ]
2641
+ ],
2642
+ "approval": {
2643
+ "basis": "prod-baseline",
2644
+ "pr": 7,
2645
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_CONTRACT_ADDRESS"
2646
+ }
2477
2647
  },
2478
2648
  {
2479
2649
  "chain": 10,
@@ -2540,10 +2710,15 @@
2540
2710
  "key": "core.router-utils",
2541
2711
  "address": "0x2811B38F354d317716C0D35C3Cfb9825b6BAC642",
2542
2712
  "kind": "contract",
2543
- "status": "unsafe",
2713
+ "status": "safe",
2544
2714
  "tags": [
2545
2715
  "core"
2546
- ]
2716
+ ],
2717
+ "approval": {
2718
+ "basis": "prod-baseline",
2719
+ "pr": 7,
2720
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_UTILS_CONTRACT_ADDRESS"
2721
+ }
2547
2722
  },
2548
2723
  {
2549
2724
  "chain": 10,
@@ -2562,11 +2737,16 @@
2562
2737
  "key": "core.spectra-token",
2563
2738
  "address": "0x248f43B622cE2F35A14dB3FC528284730b619cD5",
2564
2739
  "kind": "contract",
2565
- "status": "unsafe",
2740
+ "status": "safe",
2566
2741
  "tags": [
2567
2742
  "core",
2568
2743
  "protocol-token"
2569
- ]
2744
+ ],
2745
+ "approval": {
2746
+ "basis": "prod-baseline",
2747
+ "pr": 7,
2748
+ "note": "used in production on 2026-10-20: app contracts.ts SPECTRA_CONTRACT_ADDRESS; sdk contracts.ts SPECTRA_CONTRACT_ADDRESS"
2749
+ }
2570
2750
  },
2571
2751
  {
2572
2752
  "chain": 10,
@@ -2630,12 +2810,17 @@
2630
2810
  "key": "external.cctp.message-transmitter-v2",
2631
2811
  "address": "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
2632
2812
  "kind": "external",
2633
- "status": "unsafe",
2813
+ "status": "safe",
2634
2814
  "tags": [
2635
2815
  "cctp",
2636
2816
  "external",
2637
2817
  "bridge"
2638
- ]
2818
+ ],
2819
+ "approval": {
2820
+ "basis": "prod-baseline",
2821
+ "pr": 7,
2822
+ "note": "used in production on 2026-10-20: app contracts.ts CCTP_MESSAGE_TRANSMITTER_V2_ADDRESS"
2823
+ }
2639
2824
  },
2640
2825
  {
2641
2826
  "chain": 10,
@@ -2750,12 +2935,17 @@
2750
2935
  "key": "external.merkl.distributor",
2751
2936
  "address": "0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae",
2752
2937
  "kind": "external",
2753
- "status": "unsafe",
2938
+ "status": "safe",
2754
2939
  "tags": [
2755
2940
  "external",
2756
2941
  "merkl",
2757
2942
  "rewards"
2758
- ]
2943
+ ],
2944
+ "approval": {
2945
+ "basis": "prod-baseline",
2946
+ "pr": 7,
2947
+ "note": "used in production on 2026-10-20: app contracts.ts MERKL_DISTRIBUTOR_CONTRACT_ADDRESS"
2948
+ }
2759
2949
  },
2760
2950
  {
2761
2951
  "chain": 10,
@@ -3216,10 +3406,15 @@
3216
3406
  "key": "core.curve-liquidity-arbitrage",
3217
3407
  "address": "0x392fca63e58C1870fBeC04Eb6518A75703Dd2954",
3218
3408
  "kind": "contract",
3219
- "status": "unsafe",
3409
+ "status": "safe",
3220
3410
  "tags": [
3221
3411
  "core"
3222
- ]
3412
+ ],
3413
+ "approval": {
3414
+ "basis": "prod-baseline",
3415
+ "pr": 7,
3416
+ "note": "used in production on 2026-10-20: app contracts.ts CURVE_LIQUIDITY_ARBITRAGE_CONTRACT_ADDRESS"
3417
+ }
3223
3418
  },
3224
3419
  {
3225
3420
  "chain": 14,
@@ -3287,11 +3482,16 @@
3287
3482
  "key": "core.factory",
3288
3483
  "address": "0x5c86800DFC65CA3e3A062FeEEE4d867C92771b95",
3289
3484
  "kind": "factory",
3290
- "status": "unsafe",
3485
+ "status": "safe",
3291
3486
  "tags": [
3292
3487
  "core"
3293
3488
  ],
3294
- "inherit": true
3489
+ "inherit": true,
3490
+ "approval": {
3491
+ "basis": "prod-baseline",
3492
+ "pr": 7,
3493
+ "note": "used in production on 2026-10-20: app contracts.ts FACTORY_CONTRACT_ADDRESS; sdk contracts.ts FACTORY_CONTRACT_ADDRESS; factory of 16 live PTs and factory of 15 PTs held in prod portfolios"
3494
+ }
3295
3495
  },
3296
3496
  {
3297
3497
  "chain": 14,
@@ -3375,11 +3575,16 @@
3375
3575
  "key": "core.rate-oracle-registry",
3376
3576
  "address": "0x12469181ec01F1774388290aa039A91467eC6d52",
3377
3577
  "kind": "contract",
3378
- "status": "unsafe",
3578
+ "status": "safe",
3379
3579
  "tags": [
3380
3580
  "core",
3381
3581
  "oracle"
3382
- ]
3582
+ ],
3583
+ "approval": {
3584
+ "basis": "prod-baseline",
3585
+ "pr": 7,
3586
+ "note": "used in production on 2026-10-20: sdk contracts.ts RATE_ORACLE_REGISTRY_CONTRACT_ADDRESS"
3587
+ }
3383
3588
  },
3384
3589
  {
3385
3590
  "chain": 14,
@@ -3408,10 +3613,15 @@
3408
3613
  "key": "core.registry",
3409
3614
  "address": "0x3Da466F5be8024405a366538Ed7949b4CE9F015D",
3410
3615
  "kind": "contract",
3411
- "status": "unsafe",
3616
+ "status": "safe",
3412
3617
  "tags": [
3413
3618
  "core"
3414
- ]
3619
+ ],
3620
+ "approval": {
3621
+ "basis": "prod-baseline",
3622
+ "pr": 7,
3623
+ "note": "used in production on 2026-10-20: app contracts.ts REGISTRY_CONTRACT_ADDRESS; sdk contracts.ts REGISTRY_CONTRACT_ADDRESS"
3624
+ }
3415
3625
  },
3416
3626
  {
3417
3627
  "chain": 14,
@@ -3440,10 +3650,15 @@
3440
3650
  "key": "core.router",
3441
3651
  "address": "0x03E2eC137c6aB82978D52eDB7b504ad2DEb13F96",
3442
3652
  "kind": "contract",
3443
- "status": "unsafe",
3653
+ "status": "safe",
3444
3654
  "tags": [
3445
3655
  "core"
3446
- ]
3656
+ ],
3657
+ "approval": {
3658
+ "basis": "prod-baseline",
3659
+ "pr": 7,
3660
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_CONTRACT_ADDRESS"
3661
+ }
3447
3662
  },
3448
3663
  {
3449
3664
  "chain": 14,
@@ -3472,10 +3687,15 @@
3472
3687
  "key": "core.router-utils",
3473
3688
  "address": "0x15E4F4d96263A237111e9b418EFD5AF66A303bC7",
3474
3689
  "kind": "contract",
3475
- "status": "unsafe",
3690
+ "status": "safe",
3476
3691
  "tags": [
3477
3692
  "core"
3478
- ]
3693
+ ],
3694
+ "approval": {
3695
+ "basis": "prod-baseline",
3696
+ "pr": 7,
3697
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_UTILS_CONTRACT_ADDRESS"
3698
+ }
3479
3699
  },
3480
3700
  {
3481
3701
  "chain": 14,
@@ -3504,11 +3724,16 @@
3504
3724
  "key": "core.spectra-token",
3505
3725
  "address": "0x5390d7C6B8139Ae9D255Ed9e7ae6274e18032AbE",
3506
3726
  "kind": "contract",
3507
- "status": "unsafe",
3727
+ "status": "safe",
3508
3728
  "tags": [
3509
3729
  "core",
3510
3730
  "protocol-token"
3511
- ]
3731
+ ],
3732
+ "approval": {
3733
+ "basis": "prod-baseline",
3734
+ "pr": 7,
3735
+ "note": "used in production on 2026-10-20: app contracts.ts SPECTRA_CONTRACT_ADDRESS; sdk contracts.ts SPECTRA_CONTRACT_ADDRESS"
3736
+ }
3512
3737
  },
3513
3738
  {
3514
3739
  "chain": 14,
@@ -3609,24 +3834,34 @@
3609
3834
  "key": "external.flare.wnat",
3610
3835
  "address": "0x1D80c49BbBCd1C0911346656B529DF9E5c2F783d",
3611
3836
  "kind": "external",
3612
- "status": "unsafe",
3837
+ "status": "safe",
3613
3838
  "tags": [
3614
3839
  "external",
3615
3840
  "flare",
3616
3841
  "possible-token"
3617
- ]
3842
+ ],
3843
+ "approval": {
3844
+ "basis": "prod-baseline",
3845
+ "pr": 7,
3846
+ "note": "used in production on 2026-10-20: app RewardsFlarePage.tsx (hardcoded, also in the prod bundle)"
3847
+ }
3618
3848
  },
3619
3849
  {
3620
3850
  "chain": 14,
3621
3851
  "key": "external.merkl.distributor",
3622
3852
  "address": "0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae",
3623
3853
  "kind": "external",
3624
- "status": "unsafe",
3854
+ "status": "safe",
3625
3855
  "tags": [
3626
3856
  "external",
3627
3857
  "merkl",
3628
3858
  "rewards"
3629
- ]
3859
+ ],
3860
+ "approval": {
3861
+ "basis": "prod-baseline",
3862
+ "pr": 7,
3863
+ "note": "used in production on 2026-10-20: app contracts.ts MERKL_DISTRIBUTOR_CONTRACT_ADDRESS"
3864
+ }
3630
3865
  },
3631
3866
  {
3632
3867
  "chain": 14,
@@ -3656,12 +3891,17 @@
3656
3891
  "key": "external.safe.multisend-call-only-v1.4.1",
3657
3892
  "address": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2",
3658
3893
  "kind": "external",
3659
- "status": "unsafe",
3894
+ "status": "safe",
3660
3895
  "tags": [
3661
3896
  "external",
3662
3897
  "safe",
3663
3898
  "metavaults"
3664
- ]
3899
+ ],
3900
+ "approval": {
3901
+ "basis": "prod-baseline",
3902
+ "pr": 7,
3903
+ "note": "used in production on 2026-10-20: app contracts.ts METAVAULTS_MULTISEND_CONTRACT_ADDRESS"
3904
+ }
3665
3905
  },
3666
3906
  {
3667
3907
  "chain": 14,
@@ -3872,22 +4112,32 @@
3872
4112
  "key": "metavaults.deposit-forwarder",
3873
4113
  "address": "0x31B9Dd7218834C88BbF571692fF125Bc327EA2e4",
3874
4114
  "kind": "contract",
3875
- "status": "unsafe",
4115
+ "status": "safe",
3876
4116
  "tags": [
3877
4117
  "metavaults",
3878
4118
  "crosschain"
3879
- ]
4119
+ ],
4120
+ "approval": {
4121
+ "basis": "prod-baseline",
4122
+ "pr": 7,
4123
+ "note": "used in production on 2026-10-20: app index.ts DEPOSIT_FORWARDER_ADDRESS"
4124
+ }
3880
4125
  },
3881
4126
  {
3882
4127
  "chain": 14,
3883
4128
  "key": "metavaults.factory",
3884
4129
  "address": "0x6755Ed4DfF0fC3E95877986e437E6aAC8F0BC0dD",
3885
4130
  "kind": "factory",
3886
- "status": "unsafe",
4131
+ "status": "safe",
3887
4132
  "tags": [
3888
4133
  "metavaults"
3889
4134
  ],
3890
- "inherit": true
4135
+ "inherit": true,
4136
+ "approval": {
4137
+ "basis": "prod-baseline",
4138
+ "pr": 7,
4139
+ "note": "used in production on 2026-10-20: factory of 1 live MetaVault"
4140
+ }
3891
4141
  },
3892
4142
  {
3893
4143
  "chain": 14,
@@ -3938,22 +4188,32 @@
3938
4188
  "key": "metavaults.registry-v1",
3939
4189
  "address": "0x2154A519D08Bfd3F6E0303Fd3AC0511c58424bbE",
3940
4190
  "kind": "contract",
3941
- "status": "unsafe",
4191
+ "status": "safe",
3942
4192
  "tags": [
3943
4193
  "metavaults",
3944
4194
  "legacy-config"
3945
- ]
4195
+ ],
4196
+ "approval": {
4197
+ "basis": "prod-baseline",
4198
+ "pr": 7,
4199
+ "note": "used in production on 2026-10-20: app contracts.ts METAVAULT_REGISTRY_CONTRACT_ADDRESS"
4200
+ }
3946
4201
  },
3947
4202
  {
3948
4203
  "chain": 14,
3949
4204
  "key": "metavaults.registry-v2",
3950
4205
  "address": "0xbB676B1400eb7E5f823756835d488E63EA4676C3",
3951
4206
  "kind": "contract",
3952
- "status": "unsafe",
4207
+ "status": "safe",
3953
4208
  "tags": [
3954
4209
  "metavaults",
3955
4210
  "registry"
3956
- ]
4211
+ ],
4212
+ "approval": {
4213
+ "basis": "prod-baseline",
4214
+ "pr": 7,
4215
+ "note": "used in production on 2026-10-20: sdk contracts.ts METAVAULTS_REGISTRY_V2_ADDRESS"
4216
+ }
3957
4217
  },
3958
4218
  {
3959
4219
  "chain": 14,
@@ -4080,11 +4340,16 @@
4080
4340
  "key": "metavaults.zap-pool",
4081
4341
  "address": "0x11900F417357c947639cC059Da116D2cb2F1289c",
4082
4342
  "kind": "contract",
4083
- "status": "unsafe",
4343
+ "status": "safe",
4084
4344
  "tags": [
4085
4345
  "metavaults",
4086
4346
  "zap"
4087
- ]
4347
+ ],
4348
+ "approval": {
4349
+ "basis": "prod-baseline",
4350
+ "pr": 7,
4351
+ "note": "used in production on 2026-10-20: app contracts.ts metavaultZapLiquidity"
4352
+ }
4088
4353
  },
4089
4354
  {
4090
4355
  "chain": 14,
@@ -4114,11 +4379,16 @@
4114
4379
  "key": "metavaults.zap-pt",
4115
4380
  "address": "0xDfcFdFE5E87B953441Fc69C68998Cc0094f8d5A4",
4116
4381
  "kind": "contract",
4117
- "status": "unsafe",
4382
+ "status": "safe",
4118
4383
  "tags": [
4119
4384
  "metavaults",
4120
4385
  "zap"
4121
- ]
4386
+ ],
4387
+ "approval": {
4388
+ "basis": "prod-baseline",
4389
+ "pr": 7,
4390
+ "note": "used in production on 2026-10-20: app contracts.ts metavaultZapPt"
4391
+ }
4122
4392
  },
4123
4393
  {
4124
4394
  "chain": 14,
@@ -4540,12 +4810,17 @@
4540
4810
  "key": "bridge.spectra-token",
4541
4811
  "address": "0x1C77c5B76f02eD1538D5Af95A3B1f88e55178D2f",
4542
4812
  "kind": "contract",
4543
- "status": "unsafe",
4813
+ "status": "safe",
4544
4814
  "tags": [
4545
4815
  "bridge",
4546
4816
  "layerzero",
4547
4817
  "core"
4548
- ]
4818
+ ],
4819
+ "approval": {
4820
+ "basis": "prod-baseline",
4821
+ "pr": 7,
4822
+ "note": "used in production on 2026-10-20: app contracts.ts SPECTRA_BRIDGE_CONTRACT_ADDRESS; sdk contracts.ts SPECTRA_BRIDGE_CONTRACT_ADDRESS"
4823
+ }
4549
4824
  },
4550
4825
  {
4551
4826
  "chain": 56,
@@ -4607,10 +4882,15 @@
4607
4882
  "key": "core.curve-liquidity-arbitrage",
4608
4883
  "address": "0x5390d7C6B8139Ae9D255Ed9e7ae6274e18032AbE",
4609
4884
  "kind": "contract",
4610
- "status": "unsafe",
4885
+ "status": "safe",
4611
4886
  "tags": [
4612
4887
  "core"
4613
- ]
4888
+ ],
4889
+ "approval": {
4890
+ "basis": "prod-baseline",
4891
+ "pr": 7,
4892
+ "note": "used in production on 2026-10-20: app contracts.ts CURVE_LIQUIDITY_ARBITRAGE_CONTRACT_ADDRESS"
4893
+ }
4614
4894
  },
4615
4895
  {
4616
4896
  "chain": 56,
@@ -4724,11 +5004,16 @@
4724
5004
  "key": "core.factory",
4725
5005
  "address": "0x64FCC3A02eeEba05Ef701b7eed066c6ebD5d4E51",
4726
5006
  "kind": "factory",
4727
- "status": "unsafe",
5007
+ "status": "safe",
4728
5008
  "tags": [
4729
5009
  "core"
4730
5010
  ],
4731
- "inherit": true
5011
+ "inherit": true,
5012
+ "approval": {
5013
+ "basis": "prod-baseline",
5014
+ "pr": 7,
5015
+ "note": "used in production on 2026-10-20: app contracts.ts FACTORY_CONTRACT_ADDRESS; sdk contracts.ts FACTORY_CONTRACT_ADDRESS; factory of 1 live PT and factory of 1 PTs held in prod portfolios"
5016
+ }
4732
5017
  },
4733
5018
  {
4734
5019
  "chain": 56,
@@ -4851,11 +5136,16 @@
4851
5136
  "key": "core.rate-oracle-registry",
4852
5137
  "address": "0x248f43B622cE2F35A14dB3FC528284730b619cD5",
4853
5138
  "kind": "contract",
4854
- "status": "unsafe",
5139
+ "status": "safe",
4855
5140
  "tags": [
4856
5141
  "core",
4857
5142
  "oracle"
4858
- ]
5143
+ ],
5144
+ "approval": {
5145
+ "basis": "prod-baseline",
5146
+ "pr": 7,
5147
+ "note": "used in production on 2026-10-20: sdk contracts.ts RATE_ORACLE_REGISTRY_CONTRACT_ADDRESS"
5148
+ }
4859
5149
  },
4860
5150
  {
4861
5151
  "chain": 56,
@@ -4884,10 +5174,15 @@
4884
5174
  "key": "core.registry",
4885
5175
  "address": "0x786Da12e9836a9ff9b7d92e8bac1C849e2ACe378",
4886
5176
  "kind": "contract",
4887
- "status": "unsafe",
5177
+ "status": "safe",
4888
5178
  "tags": [
4889
5179
  "core"
4890
- ]
5180
+ ],
5181
+ "approval": {
5182
+ "basis": "prod-baseline",
5183
+ "pr": 7,
5184
+ "note": "used in production on 2026-10-20: app contracts.ts REGISTRY_CONTRACT_ADDRESS; sdk contracts.ts REGISTRY_CONTRACT_ADDRESS"
5185
+ }
4891
5186
  },
4892
5187
  {
4893
5188
  "chain": 56,
@@ -4916,10 +5211,15 @@
4916
5211
  "key": "core.router",
4917
5212
  "address": "0x8A92294ffCFe469a3DF4A85c76a0B0d2B3292119",
4918
5213
  "kind": "contract",
4919
- "status": "unsafe",
5214
+ "status": "safe",
4920
5215
  "tags": [
4921
5216
  "core"
4922
- ]
5217
+ ],
5218
+ "approval": {
5219
+ "basis": "prod-baseline",
5220
+ "pr": 7,
5221
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_CONTRACT_ADDRESS"
5222
+ }
4923
5223
  },
4924
5224
  {
4925
5225
  "chain": 56,
@@ -4986,10 +5286,15 @@
4986
5286
  "key": "core.router-utils",
4987
5287
  "address": "0x2811B38F354d317716C0D35C3Cfb9825b6BAC642",
4988
5288
  "kind": "contract",
4989
- "status": "unsafe",
5289
+ "status": "safe",
4990
5290
  "tags": [
4991
5291
  "core"
4992
- ]
5292
+ ],
5293
+ "approval": {
5294
+ "basis": "prod-baseline",
5295
+ "pr": 7,
5296
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_UTILS_CONTRACT_ADDRESS"
5297
+ }
4993
5298
  },
4994
5299
  {
4995
5300
  "chain": 56,
@@ -5030,11 +5335,16 @@
5030
5335
  "key": "core.spectra-token",
5031
5336
  "address": "0x4baB31D6c557F8285eccB5167095147a36D9BaFa",
5032
5337
  "kind": "contract",
5033
- "status": "unsafe",
5338
+ "status": "safe",
5034
5339
  "tags": [
5035
5340
  "core",
5036
5341
  "protocol-token"
5037
- ]
5342
+ ],
5343
+ "approval": {
5344
+ "basis": "prod-baseline",
5345
+ "pr": 7,
5346
+ "note": "used in production on 2026-10-20: app contracts.ts SPECTRA_CONTRACT_ADDRESS; sdk contracts.ts SPECTRA_CONTRACT_ADDRESS"
5347
+ }
5038
5348
  },
5039
5349
  {
5040
5350
  "chain": 56,
@@ -5110,12 +5420,17 @@
5110
5420
  "key": "external.cctp.message-transmitter-v2",
5111
5421
  "address": "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
5112
5422
  "kind": "external",
5113
- "status": "unsafe",
5423
+ "status": "safe",
5114
5424
  "tags": [
5115
5425
  "cctp",
5116
5426
  "external",
5117
5427
  "bridge"
5118
- ]
5428
+ ],
5429
+ "approval": {
5430
+ "basis": "prod-baseline",
5431
+ "pr": 7,
5432
+ "note": "used in production on 2026-10-20: app contracts.ts CCTP_MESSAGE_TRANSMITTER_V2_ADDRESS"
5433
+ }
5119
5434
  },
5120
5435
  {
5121
5436
  "chain": 56,
@@ -5230,11 +5545,16 @@
5230
5545
  "key": "external.merkl.distributor",
5231
5546
  "address": "0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae",
5232
5547
  "kind": "external",
5233
- "status": "unsafe",
5548
+ "status": "safe",
5234
5549
  "tags": [
5235
5550
  "external",
5236
5551
  "rewards"
5237
- ]
5552
+ ],
5553
+ "approval": {
5554
+ "basis": "prod-baseline",
5555
+ "pr": 7,
5556
+ "note": "used in production on 2026-10-20: app contracts.ts MERKL_DISTRIBUTOR_CONTRACT_ADDRESS"
5557
+ }
5238
5558
  },
5239
5559
  {
5240
5560
  "chain": 56,
@@ -5663,12 +5983,17 @@
5663
5983
  "key": "bridge.spectra-token",
5664
5984
  "address": "0x4DD254CC17A466dD8e850F68B9f9F1711390f992",
5665
5985
  "kind": "contract",
5666
- "status": "unsafe",
5986
+ "status": "safe",
5667
5987
  "tags": [
5668
5988
  "core",
5669
5989
  "bridge",
5670
5990
  "layerzero"
5671
- ]
5991
+ ],
5992
+ "approval": {
5993
+ "basis": "prod-baseline",
5994
+ "pr": 7,
5995
+ "note": "used in production on 2026-10-20: app contracts.ts SPECTRA_BRIDGE_CONTRACT_ADDRESS; sdk contracts.ts SPECTRA_BRIDGE_CONTRACT_ADDRESS"
5996
+ }
5672
5997
  },
5673
5998
  {
5674
5999
  "chain": 143,
@@ -5688,10 +6013,15 @@
5688
6013
  "key": "core.curve-liquidity-arbitrage",
5689
6014
  "address": "0x765883c6Be92eC43b319d0886F3504E4fA81CCe1",
5690
6015
  "kind": "contract",
5691
- "status": "unsafe",
6016
+ "status": "safe",
5692
6017
  "tags": [
5693
6018
  "core"
5694
- ]
6019
+ ],
6020
+ "approval": {
6021
+ "basis": "prod-baseline",
6022
+ "pr": 7,
6023
+ "note": "used in production on 2026-10-20: app contracts.ts CURVE_LIQUIDITY_ARBITRAGE_CONTRACT_ADDRESS"
6024
+ }
5695
6025
  },
5696
6026
  {
5697
6027
  "chain": 143,
@@ -5759,11 +6089,16 @@
5759
6089
  "key": "core.factory",
5760
6090
  "address": "0x6cbA8213DeeAFe86FFb38f295Edd5625CAe4dd05",
5761
6091
  "kind": "factory",
5762
- "status": "unsafe",
6092
+ "status": "safe",
5763
6093
  "tags": [
5764
6094
  "core"
5765
6095
  ],
5766
- "inherit": true
6096
+ "inherit": true,
6097
+ "approval": {
6098
+ "basis": "prod-baseline",
6099
+ "pr": 7,
6100
+ "note": "used in production on 2026-10-20: app contracts.ts FACTORY_CONTRACT_ADDRESS; sdk contracts.ts FACTORY_CONTRACT_ADDRESS"
6101
+ }
5767
6102
  },
5768
6103
  {
5769
6104
  "chain": 143,
@@ -5836,11 +6171,16 @@
5836
6171
  "key": "core.rate-oracle-registry",
5837
6172
  "address": "0x64FCC3A02eeEba05Ef701b7eed066c6ebD5d4E51",
5838
6173
  "kind": "contract",
5839
- "status": "unsafe",
6174
+ "status": "safe",
5840
6175
  "tags": [
5841
6176
  "core",
5842
6177
  "oracle"
5843
- ]
6178
+ ],
6179
+ "approval": {
6180
+ "basis": "prod-baseline",
6181
+ "pr": 7,
6182
+ "note": "used in production on 2026-10-20: sdk contracts.ts RATE_ORACLE_REGISTRY_CONTRACT_ADDRESS"
6183
+ }
5844
6184
  },
5845
6185
  {
5846
6186
  "chain": 143,
@@ -5869,10 +6209,15 @@
5869
6209
  "key": "core.registry",
5870
6210
  "address": "0x838e863044337C2083f89C2D1A0678685D7592F4",
5871
6211
  "kind": "contract",
5872
- "status": "unsafe",
6212
+ "status": "safe",
5873
6213
  "tags": [
5874
6214
  "core"
5875
- ]
6215
+ ],
6216
+ "approval": {
6217
+ "basis": "prod-baseline",
6218
+ "pr": 7,
6219
+ "note": "used in production on 2026-10-20: app contracts.ts REGISTRY_CONTRACT_ADDRESS; sdk contracts.ts REGISTRY_CONTRACT_ADDRESS"
6220
+ }
5876
6221
  },
5877
6222
  {
5878
6223
  "chain": 143,
@@ -5901,10 +6246,15 @@
5901
6246
  "key": "core.router",
5902
6247
  "address": "0x35726a51982D3D89EFa89D437bfd5603DC59f46D",
5903
6248
  "kind": "contract",
5904
- "status": "unsafe",
6249
+ "status": "safe",
5905
6250
  "tags": [
5906
6251
  "core"
5907
- ]
6252
+ ],
6253
+ "approval": {
6254
+ "basis": "prod-baseline",
6255
+ "pr": 7,
6256
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_CONTRACT_ADDRESS"
6257
+ }
5908
6258
  },
5909
6259
  {
5910
6260
  "chain": 143,
@@ -5933,10 +6283,15 @@
5933
6283
  "key": "core.router-utils",
5934
6284
  "address": "0x786A2C6217080346C18242AEFD12fc1Ee5f33f65",
5935
6285
  "kind": "contract",
5936
- "status": "unsafe",
6286
+ "status": "safe",
5937
6287
  "tags": [
5938
6288
  "core"
5939
- ]
6289
+ ],
6290
+ "approval": {
6291
+ "basis": "prod-baseline",
6292
+ "pr": 7,
6293
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_UTILS_CONTRACT_ADDRESS"
6294
+ }
5940
6295
  },
5941
6296
  {
5942
6297
  "chain": 143,
@@ -5965,11 +6320,16 @@
5965
6320
  "key": "core.spectra-token",
5966
6321
  "address": "0x1C77c5B76f02eD1538D5Af95A3B1f88e55178D2f",
5967
6322
  "kind": "contract",
5968
- "status": "unsafe",
6323
+ "status": "safe",
5969
6324
  "tags": [
5970
6325
  "core",
5971
6326
  "protocol-token"
5972
- ]
6327
+ ],
6328
+ "approval": {
6329
+ "basis": "prod-baseline",
6330
+ "pr": 7,
6331
+ "note": "used in production on 2026-10-20: app contracts.ts SPECTRA_CONTRACT_ADDRESS; sdk contracts.ts SPECTRA_CONTRACT_ADDRESS"
6332
+ }
5973
6333
  },
5974
6334
  {
5975
6335
  "chain": 143,
@@ -6043,12 +6403,17 @@
6043
6403
  "key": "external.merkl.distributor",
6044
6404
  "address": "0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae",
6045
6405
  "kind": "external",
6046
- "status": "unsafe",
6406
+ "status": "safe",
6047
6407
  "tags": [
6048
6408
  "external",
6049
6409
  "merkl",
6050
6410
  "rewards"
6051
- ]
6411
+ ],
6412
+ "approval": {
6413
+ "basis": "prod-baseline",
6414
+ "pr": 7,
6415
+ "note": "used in production on 2026-10-20: app contracts.ts MERKL_DISTRIBUTOR_CONTRACT_ADDRESS"
6416
+ }
6052
6417
  },
6053
6418
  {
6054
6419
  "chain": 143,
@@ -6331,11 +6696,16 @@
6331
6696
  "key": "metavaults.factory",
6332
6697
  "address": "0x2a67D03eD348ecCec9Ea7b8447f110d9e134CeA9",
6333
6698
  "kind": "factory",
6334
- "status": "unsafe",
6699
+ "status": "safe",
6335
6700
  "tags": [
6336
6701
  "metavaults"
6337
6702
  ],
6338
- "inherit": true
6703
+ "inherit": true,
6704
+ "approval": {
6705
+ "basis": "prod-baseline",
6706
+ "pr": 7,
6707
+ "note": "used in production on 2026-10-20: factory of 1 live MetaVault"
6708
+ }
6339
6709
  },
6340
6710
  {
6341
6711
  "chain": 143,
@@ -6397,11 +6767,16 @@
6397
6767
  "key": "metavaults.registry-v2",
6398
6768
  "address": "0xcB4Df31966590B2924a15ed3927506e13138FD97",
6399
6769
  "kind": "contract",
6400
- "status": "unsafe",
6770
+ "status": "safe",
6401
6771
  "tags": [
6402
6772
  "metavaults",
6403
6773
  "registry"
6404
- ]
6774
+ ],
6775
+ "approval": {
6776
+ "basis": "prod-baseline",
6777
+ "pr": 7,
6778
+ "note": "used in production on 2026-10-20: sdk contracts.ts METAVAULTS_REGISTRY_V2_ADDRESS"
6779
+ }
6405
6780
  },
6406
6781
  {
6407
6782
  "chain": 143,
@@ -6933,12 +7308,17 @@
6933
7308
  "key": "bridge.spectra-token",
6934
7309
  "address": "0xa94ec39c91DF334DCAb55aDaA8EdD9C1dAF67cA7",
6935
7310
  "kind": "contract",
6936
- "status": "unsafe",
7311
+ "status": "safe",
6937
7312
  "tags": [
6938
7313
  "bridge",
6939
7314
  "layerzero",
6940
7315
  "core"
6941
- ]
7316
+ ],
7317
+ "approval": {
7318
+ "basis": "prod-baseline",
7319
+ "pr": 7,
7320
+ "note": "used in production on 2026-10-20: app contracts.ts SPECTRA_BRIDGE_CONTRACT_ADDRESS; sdk contracts.ts SPECTRA_BRIDGE_CONTRACT_ADDRESS"
7321
+ }
6942
7322
  },
6943
7323
  {
6944
7324
  "chain": 146,
@@ -6957,11 +7337,16 @@
6957
7337
  "key": "core.campaign-manager",
6958
7338
  "address": "0x1C5Ecca381961D92b6aAF7bC1656C37021b0F1D9",
6959
7339
  "kind": "contract",
6960
- "status": "unsafe",
7340
+ "status": "safe",
6961
7341
  "tags": [
6962
7342
  "core",
6963
7343
  "rewards"
6964
- ]
7344
+ ],
7345
+ "approval": {
7346
+ "basis": "prod-baseline",
7347
+ "pr": 7,
7348
+ "note": "used in production on 2026-10-20: app contracts.ts CAMPAIGN_MANAGER_CONTRACT_ADDRESS"
7349
+ }
6965
7350
  },
6966
7351
  {
6967
7352
  "chain": 146,
@@ -7011,11 +7396,16 @@
7011
7396
  "key": "core.curve-liquidity-arbitrage",
7012
7397
  "address": "0xb9BcAC22212c72Aee8D6997Bf5F8Df76248C7ca2",
7013
7398
  "kind": "contract",
7014
- "status": "unsafe",
7399
+ "status": "safe",
7015
7400
  "tags": [
7016
7401
  "core",
7017
7402
  "legacy"
7018
- ]
7403
+ ],
7404
+ "approval": {
7405
+ "basis": "prod-baseline",
7406
+ "pr": 7,
7407
+ "note": "used in production on 2026-10-20: app contracts.ts CURVE_LIQUIDITY_ARBITRAGE_CONTRACT_ADDRESS"
7408
+ }
7019
7409
  },
7020
7410
  {
7021
7411
  "chain": 146,
@@ -7127,11 +7517,16 @@
7127
7517
  "key": "core.factory",
7128
7518
  "address": "0x100F22121d8c86367B14bA67968DCA8001C9FA79",
7129
7519
  "kind": "factory",
7130
- "status": "unsafe",
7520
+ "status": "safe",
7131
7521
  "tags": [
7132
7522
  "core"
7133
7523
  ],
7134
- "inherit": true
7524
+ "inherit": true,
7525
+ "approval": {
7526
+ "basis": "prod-baseline",
7527
+ "pr": 7,
7528
+ "note": "used in production on 2026-10-20: app contracts.ts FACTORY_CONTRACT_ADDRESS; sdk contracts.ts FACTORY_CONTRACT_ADDRESS"
7529
+ }
7135
7530
  },
7136
7531
  {
7137
7532
  "chain": 146,
@@ -7149,12 +7544,17 @@
7149
7544
  "key": "core.factory-legacy",
7150
7545
  "address": "0xC9092777bF098e74B23B66c4140064eB3FcCD0F1",
7151
7546
  "kind": "factory",
7152
- "status": "unsafe",
7547
+ "status": "safe",
7153
7548
  "tags": [
7154
7549
  "core",
7155
7550
  "legacy"
7156
7551
  ],
7157
7552
  "inherit": true,
7553
+ "approval": {
7554
+ "basis": "prod-baseline",
7555
+ "pr": 7,
7556
+ "note": "used in production on 2026-10-20: factory of 3 PTs held in prod portfolios"
7557
+ },
7158
7558
  "notes": "superseded"
7159
7559
  },
7160
7560
  {
@@ -7257,11 +7657,16 @@
7257
7657
  "key": "core.rate-oracle-registry",
7258
7658
  "address": "0x5390d7C6B8139Ae9D255Ed9e7ae6274e18032AbE",
7259
7659
  "kind": "contract",
7260
- "status": "unsafe",
7660
+ "status": "safe",
7261
7661
  "tags": [
7262
7662
  "core",
7263
7663
  "oracle"
7264
- ]
7664
+ ],
7665
+ "approval": {
7666
+ "basis": "prod-baseline",
7667
+ "pr": 7,
7668
+ "note": "used in production on 2026-10-20: sdk contracts.ts RATE_ORACLE_REGISTRY_CONTRACT_ADDRESS"
7669
+ }
7265
7670
  },
7266
7671
  {
7267
7672
  "chain": 146,
@@ -7290,11 +7695,16 @@
7290
7695
  "key": "core.registry",
7291
7696
  "address": "0xcb671f588c85E1403ecB9B4f6dA0dff0d1e9D3FB",
7292
7697
  "kind": "contract",
7293
- "status": "unsafe",
7698
+ "status": "safe",
7294
7699
  "tags": [
7295
7700
  "core",
7296
7701
  "legacy"
7297
- ]
7702
+ ],
7703
+ "approval": {
7704
+ "basis": "prod-baseline",
7705
+ "pr": 7,
7706
+ "note": "used in production on 2026-10-20: app contracts.ts REGISTRY_CONTRACT_ADDRESS; sdk contracts.ts REGISTRY_CONTRACT_ADDRESS"
7707
+ }
7298
7708
  },
7299
7709
  {
7300
7710
  "chain": 146,
@@ -7325,10 +7735,15 @@
7325
7735
  "key": "core.router",
7326
7736
  "address": "0x3322664deE30345024F62066145427A8e4e67703",
7327
7737
  "kind": "contract",
7328
- "status": "unsafe",
7738
+ "status": "safe",
7329
7739
  "tags": [
7330
7740
  "core"
7331
- ]
7741
+ ],
7742
+ "approval": {
7743
+ "basis": "prod-baseline",
7744
+ "pr": 7,
7745
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_CONTRACT_ADDRESS"
7746
+ }
7332
7747
  },
7333
7748
  {
7334
7749
  "chain": 146,
@@ -7395,10 +7810,15 @@
7395
7810
  "key": "core.router-utils",
7396
7811
  "address": "0xBE6271FA207D2cD29C7F9efa90FC725C18560bff",
7397
7812
  "kind": "contract",
7398
- "status": "unsafe",
7813
+ "status": "safe",
7399
7814
  "tags": [
7400
7815
  "core"
7401
- ]
7816
+ ],
7817
+ "approval": {
7818
+ "basis": "prod-baseline",
7819
+ "pr": 7,
7820
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_UTILS_CONTRACT_ADDRESS"
7821
+ }
7402
7822
  },
7403
7823
  {
7404
7824
  "chain": 146,
@@ -7439,11 +7859,16 @@
7439
7859
  "key": "core.spectra-token",
7440
7860
  "address": "0xb827E91C5cd4d6aCa2FC0cD93A07dB61896Af40B",
7441
7861
  "kind": "contract",
7442
- "status": "unsafe",
7862
+ "status": "safe",
7443
7863
  "tags": [
7444
7864
  "core",
7445
7865
  "protocol-token"
7446
- ]
7866
+ ],
7867
+ "approval": {
7868
+ "basis": "prod-baseline",
7869
+ "pr": 7,
7870
+ "note": "used in production on 2026-10-20: app contracts.ts SPECTRA_CONTRACT_ADDRESS; sdk contracts.ts SPECTRA_CONTRACT_ADDRESS"
7871
+ }
7447
7872
  },
7448
7873
  {
7449
7874
  "chain": 146,
@@ -7498,12 +7923,17 @@
7498
7923
  "key": "external.cctp.message-transmitter-v2",
7499
7924
  "address": "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
7500
7925
  "kind": "external",
7501
- "status": "unsafe",
7926
+ "status": "safe",
7502
7927
  "tags": [
7503
7928
  "cctp",
7504
7929
  "external",
7505
7930
  "bridge"
7506
- ]
7931
+ ],
7932
+ "approval": {
7933
+ "basis": "prod-baseline",
7934
+ "pr": 7,
7935
+ "note": "used in production on 2026-10-20: app contracts.ts CCTP_MESSAGE_TRANSMITTER_V2_ADDRESS"
7936
+ }
7507
7937
  },
7508
7938
  {
7509
7939
  "chain": 146,
@@ -7595,12 +8025,17 @@
7595
8025
  "key": "external.merkl.distributor",
7596
8026
  "address": "0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae",
7597
8027
  "kind": "external",
7598
- "status": "unsafe",
8028
+ "status": "safe",
7599
8029
  "tags": [
7600
8030
  "external",
7601
8031
  "merkl",
7602
8032
  "rewards"
7603
- ]
8033
+ ],
8034
+ "approval": {
8035
+ "basis": "prod-baseline",
8036
+ "pr": 7,
8037
+ "note": "used in production on 2026-10-20: app contracts.ts MERKL_DISTRIBUTOR_CONTRACT_ADDRESS"
8038
+ }
7604
8039
  },
7605
8040
  {
7606
8041
  "chain": 146,
@@ -8084,12 +8519,17 @@
8084
8519
  "key": "bridge.spectra-token",
8085
8520
  "address": "0x64F20bA249ED4369b029d257c77F5818F7B3F6ED",
8086
8521
  "kind": "contract",
8087
- "status": "unsafe",
8522
+ "status": "safe",
8088
8523
  "tags": [
8089
8524
  "bridge",
8090
8525
  "layerzero",
8091
8526
  "core"
8092
- ]
8527
+ ],
8528
+ "approval": {
8529
+ "basis": "prod-baseline",
8530
+ "pr": 7,
8531
+ "note": "used in production on 2026-10-20: app contracts.ts SPECTRA_BRIDGE_CONTRACT_ADDRESS; sdk contracts.ts SPECTRA_BRIDGE_CONTRACT_ADDRESS"
8532
+ }
8093
8533
  },
8094
8534
  {
8095
8535
  "chain": 999,
@@ -8107,21 +8547,31 @@
8107
8547
  "key": "core.curve-liquidity-arbitrage",
8108
8548
  "address": "0x15E4F4d96263A237111e9b418EFD5AF66A303bC7",
8109
8549
  "kind": "contract",
8110
- "status": "unsafe",
8550
+ "status": "safe",
8111
8551
  "tags": [
8112
8552
  "core"
8113
- ]
8553
+ ],
8554
+ "approval": {
8555
+ "basis": "prod-baseline",
8556
+ "pr": 7,
8557
+ "note": "used in production on 2026-10-20: app contracts.ts CURVE_LIQUIDITY_ARBITRAGE_CONTRACT_ADDRESS"
8558
+ }
8114
8559
  },
8115
8560
  {
8116
8561
  "chain": 999,
8117
8562
  "key": "core.factory",
8118
8563
  "address": "0xD187CB71fe8201935e6676ff872239Fff552D4a5",
8119
8564
  "kind": "factory",
8120
- "status": "unsafe",
8565
+ "status": "safe",
8121
8566
  "tags": [
8122
8567
  "core"
8123
8568
  ],
8124
- "inherit": true
8569
+ "inherit": true,
8570
+ "approval": {
8571
+ "basis": "prod-baseline",
8572
+ "pr": 7,
8573
+ "note": "used in production on 2026-10-20: app contracts.ts FACTORY_CONTRACT_ADDRESS; sdk contracts.ts FACTORY_CONTRACT_ADDRESS; factory of 1 live PT and factory of 4 PTs held in prod portfolios"
8574
+ }
8125
8575
  },
8126
8576
  {
8127
8577
  "chain": 999,
@@ -8205,11 +8655,16 @@
8205
8655
  "key": "core.rate-oracle-registry",
8206
8656
  "address": "0x4B6e7Fe9A99bA22829E2439f96d774d7cef6eEFf",
8207
8657
  "kind": "contract",
8208
- "status": "unsafe",
8658
+ "status": "safe",
8209
8659
  "tags": [
8210
8660
  "core",
8211
8661
  "oracle"
8212
- ]
8662
+ ],
8663
+ "approval": {
8664
+ "basis": "prod-baseline",
8665
+ "pr": 7,
8666
+ "note": "used in production on 2026-10-20: sdk contracts.ts RATE_ORACLE_REGISTRY_CONTRACT_ADDRESS"
8667
+ }
8213
8668
  },
8214
8669
  {
8215
8670
  "chain": 999,
@@ -8238,10 +8693,15 @@
8238
8693
  "key": "core.registry",
8239
8694
  "address": "0xBA4F8ef69D6d5CB48efB9149BF33Ea43d6b66CCd",
8240
8695
  "kind": "contract",
8241
- "status": "unsafe",
8696
+ "status": "safe",
8242
8697
  "tags": [
8243
8698
  "core"
8244
- ]
8699
+ ],
8700
+ "approval": {
8701
+ "basis": "prod-baseline",
8702
+ "pr": 7,
8703
+ "note": "used in production on 2026-10-20: app contracts.ts REGISTRY_CONTRACT_ADDRESS; sdk contracts.ts REGISTRY_CONTRACT_ADDRESS"
8704
+ }
8245
8705
  },
8246
8706
  {
8247
8707
  "chain": 999,
@@ -8270,10 +8730,15 @@
8270
8730
  "key": "core.router",
8271
8731
  "address": "0xb827E91C5cd4d6aCa2FC0cD93A07dB61896Af40B",
8272
8732
  "kind": "contract",
8273
- "status": "unsafe",
8733
+ "status": "safe",
8274
8734
  "tags": [
8275
8735
  "core"
8276
- ]
8736
+ ],
8737
+ "approval": {
8738
+ "basis": "prod-baseline",
8739
+ "pr": 7,
8740
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_CONTRACT_ADDRESS"
8741
+ }
8277
8742
  },
8278
8743
  {
8279
8744
  "chain": 999,
@@ -8302,10 +8767,15 @@
8302
8767
  "key": "core.router-utils",
8303
8768
  "address": "0xF19EaaAB5432086EeeDc7e5E24007202dA2B5420",
8304
8769
  "kind": "contract",
8305
- "status": "unsafe",
8770
+ "status": "safe",
8306
8771
  "tags": [
8307
8772
  "core"
8308
- ]
8773
+ ],
8774
+ "approval": {
8775
+ "basis": "prod-baseline",
8776
+ "pr": 7,
8777
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_UTILS_CONTRACT_ADDRESS"
8778
+ }
8309
8779
  },
8310
8780
  {
8311
8781
  "chain": 999,
@@ -8334,11 +8804,16 @@
8334
8804
  "key": "core.spectra-token",
8335
8805
  "address": "0x6BD93eE39bcC7B9Baba122c2Ba65246E4347BBF9",
8336
8806
  "kind": "contract",
8337
- "status": "unsafe",
8807
+ "status": "safe",
8338
8808
  "tags": [
8339
8809
  "core",
8340
8810
  "protocol-token"
8341
- ]
8811
+ ],
8812
+ "approval": {
8813
+ "basis": "prod-baseline",
8814
+ "pr": 7,
8815
+ "note": "used in production on 2026-10-20: app contracts.ts SPECTRA_CONTRACT_ADDRESS; sdk contracts.ts SPECTRA_CONTRACT_ADDRESS"
8816
+ }
8342
8817
  },
8343
8818
  {
8344
8819
  "chain": 999,
@@ -8391,12 +8866,17 @@
8391
8866
  "key": "external.cctp.message-transmitter-v2",
8392
8867
  "address": "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
8393
8868
  "kind": "external",
8394
- "status": "unsafe",
8869
+ "status": "safe",
8395
8870
  "tags": [
8396
8871
  "cctp",
8397
8872
  "external",
8398
8873
  "bridge"
8399
- ]
8874
+ ],
8875
+ "approval": {
8876
+ "basis": "prod-baseline",
8877
+ "pr": 7,
8878
+ "note": "used in production on 2026-10-20: app contracts.ts CCTP_MESSAGE_TRANSMITTER_V2_ADDRESS"
8879
+ }
8400
8880
  },
8401
8881
  {
8402
8882
  "chain": 999,
@@ -8488,23 +8968,33 @@
8488
8968
  "key": "external.merkl.distributor",
8489
8969
  "address": "0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae",
8490
8970
  "kind": "external",
8491
- "status": "unsafe",
8971
+ "status": "safe",
8492
8972
  "tags": [
8493
8973
  "external",
8494
8974
  "merkl",
8495
8975
  "rewards"
8496
- ]
8976
+ ],
8977
+ "approval": {
8978
+ "basis": "prod-baseline",
8979
+ "pr": 7,
8980
+ "note": "used in production on 2026-10-20: app contracts.ts MERKL_DISTRIBUTOR_CONTRACT_ADDRESS"
8981
+ }
8497
8982
  },
8498
8983
  {
8499
8984
  "chain": 999,
8500
8985
  "key": "external.multicall3",
8501
8986
  "address": "0xcA11bde05977b3631167028862bE2a173976CA11",
8502
8987
  "kind": "external",
8503
- "status": "unsafe",
8988
+ "status": "safe",
8504
8989
  "tags": [
8505
8990
  "external",
8506
8991
  "multicall"
8507
- ]
8992
+ ],
8993
+ "approval": {
8994
+ "basis": "prod-baseline",
8995
+ "pr": 7,
8996
+ "note": "used in production on 2026-10-20: app customChains.ts address"
8997
+ }
8508
8998
  },
8509
8999
  {
8510
9000
  "chain": 999,
@@ -8842,12 +9332,17 @@
8842
9332
  "key": "bridge.spectra-token",
8843
9333
  "address": "0x5390d7C6B8139Ae9D255Ed9e7ae6274e18032AbE",
8844
9334
  "kind": "contract",
8845
- "status": "unsafe",
9335
+ "status": "safe",
8846
9336
  "tags": [
8847
9337
  "core",
8848
9338
  "bridge",
8849
9339
  "layerzero"
8850
- ]
9340
+ ],
9341
+ "approval": {
9342
+ "basis": "prod-baseline",
9343
+ "pr": 7,
9344
+ "note": "used in production on 2026-10-20: app contracts.ts SPECTRA_BRIDGE_CONTRACT_ADDRESS; sdk contracts.ts SPECTRA_BRIDGE_CONTRACT_ADDRESS"
9345
+ }
8851
9346
  },
8852
9347
  {
8853
9348
  "chain": 1329,
@@ -8865,10 +9360,15 @@
8865
9360
  "key": "core.curve-liquidity-arbitrage",
8866
9361
  "address": "0xF19EaaAB5432086EeeDc7e5E24007202dA2B5420",
8867
9362
  "kind": "contract",
8868
- "status": "unsafe",
9363
+ "status": "safe",
8869
9364
  "tags": [
8870
9365
  "core"
8871
- ]
9366
+ ],
9367
+ "approval": {
9368
+ "basis": "prod-baseline",
9369
+ "pr": 7,
9370
+ "note": "used in production on 2026-10-20: app contracts.ts CURVE_LIQUIDITY_ARBITRAGE_CONTRACT_ADDRESS"
9371
+ }
8872
9372
  },
8873
9373
  {
8874
9374
  "chain": 1329,
@@ -8936,11 +9436,16 @@
8936
9436
  "key": "core.factory",
8937
9437
  "address": "0x938D4948dFE59fb36667E1cd0dc41BBC076707c1",
8938
9438
  "kind": "factory",
8939
- "status": "unsafe",
9439
+ "status": "safe",
8940
9440
  "tags": [
8941
9441
  "core"
8942
9442
  ],
8943
- "inherit": true
9443
+ "inherit": true,
9444
+ "approval": {
9445
+ "basis": "prod-baseline",
9446
+ "pr": 7,
9447
+ "note": "used in production on 2026-10-20: app contracts.ts FACTORY_CONTRACT_ADDRESS; sdk contracts.ts FACTORY_CONTRACT_ADDRESS"
9448
+ }
8944
9449
  },
8945
9450
  {
8946
9451
  "chain": 1329,
@@ -9049,11 +9554,16 @@
9049
9554
  "key": "core.rate-oracle-registry",
9050
9555
  "address": "0xb9BcAC22212c72Aee8D6997Bf5F8Df76248C7ca2",
9051
9556
  "kind": "contract",
9052
- "status": "unsafe",
9557
+ "status": "safe",
9053
9558
  "tags": [
9054
9559
  "core",
9055
9560
  "oracle"
9056
- ]
9561
+ ],
9562
+ "approval": {
9563
+ "basis": "prod-baseline",
9564
+ "pr": 7,
9565
+ "note": "used in production on 2026-10-20: sdk contracts.ts RATE_ORACLE_REGISTRY_CONTRACT_ADDRESS"
9566
+ }
9057
9567
  },
9058
9568
  {
9059
9569
  "chain": 1329,
@@ -9082,10 +9592,15 @@
9082
9592
  "key": "core.registry",
9083
9593
  "address": "0xEc1a510788e24c7C535faf0837351eeea044e775",
9084
9594
  "kind": "contract",
9085
- "status": "unsafe",
9595
+ "status": "safe",
9086
9596
  "tags": [
9087
9597
  "core"
9088
- ]
9598
+ ],
9599
+ "approval": {
9600
+ "basis": "prod-baseline",
9601
+ "pr": 7,
9602
+ "note": "used in production on 2026-10-20: app contracts.ts REGISTRY_CONTRACT_ADDRESS; sdk contracts.ts REGISTRY_CONTRACT_ADDRESS"
9603
+ }
9089
9604
  },
9090
9605
  {
9091
9606
  "chain": 1329,
@@ -9114,10 +9629,15 @@
9114
9629
  "key": "core.router",
9115
9630
  "address": "0x392fca63e58C1870fBeC04Eb6518A75703Dd2954",
9116
9631
  "kind": "contract",
9117
- "status": "unsafe",
9632
+ "status": "safe",
9118
9633
  "tags": [
9119
9634
  "core"
9120
- ]
9635
+ ],
9636
+ "approval": {
9637
+ "basis": "prod-baseline",
9638
+ "pr": 7,
9639
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_CONTRACT_ADDRESS"
9640
+ }
9121
9641
  },
9122
9642
  {
9123
9643
  "chain": 1329,
@@ -9146,10 +9666,15 @@
9146
9666
  "key": "core.router-utils",
9147
9667
  "address": "0x3d72440af4b0312084BC51A2038180876D208832",
9148
9668
  "kind": "contract",
9149
- "status": "unsafe",
9669
+ "status": "safe",
9150
9670
  "tags": [
9151
9671
  "core"
9152
- ]
9672
+ ],
9673
+ "approval": {
9674
+ "basis": "prod-baseline",
9675
+ "pr": 7,
9676
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_UTILS_CONTRACT_ADDRESS"
9677
+ }
9153
9678
  },
9154
9679
  {
9155
9680
  "chain": 1329,
@@ -9178,11 +9703,16 @@
9178
9703
  "key": "core.spectra-token",
9179
9704
  "address": "0x35726a51982D3D89EFa89D437bfd5603DC59f46D",
9180
9705
  "kind": "contract",
9181
- "status": "unsafe",
9706
+ "status": "safe",
9182
9707
  "tags": [
9183
9708
  "core",
9184
9709
  "protocol-token"
9185
- ]
9710
+ ],
9711
+ "approval": {
9712
+ "basis": "prod-baseline",
9713
+ "pr": 7,
9714
+ "note": "used in production on 2026-10-20: app contracts.ts SPECTRA_CONTRACT_ADDRESS; sdk contracts.ts SPECTRA_CONTRACT_ADDRESS"
9715
+ }
9186
9716
  },
9187
9717
  {
9188
9718
  "chain": 1329,
@@ -9292,12 +9822,17 @@
9292
9822
  "key": "external.merkl.distributor",
9293
9823
  "address": "0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae",
9294
9824
  "kind": "external",
9295
- "status": "unsafe",
9825
+ "status": "safe",
9296
9826
  "tags": [
9297
9827
  "external",
9298
9828
  "merkl",
9299
9829
  "rewards"
9300
- ]
9830
+ ],
9831
+ "approval": {
9832
+ "basis": "prod-baseline",
9833
+ "pr": 7,
9834
+ "note": "used in production on 2026-10-20: app contracts.ts MERKL_DISTRIBUTOR_CONTRACT_ADDRESS"
9835
+ }
9301
9836
  },
9302
9837
  {
9303
9838
  "chain": 1329,
@@ -9518,11 +10053,16 @@
9518
10053
  "key": "metavaults.factory",
9519
10054
  "address": "0x831aBe1EeD325ccc7f5f11F028e1F6E18fF4dB36",
9520
10055
  "kind": "factory",
9521
- "status": "unsafe",
10056
+ "status": "safe",
9522
10057
  "tags": [
9523
10058
  "metavaults"
9524
10059
  ],
9525
- "inherit": true
10060
+ "inherit": true,
10061
+ "approval": {
10062
+ "basis": "prod-baseline",
10063
+ "pr": 7,
10064
+ "note": "used in production on 2026-10-20: factory of 1 live MetaVault"
10065
+ }
9526
10066
  },
9527
10067
  {
9528
10068
  "chain": 1329,
@@ -9540,11 +10080,16 @@
9540
10080
  "key": "metavaults.registry-v2",
9541
10081
  "address": "0x7be591bAc3F40Ac887AA8761354fE1286B67DA29",
9542
10082
  "kind": "contract",
9543
- "status": "unsafe",
10083
+ "status": "safe",
9544
10084
  "tags": [
9545
10085
  "metavaults",
9546
10086
  "registry"
9547
- ]
10087
+ ],
10088
+ "approval": {
10089
+ "basis": "prod-baseline",
10090
+ "pr": 7,
10091
+ "note": "used in production on 2026-10-20: sdk contracts.ts METAVAULTS_REGISTRY_V2_ADDRESS"
10092
+ }
9548
10093
  },
9549
10094
  {
9550
10095
  "chain": 1329,
@@ -9958,13 +10503,18 @@
9958
10503
  "key": "bridge.apw-migration",
9959
10504
  "address": "0x4fe89CaD52438fAD3B3Ff226DA35FBfB2216De70",
9960
10505
  "kind": "contract",
9961
- "status": "unsafe",
10506
+ "status": "safe",
9962
10507
  "tags": [
9963
10508
  "core",
9964
10509
  "bridge",
9965
10510
  "apw-migration",
9966
10511
  "legacy"
9967
- ]
10512
+ ],
10513
+ "approval": {
10514
+ "basis": "prod-baseline",
10515
+ "pr": 7,
10516
+ "note": "used in production on 2026-10-20: app contracts.ts MIGRATION_BRIDGE_CONTRACT_ADDRESS; sdk contracts.ts MIGRATION_BRIDGE_CONTRACT_ADDRESS"
10517
+ }
9968
10518
  },
9969
10519
  {
9970
10520
  "chain": 8453,
@@ -10003,11 +10553,16 @@
10003
10553
  "key": "bridge.pt-bridge",
10004
10554
  "address": "0x7E7401a74C7d3ABA87c9a3797162D96503255Add",
10005
10555
  "kind": "contract",
10006
- "status": "unsafe",
10556
+ "status": "safe",
10007
10557
  "tags": [
10008
10558
  "bridge",
10009
10559
  "stellar"
10010
- ]
10560
+ ],
10561
+ "approval": {
10562
+ "basis": "prod-baseline",
10563
+ "pr": 7,
10564
+ "note": "used in production on 2026-10-20: app contracts.ts PT_BRIDGE_CONTRACT_ADDRESS"
10565
+ }
10011
10566
  },
10012
10567
  {
10013
10568
  "chain": 8453,
@@ -10048,12 +10603,17 @@
10048
10603
  "key": "bridge.spectra-token",
10049
10604
  "address": "0x1F98F0EB72505e6A319431507Aa7F05F6322f88B",
10050
10605
  "kind": "contract",
10051
- "status": "unsafe",
10606
+ "status": "safe",
10052
10607
  "tags": [
10053
10608
  "bridge",
10054
10609
  "layerzero",
10055
10610
  "core"
10056
- ]
10611
+ ],
10612
+ "approval": {
10613
+ "basis": "prod-baseline",
10614
+ "pr": 7,
10615
+ "note": "used in production on 2026-10-20: app contracts.ts SPECTRA_BRIDGE_CONTRACT_ADDRESS; sdk contracts.ts SPECTRA_BRIDGE_CONTRACT_ADDRESS"
10616
+ }
10057
10617
  },
10058
10618
  {
10059
10619
  "chain": 8453,
@@ -10095,23 +10655,33 @@
10095
10655
  "key": "core.apw-token",
10096
10656
  "address": "0x5Dbe772a051FA853433cDAe923C3b3aE955Df7BD",
10097
10657
  "kind": "contract",
10098
- "status": "unsafe",
10658
+ "status": "safe",
10099
10659
  "tags": [
10100
10660
  "core",
10101
10661
  "protocol-token",
10102
10662
  "legacy"
10103
- ]
10663
+ ],
10664
+ "approval": {
10665
+ "basis": "prod-baseline",
10666
+ "pr": 7,
10667
+ "note": "used in production on 2026-10-20: app contracts.ts APW_CONTRACT_ADDRESS; sdk contracts.ts APW_CONTRACT_ADDRESS"
10668
+ }
10104
10669
  },
10105
10670
  {
10106
10671
  "chain": 8453,
10107
10672
  "key": "core.campaign-manager",
10108
10673
  "address": "0x392fca63e58C1870fBeC04Eb6518A75703Dd2954",
10109
10674
  "kind": "contract",
10110
- "status": "unsafe",
10675
+ "status": "safe",
10111
10676
  "tags": [
10112
10677
  "core",
10113
10678
  "rewards"
10114
- ]
10679
+ ],
10680
+ "approval": {
10681
+ "basis": "prod-baseline",
10682
+ "pr": 7,
10683
+ "note": "used in production on 2026-10-20: app contracts.ts CAMPAIGN_MANAGER_CONTRACT_ADDRESS"
10684
+ }
10115
10685
  },
10116
10686
  {
10117
10687
  "chain": 8453,
@@ -10141,11 +10711,16 @@
10141
10711
  "key": "core.curve-liquidity-arbitrage",
10142
10712
  "address": "0xa94ec39c91DF334DCAb55aDaA8EdD9C1dAF67cA7",
10143
10713
  "kind": "contract",
10144
- "status": "unsafe",
10714
+ "status": "safe",
10145
10715
  "tags": [
10146
10716
  "core",
10147
10717
  "legacy"
10148
- ]
10718
+ ],
10719
+ "approval": {
10720
+ "basis": "prod-baseline",
10721
+ "pr": 7,
10722
+ "note": "used in production on 2026-10-20: app contracts.ts CURVE_LIQUIDITY_ARBITRAGE_CONTRACT_ADDRESS"
10723
+ }
10149
10724
  },
10150
10725
  {
10151
10726
  "chain": 8453,
@@ -10247,11 +10822,16 @@
10247
10822
  "key": "core.factory",
10248
10823
  "address": "0xDBE5B6AaC70EeA77C5b59B6c54D8F21DffAA8D84",
10249
10824
  "kind": "factory",
10250
- "status": "unsafe",
10825
+ "status": "safe",
10251
10826
  "tags": [
10252
10827
  "core"
10253
10828
  ],
10254
- "inherit": true
10829
+ "inherit": true,
10830
+ "approval": {
10831
+ "basis": "prod-baseline",
10832
+ "pr": 7,
10833
+ "note": "used in production on 2026-10-20: app contracts.ts FACTORY_CONTRACT_ADDRESS; sdk contracts.ts FACTORY_CONTRACT_ADDRESS; factory of 10 live PTs and factory of 16 PTs held in prod portfolios"
10834
+ }
10255
10835
  },
10256
10836
  {
10257
10837
  "chain": 8453,
@@ -10269,11 +10849,16 @@
10269
10849
  "key": "core.factory-legacy",
10270
10850
  "address": "0x51100574E1CF11ee9fcC96D70ED146250b0Fdb60",
10271
10851
  "kind": "factory",
10272
- "status": "unsafe",
10852
+ "status": "safe",
10273
10853
  "tags": [
10274
10854
  "core"
10275
10855
  ],
10276
10856
  "inherit": true,
10857
+ "approval": {
10858
+ "basis": "prod-baseline",
10859
+ "pr": 7,
10860
+ "note": "used in production on 2026-10-20: factory of 23 PTs held in prod portfolios"
10861
+ },
10277
10862
  "notes": "superseded"
10278
10863
  },
10279
10864
  {
@@ -10304,11 +10889,16 @@
10304
10889
  "key": "core.governance-registry",
10305
10890
  "address": "0xa3eeA13183421c9A8BDA0BDEe191B70De8CA445D",
10306
10891
  "kind": "contract",
10307
- "status": "unsafe",
10892
+ "status": "safe",
10308
10893
  "tags": [
10309
10894
  "core",
10310
10895
  "governance"
10311
- ]
10896
+ ],
10897
+ "approval": {
10898
+ "basis": "prod-baseline",
10899
+ "pr": 7,
10900
+ "note": "used in production on 2026-10-20: app contracts.ts GOVERNANCE_REGISTRY_CONTRACT_ADDRESS; sdk contracts.ts GOVERNANCE_REGISTRY_CONTRACT_ADDRESS"
10901
+ }
10312
10902
  },
10313
10903
  {
10314
10904
  "chain": 8453,
@@ -10426,11 +11016,16 @@
10426
11016
  "key": "core.rate-oracle-registry",
10427
11017
  "address": "0xd598aD10E5615dEf261773FA7015Ac9D08f7BC32",
10428
11018
  "kind": "contract",
10429
- "status": "unsafe",
11019
+ "status": "safe",
10430
11020
  "tags": [
10431
11021
  "core",
10432
11022
  "oracle"
10433
- ]
11023
+ ],
11024
+ "approval": {
11025
+ "basis": "prod-baseline",
11026
+ "pr": 7,
11027
+ "note": "used in production on 2026-10-20: sdk contracts.ts RATE_ORACLE_REGISTRY_CONTRACT_ADDRESS"
11028
+ }
10434
11029
  },
10435
11030
  {
10436
11031
  "chain": 8453,
@@ -10459,10 +11054,15 @@
10459
11054
  "key": "core.registry",
10460
11055
  "address": "0x786Da12e9836a9ff9b7d92e8bac1C849e2ACe378",
10461
11056
  "kind": "contract",
10462
- "status": "unsafe",
11057
+ "status": "safe",
10463
11058
  "tags": [
10464
11059
  "core"
10465
- ]
11060
+ ],
11061
+ "approval": {
11062
+ "basis": "prod-baseline",
11063
+ "pr": 7,
11064
+ "note": "used in production on 2026-10-20: app contracts.ts REGISTRY_CONTRACT_ADDRESS; sdk contracts.ts REGISTRY_CONTRACT_ADDRESS"
11065
+ }
10466
11066
  },
10467
11067
  {
10468
11068
  "chain": 8453,
@@ -10491,10 +11091,15 @@
10491
11091
  "key": "core.router",
10492
11092
  "address": "0xC03309DE321A4D3df734F5609B80cC731ae28e6D",
10493
11093
  "kind": "contract",
10494
- "status": "unsafe",
11094
+ "status": "safe",
10495
11095
  "tags": [
10496
11096
  "core"
10497
- ]
11097
+ ],
11098
+ "approval": {
11099
+ "basis": "prod-baseline",
11100
+ "pr": 7,
11101
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_CONTRACT_ADDRESS"
11102
+ }
10498
11103
  },
10499
11104
  {
10500
11105
  "chain": 8453,
@@ -10561,10 +11166,15 @@
10561
11166
  "key": "core.router-utils",
10562
11167
  "address": "0x22aF2e9e8633e687acC8412FA9A90Ae9EE95F69C",
10563
11168
  "kind": "contract",
10564
- "status": "unsafe",
11169
+ "status": "safe",
10565
11170
  "tags": [
10566
11171
  "core"
10567
- ]
11172
+ ],
11173
+ "approval": {
11174
+ "basis": "prod-baseline",
11175
+ "pr": 7,
11176
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_UTILS_CONTRACT_ADDRESS"
11177
+ }
10568
11178
  },
10569
11179
  {
10570
11180
  "chain": 8453,
@@ -10583,11 +11193,16 @@
10583
11193
  "key": "core.spectra-token",
10584
11194
  "address": "0x64FCC3A02eeEba05Ef701b7eed066c6ebD5d4E51",
10585
11195
  "kind": "contract",
10586
- "status": "unsafe",
11196
+ "status": "safe",
10587
11197
  "tags": [
10588
11198
  "core",
10589
11199
  "protocol-token"
10590
- ]
11200
+ ],
11201
+ "approval": {
11202
+ "basis": "prod-baseline",
11203
+ "pr": 7,
11204
+ "note": "used in production on 2026-10-20: app contracts.ts SPECTRA_CONTRACT_ADDRESS; sdk contracts.ts SPECTRA_CONTRACT_ADDRESS"
11205
+ }
10591
11206
  },
10592
11207
  {
10593
11208
  "chain": 8453,
@@ -10618,11 +11233,16 @@
10618
11233
  "key": "core.ve-aggregator",
10619
11234
  "address": "0xcD4954CE6A178aB0bc4FFa0b2886F33c5A851D0B",
10620
11235
  "kind": "contract",
10621
- "status": "unsafe",
11236
+ "status": "safe",
10622
11237
  "tags": [
10623
11238
  "core",
10624
11239
  "governance"
10625
- ]
11240
+ ],
11241
+ "approval": {
11242
+ "basis": "prod-baseline",
11243
+ "pr": 7,
11244
+ "note": "used in production on 2026-10-20: app contracts.ts main; sdk contracts.ts main"
11245
+ }
10626
11246
  },
10627
11247
  {
10628
11248
  "chain": 8453,
@@ -10641,25 +11261,35 @@
10641
11261
  "key": "core.vespectra",
10642
11262
  "address": "0x6a89228055C7C28430692E342F149f37462B478B",
10643
11263
  "kind": "contract",
10644
- "status": "unsafe",
11264
+ "status": "safe",
10645
11265
  "tags": [
10646
11266
  "core",
10647
11267
  "governance",
10648
11268
  "protocol-token"
10649
- ]
11269
+ ],
11270
+ "approval": {
11271
+ "basis": "prod-baseline",
11272
+ "pr": 7,
11273
+ "note": "used in production on 2026-10-20: app contracts.ts token; app contracts.ts lp; sdk contracts.ts token (+1 more)"
11274
+ }
10650
11275
  },
10651
11276
  {
10652
11277
  "chain": 8453,
10653
11278
  "key": "core.vespectra-merkle-distributor",
10654
11279
  "address": "0x286bD1fb9a99d7FCE19757C631002EA2eD8e7da2",
10655
11280
  "kind": "contract",
10656
- "status": "unsafe",
11281
+ "status": "safe",
10657
11282
  "tags": [
10658
11283
  "core",
10659
11284
  "governance",
10660
11285
  "wrapper",
10661
11286
  "rewards"
10662
- ]
11287
+ ],
11288
+ "approval": {
11289
+ "basis": "prod-baseline",
11290
+ "pr": 7,
11291
+ "note": "used in production on 2026-10-20: app contracts.ts VESPECTRA_MERKLE_DISTRIBUTOR_ADDRESS; sdk contracts.ts VESPECTRA_MERKLE_DISTRIBUTOR_ADDRESS"
11292
+ }
10663
11293
  },
10664
11294
  {
10665
11295
  "chain": 8453,
@@ -10689,23 +11319,33 @@
10689
11319
  "key": "core.vespectra-rewards-distributor",
10690
11320
  "address": "0xBE6271FA207D2cD29C7F9efa90FC725C18560bff",
10691
11321
  "kind": "contract",
10692
- "status": "unsafe",
11322
+ "status": "safe",
10693
11323
  "tags": [
10694
11324
  "core",
10695
11325
  "governance",
10696
11326
  "rewards"
10697
- ]
11327
+ ],
11328
+ "approval": {
11329
+ "basis": "prod-baseline",
11330
+ "pr": 7,
11331
+ "note": "used in production on 2026-10-20: app contracts.ts VESPECTRA_REWARDS_DISTRIBUTOR_ADDRESS; sdk contracts.ts VESPECTRA_REWARDS_DISTRIBUTOR_ADDRESS"
11332
+ }
10698
11333
  },
10699
11334
  {
10700
11335
  "chain": 8453,
10701
11336
  "key": "core.voter",
10702
11337
  "address": "0x174a1f4135Fab6e7B6Dbe207fF557DFF14799D33",
10703
11338
  "kind": "contract",
10704
- "status": "unsafe",
11339
+ "status": "safe",
10705
11340
  "tags": [
10706
11341
  "core",
10707
11342
  "governance"
10708
- ]
11343
+ ],
11344
+ "approval": {
11345
+ "basis": "prod-baseline",
11346
+ "pr": 7,
11347
+ "note": "used in production on 2026-10-20: app contracts.ts VOTER_CONTRACT_ADDRESS; sdk contracts.ts VOTER_CONTRACT_ADDRESS"
11348
+ }
10709
11349
  },
10710
11350
  {
10711
11351
  "chain": 8453,
@@ -10852,12 +11492,17 @@
10852
11492
  "key": "external.cctp.message-transmitter-v2",
10853
11493
  "address": "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
10854
11494
  "kind": "external",
10855
- "status": "unsafe",
11495
+ "status": "safe",
10856
11496
  "tags": [
10857
11497
  "cctp",
10858
11498
  "external",
10859
11499
  "bridge"
10860
- ]
11500
+ ],
11501
+ "approval": {
11502
+ "basis": "prod-baseline",
11503
+ "pr": 7,
11504
+ "note": "used in production on 2026-10-20: app contracts.ts CCTP_MESSAGE_TRANSMITTER_V2_ADDRESS"
11505
+ }
10861
11506
  },
10862
11507
  {
10863
11508
  "chain": 8453,
@@ -10954,6 +11599,23 @@
10954
11599
  "dex"
10955
11600
  ]
10956
11601
  },
11602
+ {
11603
+ "chain": 8453,
11604
+ "key": "external.gnosis.delegate-registry",
11605
+ "address": "0x469788fE6E9E9681C6ebF3bF78e7Fd26Fc015446",
11606
+ "kind": "external",
11607
+ "status": "safe",
11608
+ "tags": [
11609
+ "external",
11610
+ "governance",
11611
+ "snapshot"
11612
+ ],
11613
+ "approval": {
11614
+ "basis": "prod-baseline",
11615
+ "pr": 7,
11616
+ "note": "used in production on 2026-10-20: Gnosis DelegateRegistry (Snapshot delegations) on Base: app src/data/governance.ts DELEGATE_REGISTRY_ADDRESS, governance page (#2306) on origin/main and its address in the prod bundle"
11617
+ }
11618
+ },
10957
11619
  {
10958
11620
  "chain": 8453,
10959
11621
  "key": "external.ipor.plasma-vault-cscbethll",
@@ -11104,12 +11766,17 @@
11104
11766
  "key": "external.merkl.distributor",
11105
11767
  "address": "0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae",
11106
11768
  "kind": "external",
11107
- "status": "unsafe",
11769
+ "status": "safe",
11108
11770
  "tags": [
11109
11771
  "external",
11110
11772
  "merkl",
11111
11773
  "rewards"
11112
- ]
11774
+ ],
11775
+ "approval": {
11776
+ "basis": "prod-baseline",
11777
+ "pr": 7,
11778
+ "note": "used in production on 2026-10-20: app contracts.ts MERKL_DISTRIBUTOR_CONTRACT_ADDRESS"
11779
+ }
11113
11780
  },
11114
11781
  {
11115
11782
  "chain": 8453,
@@ -11161,11 +11828,16 @@
11161
11828
  "key": "external.pendle.router",
11162
11829
  "address": "0x888888888889758F76e7103c6CbF23ABbF58F946",
11163
11830
  "kind": "external",
11164
- "status": "unsafe",
11831
+ "status": "safe",
11165
11832
  "tags": [
11166
11833
  "external",
11167
11834
  "pendle"
11168
- ]
11835
+ ],
11836
+ "approval": {
11837
+ "basis": "prod-baseline",
11838
+ "pr": 7,
11839
+ "note": "used in production on 2026-10-20: sdk contracts.ts PENDLE_ROUTER_ADDRESS"
11840
+ }
11169
11841
  },
11170
11842
  {
11171
11843
  "chain": 8453,
@@ -11195,12 +11867,17 @@
11195
11867
  "key": "external.safe.multisend-call-only-v1.4.1",
11196
11868
  "address": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2",
11197
11869
  "kind": "external",
11198
- "status": "unsafe",
11870
+ "status": "safe",
11199
11871
  "tags": [
11200
11872
  "safe",
11201
11873
  "external",
11202
11874
  "metavaults"
11203
- ]
11875
+ ],
11876
+ "approval": {
11877
+ "basis": "prod-baseline",
11878
+ "pr": 7,
11879
+ "note": "used in production on 2026-10-20: app contracts.ts METAVAULTS_MULTISEND_CONTRACT_ADDRESS"
11880
+ }
11204
11881
  },
11205
11882
  {
11206
11883
  "chain": 8453,
@@ -11605,11 +12282,16 @@
11605
12282
  "key": "metavaults.deposit-forwarder",
11606
12283
  "address": "0xB60a5a26d4f93664212F7E9966b864Aa0aa1e34A",
11607
12284
  "kind": "contract",
11608
- "status": "unsafe",
12285
+ "status": "safe",
11609
12286
  "tags": [
11610
12287
  "metavaults",
11611
12288
  "crosschain"
11612
- ]
12289
+ ],
12290
+ "approval": {
12291
+ "basis": "prod-baseline",
12292
+ "pr": 7,
12293
+ "note": "used in production on 2026-10-20: app index.ts DEPOSIT_FORWARDER_ADDRESS"
12294
+ }
11613
12295
  },
11614
12296
  {
11615
12297
  "chain": 8453,
@@ -11627,11 +12309,16 @@
11627
12309
  "key": "metavaults.factory",
11628
12310
  "address": "0xe8c39396B59D0E86e45439052E46276Fb2Da8481",
11629
12311
  "kind": "factory",
11630
- "status": "unsafe",
12312
+ "status": "safe",
11631
12313
  "tags": [
11632
12314
  "metavaults"
11633
12315
  ],
11634
- "inherit": true
12316
+ "inherit": true,
12317
+ "approval": {
12318
+ "basis": "prod-baseline",
12319
+ "pr": 7,
12320
+ "note": "used in production on 2026-10-20: factory of 4 live MetaVaults"
12321
+ }
11635
12322
  },
11636
12323
  {
11637
12324
  "chain": 8453,
@@ -11725,22 +12412,32 @@
11725
12412
  "key": "metavaults.registry-v1",
11726
12413
  "address": "0xA2C9da26C1982cAcAf01c5c691e0cF0AEB031aC1",
11727
12414
  "kind": "contract",
11728
- "status": "unsafe",
12415
+ "status": "safe",
11729
12416
  "tags": [
11730
12417
  "metavaults",
11731
12418
  "legacy-config"
11732
- ]
12419
+ ],
12420
+ "approval": {
12421
+ "basis": "prod-baseline",
12422
+ "pr": 7,
12423
+ "note": "used in production on 2026-10-20: app contracts.ts METAVAULT_REGISTRY_CONTRACT_ADDRESS"
12424
+ }
11733
12425
  },
11734
12426
  {
11735
12427
  "chain": 8453,
11736
12428
  "key": "metavaults.registry-v2",
11737
12429
  "address": "0xB678F9e94A05d45288D73806aA2d0d6Aecbf47f4",
11738
12430
  "kind": "contract",
11739
- "status": "unsafe",
12431
+ "status": "safe",
11740
12432
  "tags": [
11741
12433
  "metavaults",
11742
12434
  "registry"
11743
- ]
12435
+ ],
12436
+ "approval": {
12437
+ "basis": "prod-baseline",
12438
+ "pr": 7,
12439
+ "note": "used in production on 2026-10-20: sdk contracts.ts METAVAULTS_REGISTRY_V2_ADDRESS"
12440
+ }
11744
12441
  },
11745
12442
  {
11746
12443
  "chain": 8453,
@@ -11888,11 +12585,16 @@
11888
12585
  "key": "metavaults.zap-pool",
11889
12586
  "address": "0xaCF374B06C0eF22DcF40C69618737Fb26ddC23B2",
11890
12587
  "kind": "contract",
11891
- "status": "unsafe",
12588
+ "status": "safe",
11892
12589
  "tags": [
11893
12590
  "metavaults",
11894
12591
  "zap"
11895
- ]
12592
+ ],
12593
+ "approval": {
12594
+ "basis": "prod-baseline",
12595
+ "pr": 7,
12596
+ "note": "used in production on 2026-10-20: app contracts.ts metavaultZapLiquidity"
12597
+ }
11896
12598
  },
11897
12599
  {
11898
12600
  "chain": 8453,
@@ -11932,11 +12634,16 @@
11932
12634
  "key": "metavaults.zap-pt",
11933
12635
  "address": "0x7Eb517A1249D5947C65E2281229649C4F46D89Ae",
11934
12636
  "kind": "contract",
11935
- "status": "unsafe",
12637
+ "status": "safe",
11936
12638
  "tags": [
11937
12639
  "metavaults",
11938
12640
  "zap"
11939
- ]
12641
+ ],
12642
+ "approval": {
12643
+ "basis": "prod-baseline",
12644
+ "pr": 7,
12645
+ "note": "used in production on 2026-10-20: app contracts.ts metavaultZapPt"
12646
+ }
11940
12647
  },
11941
12648
  {
11942
12649
  "chain": 8453,
@@ -12461,22 +13168,32 @@
12461
13168
  "key": "otc.engine",
12462
13169
  "address": "0xC2f72B9E7D14e1525756a56171b8623e6B8c613e",
12463
13170
  "kind": "contract",
12464
- "status": "unsafe",
13171
+ "status": "safe",
12465
13172
  "tags": [
12466
13173
  "otc",
12467
13174
  "unaudited"
12468
- ]
13175
+ ],
13176
+ "approval": {
13177
+ "basis": "prod-baseline",
13178
+ "pr": 7,
13179
+ "note": "used in production on 2026-10-20: prod OTC config limitOrderProtocol"
13180
+ }
12469
13181
  },
12470
13182
  {
12471
13183
  "chain": 8453,
12472
13184
  "key": "otc.order-signer",
12473
13185
  "address": "0xE745a27A8372Ddd99DD856018b637C3823eF1CD1",
12474
13186
  "kind": "contract",
12475
- "status": "unsafe",
13187
+ "status": "safe",
12476
13188
  "tags": [
12477
13189
  "otc",
12478
13190
  "unaudited"
12479
- ]
13191
+ ],
13192
+ "approval": {
13193
+ "basis": "prod-baseline",
13194
+ "pr": 7,
13195
+ "note": "used in production on 2026-10-20: prod OTC config orderSigner"
13196
+ }
12480
13197
  },
12481
13198
  {
12482
13199
  "chain": 8453,
@@ -12494,36 +13211,51 @@
12494
13211
  "key": "otc.takers-guard",
12495
13212
  "address": "0x02CDC7046E17A9B4EE6B9709b03641e99e7FFba1",
12496
13213
  "kind": "contract",
12497
- "status": "unsafe",
13214
+ "status": "safe",
12498
13215
  "tags": [
12499
13216
  "otc",
12500
13217
  "unaudited"
12501
- ]
13218
+ ],
13219
+ "approval": {
13220
+ "basis": "prod-baseline",
13221
+ "pr": 7,
13222
+ "note": "used in production on 2026-10-20: prod OTC config authorizedTakersGuard"
13223
+ }
12502
13224
  },
12503
13225
  {
12504
13226
  "chain": 42161,
12505
13227
  "key": "bridge.apw-migration",
12506
13228
  "address": "0x916cD56a5FBBeae186f488F4DB83b00C103B46e7",
12507
13229
  "kind": "contract",
12508
- "status": "unsafe",
13230
+ "status": "safe",
12509
13231
  "tags": [
12510
13232
  "core",
12511
13233
  "bridge",
12512
13234
  "apw-migration",
12513
13235
  "legacy"
12514
- ]
13236
+ ],
13237
+ "approval": {
13238
+ "basis": "prod-baseline",
13239
+ "pr": 7,
13240
+ "note": "used in production on 2026-10-20: app contracts.ts MIGRATION_BRIDGE_CONTRACT_ADDRESS; sdk contracts.ts MIGRATION_BRIDGE_CONTRACT_ADDRESS"
13241
+ }
12515
13242
  },
12516
13243
  {
12517
13244
  "chain": 42161,
12518
13245
  "key": "bridge.spectra-token",
12519
13246
  "address": "0x5adE7C054645B626ad6430515041FD0cbD638480",
12520
13247
  "kind": "contract",
12521
- "status": "unsafe",
13248
+ "status": "safe",
12522
13249
  "tags": [
12523
13250
  "bridge",
12524
13251
  "layerzero",
12525
13252
  "core"
12526
- ]
13253
+ ],
13254
+ "approval": {
13255
+ "basis": "prod-baseline",
13256
+ "pr": 7,
13257
+ "note": "used in production on 2026-10-20: app contracts.ts SPECTRA_BRIDGE_CONTRACT_ADDRESS; sdk contracts.ts SPECTRA_BRIDGE_CONTRACT_ADDRESS"
13258
+ }
12527
13259
  },
12528
13260
  {
12529
13261
  "chain": 42161,
@@ -12541,23 +13273,33 @@
12541
13273
  "key": "core.apw-token",
12542
13274
  "address": "0x3A67Ca29DdF5eCf1844E811C43F27bD79F9EC310",
12543
13275
  "kind": "contract",
12544
- "status": "unsafe",
13276
+ "status": "safe",
12545
13277
  "tags": [
12546
13278
  "core",
12547
13279
  "protocol-token",
12548
13280
  "legacy"
12549
- ]
13281
+ ],
13282
+ "approval": {
13283
+ "basis": "prod-baseline",
13284
+ "pr": 7,
13285
+ "note": "used in production on 2026-10-20: app contracts.ts APW_CONTRACT_ADDRESS; sdk contracts.ts APW_CONTRACT_ADDRESS"
13286
+ }
12550
13287
  },
12551
13288
  {
12552
13289
  "chain": 42161,
12553
13290
  "key": "core.campaign-manager",
12554
13291
  "address": "0x06c03069de266F58d10A0724a4f65C3D4feFfF4D",
12555
13292
  "kind": "contract",
12556
- "status": "unsafe",
13293
+ "status": "safe",
12557
13294
  "tags": [
12558
13295
  "core",
12559
13296
  "rewards"
12560
- ]
13297
+ ],
13298
+ "approval": {
13299
+ "basis": "prod-baseline",
13300
+ "pr": 7,
13301
+ "note": "used in production on 2026-10-20: app contracts.ts CAMPAIGN_MANAGER_CONTRACT_ADDRESS"
13302
+ }
12561
13303
  },
12562
13304
  {
12563
13305
  "chain": 42161,
@@ -12576,11 +13318,16 @@
12576
13318
  "key": "core.curve-liquidity-arbitrage",
12577
13319
  "address": "0xA784A25ec4011cebE4d8327A8e7f6944F3095ddA",
12578
13320
  "kind": "contract",
12579
- "status": "unsafe",
13321
+ "status": "safe",
12580
13322
  "tags": [
12581
13323
  "core",
12582
13324
  "legacy"
12583
- ]
13325
+ ],
13326
+ "approval": {
13327
+ "basis": "prod-baseline",
13328
+ "pr": 7,
13329
+ "note": "used in production on 2026-10-20: app contracts.ts CURVE_LIQUIDITY_ARBITRAGE_CONTRACT_ADDRESS"
13330
+ }
12584
13331
  },
12585
13332
  {
12586
13333
  "chain": 42161,
@@ -12682,11 +13429,16 @@
12682
13429
  "key": "core.factory",
12683
13430
  "address": "0x9055eBE4E01040c0c4a6D9Bb84a13188981c62D4",
12684
13431
  "kind": "factory",
12685
- "status": "unsafe",
13432
+ "status": "safe",
12686
13433
  "tags": [
12687
13434
  "core"
12688
13435
  ],
12689
- "inherit": true
13436
+ "inherit": true,
13437
+ "approval": {
13438
+ "basis": "prod-baseline",
13439
+ "pr": 7,
13440
+ "note": "used in production on 2026-10-20: app contracts.ts FACTORY_CONTRACT_ADDRESS; sdk contracts.ts FACTORY_CONTRACT_ADDRESS"
13441
+ }
12690
13442
  },
12691
13443
  {
12692
13444
  "chain": 42161,
@@ -12704,11 +13456,16 @@
12704
13456
  "key": "core.factory-legacy",
12705
13457
  "address": "0x51100574E1CF11ee9fcC96D70ED146250b0Fdb60",
12706
13458
  "kind": "factory",
12707
- "status": "unsafe",
13459
+ "status": "safe",
12708
13460
  "tags": [
12709
13461
  "core"
12710
13462
  ],
12711
13463
  "inherit": true,
13464
+ "approval": {
13465
+ "basis": "prod-baseline",
13466
+ "pr": 7,
13467
+ "note": "used in production on 2026-10-20: factory of 14 PTs held in prod portfolios"
13468
+ },
12712
13469
  "notes": "superseded"
12713
13470
  },
12714
13471
  {
@@ -12795,11 +13552,16 @@
12795
13552
  "key": "core.rate-oracle-registry",
12796
13553
  "address": "0x174a1f4135Fab6e7B6Dbe207fF557DFF14799D33",
12797
13554
  "kind": "contract",
12798
- "status": "unsafe",
13555
+ "status": "safe",
12799
13556
  "tags": [
12800
13557
  "core",
12801
13558
  "oracle"
12802
- ]
13559
+ ],
13560
+ "approval": {
13561
+ "basis": "prod-baseline",
13562
+ "pr": 7,
13563
+ "note": "used in production on 2026-10-20: sdk contracts.ts RATE_ORACLE_REGISTRY_CONTRACT_ADDRESS"
13564
+ }
12803
13565
  },
12804
13566
  {
12805
13567
  "chain": 42161,
@@ -12828,10 +13590,15 @@
12828
13590
  "key": "core.registry",
12829
13591
  "address": "0x786Da12e9836a9ff9b7d92e8bac1C849e2ACe378",
12830
13592
  "kind": "contract",
12831
- "status": "unsafe",
13593
+ "status": "safe",
12832
13594
  "tags": [
12833
13595
  "core"
12834
- ]
13596
+ ],
13597
+ "approval": {
13598
+ "basis": "prod-baseline",
13599
+ "pr": 7,
13600
+ "note": "used in production on 2026-10-20: app contracts.ts REGISTRY_CONTRACT_ADDRESS; sdk contracts.ts REGISTRY_CONTRACT_ADDRESS"
13601
+ }
12835
13602
  },
12836
13603
  {
12837
13604
  "chain": 42161,
@@ -12860,10 +13627,15 @@
12860
13627
  "key": "core.router",
12861
13628
  "address": "0x38b9B4884a5581E96eD3882AA2f7449BC321786C",
12862
13629
  "kind": "contract",
12863
- "status": "unsafe",
13630
+ "status": "safe",
12864
13631
  "tags": [
12865
13632
  "core"
12866
- ]
13633
+ ],
13634
+ "approval": {
13635
+ "basis": "prod-baseline",
13636
+ "pr": 7,
13637
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_CONTRACT_ADDRESS"
13638
+ }
12867
13639
  },
12868
13640
  {
12869
13641
  "chain": 42161,
@@ -12930,10 +13702,15 @@
12930
13702
  "key": "core.router-utils",
12931
13703
  "address": "0x7256EFDadF266C0ed10ebb77C47790eC5E961AAC",
12932
13704
  "kind": "contract",
12933
- "status": "unsafe",
13705
+ "status": "safe",
12934
13706
  "tags": [
12935
13707
  "core"
12936
- ]
13708
+ ],
13709
+ "approval": {
13710
+ "basis": "prod-baseline",
13711
+ "pr": 7,
13712
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_UTILS_CONTRACT_ADDRESS"
13713
+ }
12937
13714
  },
12938
13715
  {
12939
13716
  "chain": 42161,
@@ -12952,11 +13729,16 @@
12952
13729
  "key": "core.spectra-token",
12953
13730
  "address": "0x64FCC3A02eeEba05Ef701b7eed066c6ebD5d4E51",
12954
13731
  "kind": "contract",
12955
- "status": "unsafe",
13732
+ "status": "safe",
12956
13733
  "tags": [
12957
13734
  "core",
12958
13735
  "protocol-token"
12959
- ]
13736
+ ],
13737
+ "approval": {
13738
+ "basis": "prod-baseline",
13739
+ "pr": 7,
13740
+ "note": "used in production on 2026-10-20: app contracts.ts SPECTRA_CONTRACT_ADDRESS; sdk contracts.ts SPECTRA_CONTRACT_ADDRESS"
13741
+ }
12960
13742
  },
12961
13743
  {
12962
13744
  "chain": 42161,
@@ -13031,12 +13813,17 @@
13031
13813
  "key": "external.cctp.message-transmitter-v2",
13032
13814
  "address": "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
13033
13815
  "kind": "external",
13034
- "status": "unsafe",
13816
+ "status": "safe",
13035
13817
  "tags": [
13036
13818
  "cctp",
13037
13819
  "external",
13038
13820
  "bridge"
13039
- ]
13821
+ ],
13822
+ "approval": {
13823
+ "basis": "prod-baseline",
13824
+ "pr": 7,
13825
+ "note": "used in production on 2026-10-20: app contracts.ts CCTP_MESSAGE_TRANSMITTER_V2_ADDRESS"
13826
+ }
13040
13827
  },
13041
13828
  {
13042
13829
  "chain": 42161,
@@ -13174,12 +13961,17 @@
13174
13961
  "key": "external.merkl.distributor",
13175
13962
  "address": "0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae",
13176
13963
  "kind": "external",
13177
- "status": "unsafe",
13964
+ "status": "safe",
13178
13965
  "tags": [
13179
13966
  "external",
13180
13967
  "merkl",
13181
13968
  "rewards"
13182
- ]
13969
+ ],
13970
+ "approval": {
13971
+ "basis": "prod-baseline",
13972
+ "pr": 7,
13973
+ "note": "used in production on 2026-10-20: app contracts.ts MERKL_DISTRIBUTOR_CONTRACT_ADDRESS"
13974
+ }
13183
13975
  },
13184
13976
  {
13185
13977
  "chain": 42161,
@@ -13220,23 +14012,33 @@
13220
14012
  "key": "external.pendle.router",
13221
14013
  "address": "0x888888888889758F76e7103c6CbF23ABbF58F946",
13222
14014
  "kind": "external",
13223
- "status": "unsafe",
14015
+ "status": "safe",
13224
14016
  "tags": [
13225
14017
  "external",
13226
14018
  "pendle"
13227
- ]
14019
+ ],
14020
+ "approval": {
14021
+ "basis": "prod-baseline",
14022
+ "pr": 7,
14023
+ "note": "used in production on 2026-10-20: sdk contracts.ts PENDLE_ROUTER_ADDRESS"
14024
+ }
13228
14025
  },
13229
14026
  {
13230
14027
  "chain": 42161,
13231
14028
  "key": "external.safe.multisend-call-only-v1.4.1",
13232
14029
  "address": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2",
13233
14030
  "kind": "external",
13234
- "status": "unsafe",
14031
+ "status": "safe",
13235
14032
  "tags": [
13236
14033
  "external",
13237
14034
  "safe",
13238
14035
  "metavaults"
13239
- ]
14036
+ ],
14037
+ "approval": {
14038
+ "basis": "prod-baseline",
14039
+ "pr": 7,
14040
+ "note": "used in production on 2026-10-20: app contracts.ts METAVAULTS_MULTISEND_CONTRACT_ADDRESS"
14041
+ }
13240
14042
  },
13241
14043
  {
13242
14044
  "chain": 42161,
@@ -13570,6 +14372,23 @@
13570
14372
  "legacy-config"
13571
14373
  ]
13572
14374
  },
14375
+ {
14376
+ "chain": 42161,
14377
+ "key": "metavaults.factory",
14378
+ "address": "0x38F021eeDDb284Ab36F62e68D5D8Db81C96eE76A",
14379
+ "kind": "factory",
14380
+ "status": "safe",
14381
+ "tags": [
14382
+ "metavaults"
14383
+ ],
14384
+ "inherit": true,
14385
+ "approval": {
14386
+ "basis": "prod-baseline",
14387
+ "pr": 7,
14388
+ "note": "used in production on 2026-10-20: core.factory of the on-chain MetaVaultsRegistryV2 on Arbitrum; creator of 1 served Arbitrum MetaVault (1 of them denylisted)"
14389
+ },
14390
+ "notes": "Restored: it was removed in #3 together with the Arbitrum test vaults, but it is the live Arbitrum MetaVaultFactory."
14391
+ },
13573
14392
  {
13574
14393
  "chain": 42161,
13575
14394
  "key": "metavaults.factory-impl",
@@ -13640,22 +14459,32 @@
13640
14459
  "key": "metavaults.registry-v1",
13641
14460
  "address": "0xA355DD06F35BCfE98e45f743397b729B93c560Be",
13642
14461
  "kind": "contract",
13643
- "status": "unsafe",
14462
+ "status": "safe",
13644
14463
  "tags": [
13645
14464
  "metavaults",
13646
14465
  "legacy-config"
13647
- ]
14466
+ ],
14467
+ "approval": {
14468
+ "basis": "prod-baseline",
14469
+ "pr": 7,
14470
+ "note": "used in production on 2026-10-20: app contracts.ts METAVAULT_REGISTRY_CONTRACT_ADDRESS"
14471
+ }
13648
14472
  },
13649
14473
  {
13650
14474
  "chain": 42161,
13651
14475
  "key": "metavaults.registry-v2",
13652
14476
  "address": "0x67022F963A79e3802aDfe7eB3aCa337fce578c9B",
13653
14477
  "kind": "contract",
13654
- "status": "unsafe",
14478
+ "status": "safe",
13655
14479
  "tags": [
13656
14480
  "metavaults",
13657
14481
  "registry"
13658
- ]
14482
+ ],
14483
+ "approval": {
14484
+ "basis": "prod-baseline",
14485
+ "pr": 7,
14486
+ "note": "used in production on 2026-10-20: sdk contracts.ts METAVAULTS_REGISTRY_V2_ADDRESS"
14487
+ }
13659
14488
  },
13660
14489
  {
13661
14490
  "chain": 42161,
@@ -13749,11 +14578,16 @@
13749
14578
  "key": "metavaults.zap-pool",
13750
14579
  "address": "0x5128b9C466270Fe44A8baF2BC6e035CD2272889d",
13751
14580
  "kind": "contract",
13752
- "status": "unsafe",
14581
+ "status": "safe",
13753
14582
  "tags": [
13754
14583
  "metavaults",
13755
14584
  "zap"
13756
- ]
14585
+ ],
14586
+ "approval": {
14587
+ "basis": "prod-baseline",
14588
+ "pr": 7,
14589
+ "note": "used in production on 2026-10-20: app contracts.ts metavaultZapLiquidity"
14590
+ }
13757
14591
  },
13758
14592
  {
13759
14593
  "chain": 42161,
@@ -13783,11 +14617,16 @@
13783
14617
  "key": "metavaults.zap-pt",
13784
14618
  "address": "0xd0d11E311C02Ba11894fED1F42E2Aabb247e36F3",
13785
14619
  "kind": "contract",
13786
- "status": "unsafe",
14620
+ "status": "safe",
13787
14621
  "tags": [
13788
14622
  "metavaults",
13789
14623
  "zap"
13790
- ]
14624
+ ],
14625
+ "approval": {
14626
+ "basis": "prod-baseline",
14627
+ "pr": 7,
14628
+ "note": "used in production on 2026-10-20: app contracts.ts metavaultZapPt"
14629
+ }
13791
14630
  },
13792
14631
  {
13793
14632
  "chain": 42161,
@@ -14159,12 +14998,17 @@
14159
14998
  "key": "bridge.spectra-token",
14160
14999
  "address": "0x03E2eC137c6aB82978D52eDB7b504ad2DEb13F96",
14161
15000
  "kind": "contract",
14162
- "status": "unsafe",
15001
+ "status": "safe",
14163
15002
  "tags": [
14164
15003
  "bridge",
14165
15004
  "layerzero",
14166
15005
  "core"
14167
- ]
15006
+ ],
15007
+ "approval": {
15008
+ "basis": "prod-baseline",
15009
+ "pr": 7,
15010
+ "note": "used in production on 2026-10-20: app contracts.ts SPECTRA_BRIDGE_CONTRACT_ADDRESS; sdk contracts.ts SPECTRA_BRIDGE_CONTRACT_ADDRESS"
15011
+ }
14168
15012
  },
14169
15013
  {
14170
15014
  "chain": 43111,
@@ -14183,11 +15027,16 @@
14183
15027
  "key": "core.campaign-manager",
14184
15028
  "address": "0xACfEE9a21Fc48040F12793bd5A478dd155AC04FD",
14185
15029
  "kind": "contract",
14186
- "status": "unsafe",
15030
+ "status": "safe",
14187
15031
  "tags": [
14188
15032
  "core",
14189
15033
  "rewards"
14190
- ]
15034
+ ],
15035
+ "approval": {
15036
+ "basis": "prod-baseline",
15037
+ "pr": 7,
15038
+ "note": "used in production on 2026-10-20: app contracts.ts CAMPAIGN_MANAGER_CONTRACT_ADDRESS"
15039
+ }
14191
15040
  },
14192
15041
  {
14193
15042
  "chain": 43111,
@@ -14227,10 +15076,15 @@
14227
15076
  "key": "core.curve-liquidity-arbitrage",
14228
15077
  "address": "0x6482200a5bF0975F5DA70A48a39D1314d31B8Adb",
14229
15078
  "kind": "contract",
14230
- "status": "unsafe",
15079
+ "status": "safe",
14231
15080
  "tags": [
14232
15081
  "core"
14233
- ]
15082
+ ],
15083
+ "approval": {
15084
+ "basis": "prod-baseline",
15085
+ "pr": 7,
15086
+ "note": "used in production on 2026-10-20: app contracts.ts CURVE_LIQUIDITY_ARBITRAGE_CONTRACT_ADDRESS"
15087
+ }
14234
15088
  },
14235
15089
  {
14236
15090
  "chain": 43111,
@@ -14344,11 +15198,16 @@
14344
15198
  "key": "core.factory",
14345
15199
  "address": "0x2c06c9D02a3455F1B22B9365EB76Bf558dB1B947",
14346
15200
  "kind": "factory",
14347
- "status": "unsafe",
15201
+ "status": "safe",
14348
15202
  "tags": [
14349
15203
  "core"
14350
15204
  ],
14351
- "inherit": true
15205
+ "inherit": true,
15206
+ "approval": {
15207
+ "basis": "prod-baseline",
15208
+ "pr": 7,
15209
+ "note": "used in production on 2026-10-20: app contracts.ts FACTORY_CONTRACT_ADDRESS; sdk contracts.ts FACTORY_CONTRACT_ADDRESS"
15210
+ }
14352
15211
  },
14353
15212
  {
14354
15213
  "chain": 43111,
@@ -14474,11 +15333,16 @@
14474
15333
  "key": "core.rate-oracle-registry",
14475
15334
  "address": "0x916cD56a5FBBeae186f488F4DB83b00C103B46e7",
14476
15335
  "kind": "contract",
14477
- "status": "unsafe",
15336
+ "status": "safe",
14478
15337
  "tags": [
14479
15338
  "core",
14480
15339
  "oracle"
14481
- ]
15340
+ ],
15341
+ "approval": {
15342
+ "basis": "prod-baseline",
15343
+ "pr": 7,
15344
+ "note": "used in production on 2026-10-20: sdk contracts.ts RATE_ORACLE_REGISTRY_CONTRACT_ADDRESS"
15345
+ }
14482
15346
  },
14483
15347
  {
14484
15348
  "chain": 43111,
@@ -14507,11 +15371,16 @@
14507
15371
  "key": "core.registry",
14508
15372
  "address": "0x786Da12e9836a9ff9b7d92e8bac1C849e2ACe378",
14509
15373
  "kind": "contract",
14510
- "status": "unsafe",
15374
+ "status": "safe",
14511
15375
  "tags": [
14512
15376
  "core",
14513
15377
  "legacy"
14514
- ]
15378
+ ],
15379
+ "approval": {
15380
+ "basis": "prod-baseline",
15381
+ "pr": 7,
15382
+ "note": "used in production on 2026-10-20: app contracts.ts REGISTRY_CONTRACT_ADDRESS; sdk contracts.ts REGISTRY_CONTRACT_ADDRESS"
15383
+ }
14515
15384
  },
14516
15385
  {
14517
15386
  "chain": 43111,
@@ -14542,10 +15411,15 @@
14542
15411
  "key": "core.router",
14543
15412
  "address": "0xa3eeA13183421c9A8BDA0BDEe191B70De8CA445D",
14544
15413
  "kind": "contract",
14545
- "status": "unsafe",
15414
+ "status": "safe",
14546
15415
  "tags": [
14547
15416
  "core"
14548
- ]
15417
+ ],
15418
+ "approval": {
15419
+ "basis": "prod-baseline",
15420
+ "pr": 7,
15421
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_CONTRACT_ADDRESS"
15422
+ }
14549
15423
  },
14550
15424
  {
14551
15425
  "chain": 43111,
@@ -14612,10 +15486,15 @@
14612
15486
  "key": "core.router-utils",
14613
15487
  "address": "0xB77f1A8CB126D8567f226f990F84e2f698Cc30F8",
14614
15488
  "kind": "contract",
14615
- "status": "unsafe",
15489
+ "status": "safe",
14616
15490
  "tags": [
14617
15491
  "core"
14618
- ]
15492
+ ],
15493
+ "approval": {
15494
+ "basis": "prod-baseline",
15495
+ "pr": 7,
15496
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_UTILS_CONTRACT_ADDRESS"
15497
+ }
14619
15498
  },
14620
15499
  {
14621
15500
  "chain": 43111,
@@ -14656,11 +15535,16 @@
14656
15535
  "key": "core.spectra-token",
14657
15536
  "address": "0x392fca63e58C1870fBeC04Eb6518A75703Dd2954",
14658
15537
  "kind": "contract",
14659
- "status": "unsafe",
15538
+ "status": "safe",
14660
15539
  "tags": [
14661
15540
  "core",
14662
15541
  "protocol-token"
14663
- ]
15542
+ ],
15543
+ "approval": {
15544
+ "basis": "prod-baseline",
15545
+ "pr": 7,
15546
+ "note": "used in production on 2026-10-20: app contracts.ts SPECTRA_CONTRACT_ADDRESS; sdk contracts.ts SPECTRA_CONTRACT_ADDRESS"
15547
+ }
14664
15548
  },
14665
15549
  {
14666
15550
  "chain": 43111,
@@ -14788,23 +15672,33 @@
14788
15672
  "key": "external.merkl.distributor",
14789
15673
  "address": "0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae",
14790
15674
  "kind": "external",
14791
- "status": "unsafe",
15675
+ "status": "safe",
14792
15676
  "tags": [
14793
15677
  "external",
14794
15678
  "merkl",
14795
15679
  "rewards"
14796
- ]
15680
+ ],
15681
+ "approval": {
15682
+ "basis": "prod-baseline",
15683
+ "pr": 7,
15684
+ "note": "used in production on 2026-10-20: app contracts.ts MERKL_DISTRIBUTOR_CONTRACT_ADDRESS"
15685
+ }
14797
15686
  },
14798
15687
  {
14799
15688
  "chain": 43111,
14800
15689
  "key": "external.multicall3",
14801
15690
  "address": "0xcA11bde05977b3631167028862bE2a173976CA11",
14802
15691
  "kind": "external",
14803
- "status": "unsafe",
15692
+ "status": "safe",
14804
15693
  "tags": [
14805
15694
  "external",
14806
15695
  "multicall"
14807
- ]
15696
+ ],
15697
+ "approval": {
15698
+ "basis": "prod-baseline",
15699
+ "pr": 7,
15700
+ "note": "used in production on 2026-10-20: app chains.ts address"
15701
+ }
14808
15702
  },
14809
15703
  {
14810
15704
  "chain": 43111,
@@ -15283,12 +16177,17 @@
15283
16177
  "key": "bridge.spectra-token",
15284
16178
  "address": "0x1C77c5B76f02eD1538D5Af95A3B1f88e55178D2f",
15285
16179
  "kind": "contract",
15286
- "status": "unsafe",
16180
+ "status": "safe",
15287
16181
  "tags": [
15288
16182
  "bridge",
15289
16183
  "layerzero",
15290
16184
  "core"
15291
- ]
16185
+ ],
16186
+ "approval": {
16187
+ "basis": "prod-baseline",
16188
+ "pr": 7,
16189
+ "note": "used in production on 2026-10-20: app contracts.ts SPECTRA_BRIDGE_CONTRACT_ADDRESS; sdk contracts.ts SPECTRA_BRIDGE_CONTRACT_ADDRESS"
16190
+ }
15292
16191
  },
15293
16192
  {
15294
16193
  "chain": 43114,
@@ -15350,10 +16249,15 @@
15350
16249
  "key": "core.curve-liquidity-arbitrage",
15351
16250
  "address": "0x5390d7C6B8139Ae9D255Ed9e7ae6274e18032AbE",
15352
16251
  "kind": "contract",
15353
- "status": "unsafe",
16252
+ "status": "safe",
15354
16253
  "tags": [
15355
16254
  "core"
15356
- ]
16255
+ ],
16256
+ "approval": {
16257
+ "basis": "prod-baseline",
16258
+ "pr": 7,
16259
+ "note": "used in production on 2026-10-20: app contracts.ts CURVE_LIQUIDITY_ARBITRAGE_CONTRACT_ADDRESS"
16260
+ }
15357
16261
  },
15358
16262
  {
15359
16263
  "chain": 43114,
@@ -15467,11 +16371,16 @@
15467
16371
  "key": "core.factory",
15468
16372
  "address": "0x64FCC3A02eeEba05Ef701b7eed066c6ebD5d4E51",
15469
16373
  "kind": "factory",
15470
- "status": "unsafe",
16374
+ "status": "safe",
15471
16375
  "tags": [
15472
16376
  "core"
15473
16377
  ],
15474
- "inherit": true
16378
+ "inherit": true,
16379
+ "approval": {
16380
+ "basis": "prod-baseline",
16381
+ "pr": 7,
16382
+ "note": "used in production on 2026-10-20: app contracts.ts FACTORY_CONTRACT_ADDRESS; sdk contracts.ts FACTORY_CONTRACT_ADDRESS; factory of 2 live PTs and factory of 3 PTs held in prod portfolios"
16383
+ }
15475
16384
  },
15476
16385
  {
15477
16386
  "chain": 43114,
@@ -15594,11 +16503,16 @@
15594
16503
  "key": "core.rate-oracle-registry",
15595
16504
  "address": "0x248f43B622cE2F35A14dB3FC528284730b619cD5",
15596
16505
  "kind": "contract",
15597
- "status": "unsafe",
16506
+ "status": "safe",
15598
16507
  "tags": [
15599
16508
  "core",
15600
16509
  "oracle"
15601
- ]
16510
+ ],
16511
+ "approval": {
16512
+ "basis": "prod-baseline",
16513
+ "pr": 7,
16514
+ "note": "used in production on 2026-10-20: sdk contracts.ts RATE_ORACLE_REGISTRY_CONTRACT_ADDRESS"
16515
+ }
15602
16516
  },
15603
16517
  {
15604
16518
  "chain": 43114,
@@ -15627,10 +16541,15 @@
15627
16541
  "key": "core.registry",
15628
16542
  "address": "0x786Da12e9836a9ff9b7d92e8bac1C849e2ACe378",
15629
16543
  "kind": "contract",
15630
- "status": "unsafe",
16544
+ "status": "safe",
15631
16545
  "tags": [
15632
16546
  "core"
15633
- ]
16547
+ ],
16548
+ "approval": {
16549
+ "basis": "prod-baseline",
16550
+ "pr": 7,
16551
+ "note": "used in production on 2026-10-20: app contracts.ts REGISTRY_CONTRACT_ADDRESS; sdk contracts.ts REGISTRY_CONTRACT_ADDRESS"
16552
+ }
15634
16553
  },
15635
16554
  {
15636
16555
  "chain": 43114,
@@ -15659,10 +16578,15 @@
15659
16578
  "key": "core.router",
15660
16579
  "address": "0x8A92294ffCFe469a3DF4A85c76a0B0d2B3292119",
15661
16580
  "kind": "contract",
15662
- "status": "unsafe",
16581
+ "status": "safe",
15663
16582
  "tags": [
15664
16583
  "core"
15665
- ]
16584
+ ],
16585
+ "approval": {
16586
+ "basis": "prod-baseline",
16587
+ "pr": 7,
16588
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_CONTRACT_ADDRESS"
16589
+ }
15666
16590
  },
15667
16591
  {
15668
16592
  "chain": 43114,
@@ -15729,10 +16653,15 @@
15729
16653
  "key": "core.router-utils",
15730
16654
  "address": "0x2811B38F354d317716C0D35C3Cfb9825b6BAC642",
15731
16655
  "kind": "contract",
15732
- "status": "unsafe",
16656
+ "status": "safe",
15733
16657
  "tags": [
15734
16658
  "core"
15735
- ]
16659
+ ],
16660
+ "approval": {
16661
+ "basis": "prod-baseline",
16662
+ "pr": 7,
16663
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_UTILS_CONTRACT_ADDRESS"
16664
+ }
15736
16665
  },
15737
16666
  {
15738
16667
  "chain": 43114,
@@ -15773,11 +16702,16 @@
15773
16702
  "key": "core.spectra-token",
15774
16703
  "address": "0x4baB31D6c557F8285eccB5167095147a36D9BaFa",
15775
16704
  "kind": "contract",
15776
- "status": "unsafe",
16705
+ "status": "safe",
15777
16706
  "tags": [
15778
16707
  "core",
15779
16708
  "protocol-token"
15780
- ]
16709
+ ],
16710
+ "approval": {
16711
+ "basis": "prod-baseline",
16712
+ "pr": 7,
16713
+ "note": "used in production on 2026-10-20: app contracts.ts SPECTRA_CONTRACT_ADDRESS; sdk contracts.ts SPECTRA_CONTRACT_ADDRESS"
16714
+ }
15781
16715
  },
15782
16716
  {
15783
16717
  "chain": 43114,
@@ -15914,12 +16848,17 @@
15914
16848
  "key": "external.cctp.message-transmitter-v2",
15915
16849
  "address": "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
15916
16850
  "kind": "external",
15917
- "status": "unsafe",
16851
+ "status": "safe",
15918
16852
  "tags": [
15919
16853
  "cctp",
15920
16854
  "external",
15921
16855
  "bridge"
15922
- ]
16856
+ ],
16857
+ "approval": {
16858
+ "basis": "prod-baseline",
16859
+ "pr": 7,
16860
+ "note": "used in production on 2026-10-20: app contracts.ts CCTP_MESSAGE_TRANSMITTER_V2_ADDRESS"
16861
+ }
15923
16862
  },
15924
16863
  {
15925
16864
  "chain": 43114,
@@ -16057,11 +16996,16 @@
16057
16996
  "key": "external.merkl.distributor",
16058
16997
  "address": "0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae",
16059
16998
  "kind": "external",
16060
- "status": "unsafe",
16999
+ "status": "safe",
16061
17000
  "tags": [
16062
17001
  "external",
16063
17002
  "rewards"
16064
- ]
17003
+ ],
17004
+ "approval": {
17005
+ "basis": "prod-baseline",
17006
+ "pr": 7,
17007
+ "note": "used in production on 2026-10-20: app contracts.ts MERKL_DISTRIBUTOR_CONTRACT_ADDRESS"
17008
+ }
16065
17009
  },
16066
17010
  {
16067
17011
  "chain": 43114,
@@ -16125,12 +17069,17 @@
16125
17069
  "key": "external.safe.multisend-call-only-v1.4.1",
16126
17070
  "address": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2",
16127
17071
  "kind": "external",
16128
- "status": "unsafe",
17072
+ "status": "safe",
16129
17073
  "tags": [
16130
17074
  "external",
16131
17075
  "safe",
16132
17076
  "metavaults"
16133
- ]
17077
+ ],
17078
+ "approval": {
17079
+ "basis": "prod-baseline",
17080
+ "pr": 7,
17081
+ "note": "used in production on 2026-10-20: app contracts.ts METAVAULTS_MULTISEND_CONTRACT_ADDRESS"
17082
+ }
16134
17083
  },
16135
17084
  {
16136
17085
  "chain": 43114,
@@ -16447,11 +17396,16 @@
16447
17396
  "key": "metavaults.factory",
16448
17397
  "address": "0x5620CD357b5F096cf2638F304433391e297EfddA",
16449
17398
  "kind": "factory",
16450
- "status": "unsafe",
17399
+ "status": "safe",
16451
17400
  "tags": [
16452
17401
  "metavaults"
16453
17402
  ],
16454
- "inherit": true
17403
+ "inherit": true,
17404
+ "approval": {
17405
+ "basis": "prod-baseline",
17406
+ "pr": 7,
17407
+ "note": "used in production on 2026-10-20: factory of 2 live MetaVaults"
17408
+ }
16455
17409
  },
16456
17410
  {
16457
17411
  "chain": 43114,
@@ -16523,22 +17477,32 @@
16523
17477
  "key": "metavaults.registry-v1",
16524
17478
  "address": "0xACF33983CAb5F9e914E6A93A2f4D531B5c516602",
16525
17479
  "kind": "contract",
16526
- "status": "unsafe",
17480
+ "status": "safe",
16527
17481
  "tags": [
16528
17482
  "metavaults",
16529
17483
  "legacy-config"
16530
- ]
17484
+ ],
17485
+ "approval": {
17486
+ "basis": "prod-baseline",
17487
+ "pr": 7,
17488
+ "note": "used in production on 2026-10-20: app contracts.ts METAVAULT_REGISTRY_CONTRACT_ADDRESS"
17489
+ }
16531
17490
  },
16532
17491
  {
16533
17492
  "chain": 43114,
16534
17493
  "key": "metavaults.registry-v2",
16535
17494
  "address": "0x8446918684638c38451569A9eE01B2E883815302",
16536
17495
  "kind": "contract",
16537
- "status": "unsafe",
17496
+ "status": "safe",
16538
17497
  "tags": [
16539
17498
  "metavaults",
16540
17499
  "registry"
16541
- ]
17500
+ ],
17501
+ "approval": {
17502
+ "basis": "prod-baseline",
17503
+ "pr": 7,
17504
+ "note": "used in production on 2026-10-20: sdk contracts.ts METAVAULTS_REGISTRY_V2_ADDRESS"
17505
+ }
16542
17506
  },
16543
17507
  {
16544
17508
  "chain": 43114,
@@ -16632,11 +17596,16 @@
16632
17596
  "key": "metavaults.zap-pool",
16633
17597
  "address": "0xAC3deaB251A9C01248Fae52E028Ef9fBd92c5Aa0",
16634
17598
  "kind": "contract",
16635
- "status": "unsafe",
17599
+ "status": "safe",
16636
17600
  "tags": [
16637
17601
  "metavaults",
16638
17602
  "zap"
16639
- ]
17603
+ ],
17604
+ "approval": {
17605
+ "basis": "prod-baseline",
17606
+ "pr": 7,
17607
+ "note": "used in production on 2026-10-20: app contracts.ts metavaultZapLiquidity"
17608
+ }
16640
17609
  },
16641
17610
  {
16642
17611
  "chain": 43114,
@@ -16666,11 +17635,16 @@
16666
17635
  "key": "metavaults.zap-pt",
16667
17636
  "address": "0x5342f3CD489769b18818bd0a99405E1F81B4dfB8",
16668
17637
  "kind": "contract",
16669
- "status": "unsafe",
17638
+ "status": "safe",
16670
17639
  "tags": [
16671
17640
  "metavaults",
16672
17641
  "zap"
16673
- ]
17642
+ ],
17643
+ "approval": {
17644
+ "basis": "prod-baseline",
17645
+ "pr": 7,
17646
+ "note": "used in production on 2026-10-20: app contracts.ts metavaultZapPt"
17647
+ }
16674
17648
  },
16675
17649
  {
16676
17650
  "chain": 43114,
@@ -17042,12 +18016,17 @@
17042
18016
  "key": "bridge.spectra-token",
17043
18017
  "address": "0x54a1E56176139a963D7582fA9d0Da3b0aEFA16C0",
17044
18018
  "kind": "contract",
17045
- "status": "unsafe",
18019
+ "status": "safe",
17046
18020
  "tags": [
17047
18021
  "bridge",
17048
18022
  "layerzero",
17049
18023
  "core"
17050
- ]
18024
+ ],
18025
+ "approval": {
18026
+ "basis": "prod-baseline",
18027
+ "pr": 7,
18028
+ "note": "used in production on 2026-10-20: app contracts.ts SPECTRA_BRIDGE_CONTRACT_ADDRESS; sdk contracts.ts SPECTRA_BRIDGE_CONTRACT_ADDRESS"
18029
+ }
17051
18030
  },
17052
18031
  {
17053
18032
  "chain": 747474,
@@ -17067,10 +18046,15 @@
17067
18046
  "key": "core.curve-liquidity-arbitrage",
17068
18047
  "address": "0x3d72440af4b0312084BC51A2038180876D208832",
17069
18048
  "kind": "contract",
17070
- "status": "unsafe",
18049
+ "status": "safe",
17071
18050
  "tags": [
17072
18051
  "core"
17073
- ]
18052
+ ],
18053
+ "approval": {
18054
+ "basis": "prod-baseline",
18055
+ "pr": 7,
18056
+ "note": "used in production on 2026-10-20: app contracts.ts CURVE_LIQUIDITY_ARBITRAGE_CONTRACT_ADDRESS"
18057
+ }
17074
18058
  },
17075
18059
  {
17076
18060
  "chain": 747474,
@@ -17138,11 +18122,16 @@
17138
18122
  "key": "core.factory",
17139
18123
  "address": "0xAc61e44816160028474FD9f5bAAE492b5620f370",
17140
18124
  "kind": "factory",
17141
- "status": "unsafe",
18125
+ "status": "safe",
17142
18126
  "tags": [
17143
18127
  "core"
17144
18128
  ],
17145
- "inherit": true
18129
+ "inherit": true,
18130
+ "approval": {
18131
+ "basis": "prod-baseline",
18132
+ "pr": 7,
18133
+ "note": "used in production on 2026-10-20: app contracts.ts FACTORY_CONTRACT_ADDRESS; sdk contracts.ts FACTORY_CONTRACT_ADDRESS; factory of 2 live PTs and factory of 5 PTs held in prod portfolios"
18134
+ }
17146
18135
  },
17147
18136
  {
17148
18137
  "chain": 747474,
@@ -17226,11 +18215,16 @@
17226
18215
  "key": "core.rate-oracle-registry",
17227
18216
  "address": "0xfBf41e85101D520d5763443Db528EA099aBEa955",
17228
18217
  "kind": "contract",
17229
- "status": "unsafe",
18218
+ "status": "safe",
17230
18219
  "tags": [
17231
18220
  "core",
17232
18221
  "oracle"
17233
- ]
18222
+ ],
18223
+ "approval": {
18224
+ "basis": "prod-baseline",
18225
+ "pr": 7,
18226
+ "note": "used in production on 2026-10-20: sdk contracts.ts RATE_ORACLE_REGISTRY_CONTRACT_ADDRESS"
18227
+ }
17234
18228
  },
17235
18229
  {
17236
18230
  "chain": 747474,
@@ -17259,10 +18253,15 @@
17259
18253
  "key": "core.registry",
17260
18254
  "address": "0x09176eacAA413cc0722aa5AD716820E8f19682b7",
17261
18255
  "kind": "contract",
17262
- "status": "unsafe",
18256
+ "status": "safe",
17263
18257
  "tags": [
17264
18258
  "core"
17265
- ]
18259
+ ],
18260
+ "approval": {
18261
+ "basis": "prod-baseline",
18262
+ "pr": 7,
18263
+ "note": "used in production on 2026-10-20: app contracts.ts REGISTRY_CONTRACT_ADDRESS; sdk contracts.ts REGISTRY_CONTRACT_ADDRESS"
18264
+ }
17266
18265
  },
17267
18266
  {
17268
18267
  "chain": 747474,
@@ -17291,10 +18290,15 @@
17291
18290
  "key": "core.router",
17292
18291
  "address": "0x15E4F4d96263A237111e9b418EFD5AF66A303bC7",
17293
18292
  "kind": "contract",
17294
- "status": "unsafe",
18293
+ "status": "safe",
17295
18294
  "tags": [
17296
18295
  "core"
17297
- ]
18296
+ ],
18297
+ "approval": {
18298
+ "basis": "prod-baseline",
18299
+ "pr": 7,
18300
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_CONTRACT_ADDRESS"
18301
+ }
17298
18302
  },
17299
18303
  {
17300
18304
  "chain": 747474,
@@ -17323,10 +18327,15 @@
17323
18327
  "key": "core.router-utils",
17324
18328
  "address": "0x4425779F145f6599CFCeAa9443b497a7a2DFdB17",
17325
18329
  "kind": "contract",
17326
- "status": "unsafe",
18330
+ "status": "safe",
17327
18331
  "tags": [
17328
18332
  "core"
17329
- ]
18333
+ ],
18334
+ "approval": {
18335
+ "basis": "prod-baseline",
18336
+ "pr": 7,
18337
+ "note": "used in production on 2026-10-20: app contracts.ts ROUTER_UTILS_CONTRACT_ADDRESS"
18338
+ }
17330
18339
  },
17331
18340
  {
17332
18341
  "chain": 747474,
@@ -17355,11 +18364,16 @@
17355
18364
  "key": "core.spectra-token",
17356
18365
  "address": "0xB77f1A8CB126D8567f226f990F84e2f698Cc30F8",
17357
18366
  "kind": "contract",
17358
- "status": "unsafe",
18367
+ "status": "safe",
17359
18368
  "tags": [
17360
18369
  "core",
17361
18370
  "protocol-token"
17362
- ]
18371
+ ],
18372
+ "approval": {
18373
+ "basis": "prod-baseline",
18374
+ "pr": 7,
18375
+ "note": "used in production on 2026-10-20: app contracts.ts SPECTRA_CONTRACT_ADDRESS; sdk contracts.ts SPECTRA_CONTRACT_ADDRESS"
18376
+ }
17363
18377
  },
17364
18378
  {
17365
18379
  "chain": 747474,
@@ -17412,48 +18426,68 @@
17412
18426
  "key": "external.katana.kat",
17413
18427
  "address": "0x7F1f4b4b29f5058fA32CC7a97141b8D7e5ABDC2d",
17414
18428
  "kind": "external",
17415
- "status": "unsafe",
18429
+ "status": "safe",
17416
18430
  "tags": [
17417
18431
  "external",
17418
18432
  "token",
17419
18433
  "rewards"
17420
- ]
18434
+ ],
18435
+ "approval": {
18436
+ "basis": "prod-baseline",
18437
+ "pr": 7,
18438
+ "note": "used in production on 2026-10-20: app katRewards.ts (hardcoded, also in the prod bundle)"
18439
+ }
17421
18440
  },
17422
18441
  {
17423
18442
  "chain": 747474,
17424
18443
  "key": "external.katana.kat-reward-wrapper",
17425
18444
  "address": "0x3419966bC74fa8f951108d15b053bEd233974d3D",
17426
18445
  "kind": "external",
17427
- "status": "unsafe",
18446
+ "status": "safe",
17428
18447
  "tags": [
17429
18448
  "external",
17430
18449
  "token",
17431
18450
  "rewards"
17432
- ]
18451
+ ],
18452
+ "approval": {
18453
+ "basis": "prod-baseline",
18454
+ "pr": 7,
18455
+ "note": "used in production on 2026-10-20: app katRewards.ts (hardcoded, also in the prod bundle)"
18456
+ }
17433
18457
  },
17434
18458
  {
17435
18459
  "chain": 747474,
17436
18460
  "key": "external.katana.kat-reward-wrapper-alt",
17437
18461
  "address": "0x6E9C1F88a960fE63387eb4b71BC525a9313d8461",
17438
18462
  "kind": "external",
17439
- "status": "unsafe",
18463
+ "status": "safe",
17440
18464
  "tags": [
17441
18465
  "external",
17442
18466
  "token",
17443
18467
  "rewards"
17444
- ]
18468
+ ],
18469
+ "approval": {
18470
+ "basis": "prod-baseline",
18471
+ "pr": 7,
18472
+ "note": "used in production on 2026-10-20: app katRewards.ts (hardcoded, also in the prod bundle)"
18473
+ }
17445
18474
  },
17446
18475
  {
17447
18476
  "chain": 747474,
17448
18477
  "key": "external.katana.kat-reward-wrapper-alt2",
17449
18478
  "address": "0x3ba1fbC4c3aEA775d335b31fb53778f46FD3a330",
17450
18479
  "kind": "external",
17451
- "status": "unsafe",
18480
+ "status": "safe",
17452
18481
  "tags": [
17453
18482
  "external",
17454
18483
  "token",
17455
18484
  "rewards"
17456
- ]
18485
+ ],
18486
+ "approval": {
18487
+ "basis": "prod-baseline",
18488
+ "pr": 7,
18489
+ "note": "used in production on 2026-10-20: app katRewards.ts (hardcoded, also in the prod bundle)"
18490
+ }
17457
18491
  },
17458
18492
  {
17459
18493
  "chain": 747474,
@@ -17533,35 +18567,50 @@
17533
18567
  "key": "external.merkl.distributor",
17534
18568
  "address": "0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae",
17535
18569
  "kind": "external",
17536
- "status": "unsafe",
18570
+ "status": "safe",
17537
18571
  "tags": [
17538
18572
  "external",
17539
18573
  "merkl",
17540
18574
  "rewards"
17541
- ]
18575
+ ],
18576
+ "approval": {
18577
+ "basis": "prod-baseline",
18578
+ "pr": 7,
18579
+ "note": "used in production on 2026-10-20: app contracts.ts MERKL_DISTRIBUTOR_CONTRACT_ADDRESS"
18580
+ }
17542
18581
  },
17543
18582
  {
17544
18583
  "chain": 747474,
17545
18584
  "key": "external.multicall3",
17546
18585
  "address": "0xcA11bde05977b3631167028862bE2a173976CA11",
17547
18586
  "kind": "external",
17548
- "status": "unsafe",
18587
+ "status": "safe",
17549
18588
  "tags": [
17550
18589
  "external",
17551
18590
  "multicall"
17552
- ]
18591
+ ],
18592
+ "approval": {
18593
+ "basis": "prod-baseline",
18594
+ "pr": 7,
18595
+ "note": "used in production on 2026-10-20: app customChains.ts address"
18596
+ }
17553
18597
  },
17554
18598
  {
17555
18599
  "chain": 747474,
17556
18600
  "key": "external.safe.multisend-call-only-v1.4.1",
17557
18601
  "address": "0x9641d764fc13c8B624c04430C7356C1C7C8102e2",
17558
18602
  "kind": "external",
17559
- "status": "unsafe",
18603
+ "status": "safe",
17560
18604
  "tags": [
17561
18605
  "external",
17562
18606
  "safe",
17563
18607
  "metavaults"
17564
- ]
18608
+ ],
18609
+ "approval": {
18610
+ "basis": "prod-baseline",
18611
+ "pr": 7,
18612
+ "note": "used in production on 2026-10-20: app contracts.ts METAVAULTS_MULTISEND_CONTRACT_ADDRESS"
18613
+ }
17565
18614
  },
17566
18615
  {
17567
18616
  "chain": 747474,
@@ -17761,22 +18810,32 @@
17761
18810
  "key": "metavaults.deposit-forwarder",
17762
18811
  "address": "0x5Ca8843b8802a55d44EAbe926Bd63C3f0E45cd34",
17763
18812
  "kind": "contract",
17764
- "status": "unsafe",
18813
+ "status": "safe",
17765
18814
  "tags": [
17766
18815
  "metavaults",
17767
18816
  "crosschain"
17768
- ]
18817
+ ],
18818
+ "approval": {
18819
+ "basis": "prod-baseline",
18820
+ "pr": 7,
18821
+ "note": "used in production on 2026-10-20: app index.ts DEPOSIT_FORWARDER_ADDRESS"
18822
+ }
17769
18823
  },
17770
18824
  {
17771
18825
  "chain": 747474,
17772
18826
  "key": "metavaults.factory",
17773
18827
  "address": "0x1821109Df3f4EB0E7661dbD1382c6c18BFA842d3",
17774
18828
  "kind": "factory",
17775
- "status": "unsafe",
18829
+ "status": "safe",
17776
18830
  "tags": [
17777
18831
  "metavaults"
17778
18832
  ],
17779
- "inherit": true
18833
+ "inherit": true,
18834
+ "approval": {
18835
+ "basis": "prod-baseline",
18836
+ "pr": 7,
18837
+ "note": "used in production on 2026-10-20: factory of 1 live MetaVault"
18838
+ }
17780
18839
  },
17781
18840
  {
17782
18841
  "chain": 747474,
@@ -17827,22 +18886,32 @@
17827
18886
  "key": "metavaults.registry-v1",
17828
18887
  "address": "0x191eA03CCCC27546BA9f5161b4948B6afcE5263F",
17829
18888
  "kind": "contract",
17830
- "status": "unsafe",
18889
+ "status": "safe",
17831
18890
  "tags": [
17832
18891
  "metavaults",
17833
18892
  "legacy-config"
17834
- ]
18893
+ ],
18894
+ "approval": {
18895
+ "basis": "prod-baseline",
18896
+ "pr": 7,
18897
+ "note": "used in production on 2026-10-20: app contracts.ts METAVAULT_REGISTRY_CONTRACT_ADDRESS"
18898
+ }
17835
18899
  },
17836
18900
  {
17837
18901
  "chain": 747474,
17838
18902
  "key": "metavaults.registry-v2",
17839
18903
  "address": "0x8c90937F14d84F79196409F52FBc73d71D28C521",
17840
18904
  "kind": "contract",
17841
- "status": "unsafe",
18905
+ "status": "safe",
17842
18906
  "tags": [
17843
18907
  "metavaults",
17844
18908
  "registry"
17845
- ]
18909
+ ],
18910
+ "approval": {
18911
+ "basis": "prod-baseline",
18912
+ "pr": 7,
18913
+ "note": "used in production on 2026-10-20: sdk contracts.ts METAVAULTS_REGISTRY_V2_ADDRESS"
18914
+ }
17846
18915
  },
17847
18916
  {
17848
18917
  "chain": 747474,
@@ -17957,11 +19026,16 @@
17957
19026
  "key": "metavaults.zap-pool",
17958
19027
  "address": "0x6dCDCa462d1E774B9867B98138ffb07913648cFF",
17959
19028
  "kind": "contract",
17960
- "status": "unsafe",
19029
+ "status": "safe",
17961
19030
  "tags": [
17962
19031
  "metavaults",
17963
19032
  "zap"
17964
- ]
19033
+ ],
19034
+ "approval": {
19035
+ "basis": "prod-baseline",
19036
+ "pr": 7,
19037
+ "note": "used in production on 2026-10-20: app contracts.ts metavaultZapLiquidity"
19038
+ }
17965
19039
  },
17966
19040
  {
17967
19041
  "chain": 747474,
@@ -17991,11 +19065,16 @@
17991
19065
  "key": "metavaults.zap-pt",
17992
19066
  "address": "0xA5264a71248c84438Fc3f9CBc0f2003b72bd328b",
17993
19067
  "kind": "contract",
17994
- "status": "unsafe",
19068
+ "status": "safe",
17995
19069
  "tags": [
17996
19070
  "metavaults",
17997
19071
  "zap"
17998
- ]
19072
+ ],
19073
+ "approval": {
19074
+ "basis": "prod-baseline",
19075
+ "pr": 7,
19076
+ "note": "used in production on 2026-10-20: app contracts.ts metavaultZapPt"
19077
+ }
17999
19078
  },
18000
19079
  {
18001
19080
  "chain": 747474,
@@ -18367,44 +19446,64 @@
18367
19446
  "key": "otc.engine",
18368
19447
  "address": "0x9f09075c3ADF9F19F0930fC98dbcDb641B8e7587",
18369
19448
  "kind": "contract",
18370
- "status": "unsafe",
19449
+ "status": "safe",
18371
19450
  "tags": [
18372
19451
  "otc",
18373
19452
  "unaudited"
18374
- ]
19453
+ ],
19454
+ "approval": {
19455
+ "basis": "prod-baseline",
19456
+ "pr": 7,
19457
+ "note": "used in production on 2026-10-20: prod OTC config limitOrderProtocol"
19458
+ }
18375
19459
  },
18376
19460
  {
18377
19461
  "chain": 747474,
18378
19462
  "key": "otc.order-signer",
18379
19463
  "address": "0x3d334AE3A6C880882BC0F6b25BD15E7D87BF8567",
18380
19464
  "kind": "contract",
18381
- "status": "unsafe",
19465
+ "status": "safe",
18382
19466
  "tags": [
18383
19467
  "otc",
18384
19468
  "unaudited"
18385
- ]
19469
+ ],
19470
+ "approval": {
19471
+ "basis": "prod-baseline",
19472
+ "pr": 7,
19473
+ "note": "used in production on 2026-10-20: prod OTC config orderSigner"
19474
+ }
18386
19475
  },
18387
19476
  {
18388
19477
  "chain": 747474,
18389
19478
  "key": "otc.rate-getter",
18390
19479
  "address": "0x65C6D4555B98bF5531E7D49160D3039fFfCA5755",
18391
19480
  "kind": "contract",
18392
- "status": "unsafe",
19481
+ "status": "safe",
18393
19482
  "tags": [
18394
19483
  "otc",
18395
19484
  "unaudited"
18396
- ]
19485
+ ],
19486
+ "approval": {
19487
+ "basis": "prod-baseline",
19488
+ "pr": 7,
19489
+ "note": "used in production on 2026-10-20: prod OTC config rateAmountGetter"
19490
+ }
18397
19491
  },
18398
19492
  {
18399
19493
  "chain": 747474,
18400
19494
  "key": "otc.takers-guard",
18401
19495
  "address": "0x056E4c42B0ee6947e15A819a75402f50485C465D",
18402
19496
  "kind": "contract",
18403
- "status": "unsafe",
19497
+ "status": "safe",
18404
19498
  "tags": [
18405
19499
  "otc",
18406
19500
  "unaudited"
18407
- ]
19501
+ ],
19502
+ "approval": {
19503
+ "basis": "prod-baseline",
19504
+ "pr": 7,
19505
+ "note": "used in production on 2026-10-20: prod OTC config authorizedTakersGuard"
19506
+ }
18408
19507
  },
18409
19508
  {
18410
19509
  "chain": "stellar",
@@ -18436,11 +19535,16 @@
18436
19535
  "key": "bridge.pt-bridge",
18437
19536
  "address": "CACMUSAUMYFVDLWMGDQE7C5M3L4DVZLXY3U3FSVW3KQ4N747RI6I67YW",
18438
19537
  "kind": "contract",
18439
- "status": "unsafe",
19538
+ "status": "safe",
18440
19539
  "tags": [
18441
19540
  "bridge",
18442
19541
  "stellar"
18443
- ]
19542
+ ],
19543
+ "approval": {
19544
+ "basis": "prod-baseline",
19545
+ "pr": 7,
19546
+ "note": "used in production on 2026-10-20: app contracts.ts STELLAR_PT_BRIDGE"
19547
+ }
18444
19548
  },
18445
19549
  {
18446
19550
  "chain": "stellar",
@@ -18475,11 +19579,16 @@
18475
19579
  "key": "bridge.pt-messenger",
18476
19580
  "address": "CCKTCZMLA2YQTJ7OU77BXHVJZTN7IQF4LARYFIDZTMAVBX6K5BMMJBEX",
18477
19581
  "kind": "contract",
18478
- "status": "unsafe",
19582
+ "status": "safe",
18479
19583
  "tags": [
18480
19584
  "bridge",
18481
19585
  "stellar"
18482
- ]
19586
+ ],
19587
+ "approval": {
19588
+ "basis": "prod-baseline",
19589
+ "pr": 7,
19590
+ "note": "used in production on 2026-10-20: app contracts.ts STELLAR_PT_MESSENGER"
19591
+ }
18483
19592
  },
18484
19593
  {
18485
19594
  "chain": "stellar",
@@ -18514,12 +19623,17 @@
18514
19623
  "key": "core.factory",
18515
19624
  "address": "CC4ZVRIYM33M5FVAUDFWK7JXO3PWIVSKKEBXVEEC5E6KPYISXIMLUJCP",
18516
19625
  "kind": "factory",
18517
- "status": "unsafe",
19626
+ "status": "safe",
18518
19627
  "tags": [
18519
19628
  "core",
18520
19629
  "stellar"
18521
19630
  ],
18522
- "inherit": true
19631
+ "inherit": true,
19632
+ "approval": {
19633
+ "basis": "prod-baseline",
19634
+ "pr": 7,
19635
+ "note": "used in production on 2026-10-20: creator of the 8 live Stellar PTs: core.registry.get_factory() on Stellar pubnet returns it and the registry lists exactly the 8 served PTs (get_pt_at 0..7), checked 2026-10-20 (core-stellar: Factory.deploy_pt registers each PT with the registry)"
19636
+ }
18523
19637
  },
18524
19638
  {
18525
19639
  "chain": "stellar",
@@ -18541,11 +19655,16 @@
18541
19655
  "key": "core.registry",
18542
19656
  "address": "CCUGRASBWD5SXDYMS7NM437FQ7KNKHFX74D2VRJVTRU4J2TWDMURUW3V",
18543
19657
  "kind": "contract",
18544
- "status": "unsafe",
19658
+ "status": "safe",
18545
19659
  "tags": [
18546
19660
  "core",
18547
19661
  "stellar"
18548
- ]
19662
+ ],
19663
+ "approval": {
19664
+ "basis": "prod-baseline",
19665
+ "pr": 7,
19666
+ "note": "used in production on 2026-10-20: app network.ts registryId"
19667
+ }
18549
19668
  },
18550
19669
  {
18551
19670
  "chain": "stellar",
@@ -18949,11 +20068,16 @@
18949
20068
  "key": "external.circle.usdc-sac",
18950
20069
  "address": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75",
18951
20070
  "kind": "external",
18952
- "status": "unsafe",
20071
+ "status": "safe",
18953
20072
  "tags": [
18954
20073
  "stellar",
18955
20074
  "external"
18956
- ]
20075
+ ],
20076
+ "approval": {
20077
+ "basis": "prod-baseline",
20078
+ "pr": 7,
20079
+ "note": "used in production on 2026-10-20: app sushi.ts SUSHI_INPUT_TOKENS"
20080
+ }
18957
20081
  },
18958
20082
  {
18959
20083
  "chain": "stellar",
@@ -18974,12 +20098,17 @@
18974
20098
  "key": "external.creit.multicall-router",
18975
20099
  "address": "CBZV3HBP672BV7FF3ZILVT4CNPW3N5V2WTJ2LAGOAYW5R7L2D5SLUDFZ",
18976
20100
  "kind": "external",
18977
- "status": "unsafe",
20101
+ "status": "safe",
18978
20102
  "tags": [
18979
20103
  "external",
18980
20104
  "stellar",
18981
20105
  "multicall"
18982
- ]
20106
+ ],
20107
+ "approval": {
20108
+ "basis": "prod-baseline",
20109
+ "pr": 7,
20110
+ "note": "used in production on 2026-10-20: app network.ts multicallRouterId"
20111
+ }
18983
20112
  },
18984
20113
  {
18985
20114
  "chain": "stellar",
@@ -18995,6 +20124,23 @@
18995
20124
  ],
18996
20125
  "notes": "test deployment"
18997
20126
  },
20127
+ {
20128
+ "chain": "stellar",
20129
+ "key": "external.merkl.distributor",
20130
+ "address": "CAAMRQZ5W24TKAJIIP6DZZE3OWRVKVW4MTD6ZMGERMDJRZALFUETZVGE",
20131
+ "kind": "external",
20132
+ "status": "safe",
20133
+ "tags": [
20134
+ "external",
20135
+ "stellar",
20136
+ "merkl"
20137
+ ],
20138
+ "approval": {
20139
+ "basis": "prod-baseline",
20140
+ "pr": 7,
20141
+ "note": "used in production on 2026-10-20: Merkl's Stellar reward distributor: app src/data/stellar/network.ts merklDistributorId"
20142
+ }
20143
+ },
18998
20144
  {
18999
20145
  "chain": "stellar",
19000
20146
  "key": "external.oracle.dejtrsy-nav",
@@ -19018,6 +20164,57 @@
19018
20164
  "stellar"
19019
20165
  ]
19020
20166
  },
20167
+ {
20168
+ "chain": "stellar",
20169
+ "key": "external.sushi.pool-usdc-dejtrsy",
20170
+ "address": "CDMJRRH5MAJLB7T5SQAWQOOL7UJ3BABGTURSVKIE6AEDSXESDDJIBVCT",
20171
+ "kind": "external",
20172
+ "status": "safe",
20173
+ "tags": [
20174
+ "external",
20175
+ "stellar",
20176
+ "sushi"
20177
+ ],
20178
+ "approval": {
20179
+ "basis": "prod-baseline",
20180
+ "pr": 7,
20181
+ "note": "used in production on 2026-10-20: Sushi USDC / deJTRSY pool: app src/hooks/useStellarInputRoutes/sushi.ts USDC_DEJTRSY_POOL"
20182
+ }
20183
+ },
20184
+ {
20185
+ "chain": "stellar",
20186
+ "key": "external.sushi.pool-xlm-usdc",
20187
+ "address": "CCR2CH4GQVCZHG7CHFVMNANCK45CU5DVKXZIIITDZQAU3CEJZ7RQH2MQ",
20188
+ "kind": "external",
20189
+ "status": "safe",
20190
+ "tags": [
20191
+ "external",
20192
+ "stellar",
20193
+ "sushi"
20194
+ ],
20195
+ "approval": {
20196
+ "basis": "prod-baseline",
20197
+ "pr": 7,
20198
+ "note": "used in production on 2026-10-20: Sushi XLM / USDC pool: app src/hooks/useStellarInputRoutes/sushi.ts XLM_USDC_POOL"
20199
+ }
20200
+ },
20201
+ {
20202
+ "chain": "stellar",
20203
+ "key": "external.sushi.router",
20204
+ "address": "CDMIM23WOUL5CZBKX3GOA3V5R5AMVIMTCP52KCDQORWELAPLJ27WZCHL",
20205
+ "kind": "external",
20206
+ "status": "safe",
20207
+ "tags": [
20208
+ "external",
20209
+ "stellar",
20210
+ "sushi"
20211
+ ],
20212
+ "approval": {
20213
+ "basis": "prod-baseline",
20214
+ "pr": 7,
20215
+ "note": "used in production on 2026-10-20: Sushi Soroban swap router: app src/hooks/useStellarInputRoutes/sushi.ts SUSHI_ROUTER"
20216
+ }
20217
+ },
19021
20218
  {
19022
20219
  "chain": "stellar",
19023
20220
  "key": "external.upshift.earn-usdc",