diff --git a/config/all-mainnet-pool-creation-matrix.json b/config/all-mainnet-pool-creation-matrix.json new file mode 100644 index 00000000..07004e74 --- /dev/null +++ b/config/all-mainnet-pool-creation-matrix.json @@ -0,0 +1,8424 @@ +{ + "version": "1.0.0", + "generatedAt": "2026-04-28T09:01:52.559Z", + "description": "Canonical pool-creation matrix for ALL Mainnet public spend readiness. Pools must exist here before funding.", + "lifecycle": [ + "planned", + "created", + "funded", + "live_read", + "canary_passed", + "production" + ], + "protocolRolloutOrder": [ + "dodo_pmm", + "single_sided_pmm", + "uniswap_v2", + "sushiswap_v2", + "curve_stable", + "balancer_weighted", + "aave_backstop", + "oneinch_aggregator" + ], + "statusCounts": { + "planned": 85, + "funded": 3, + "live_read": 1, + "created": 22 + }, + "protocolCounts": { + "dodo_pmm": 48, + "single_sided_pmm": 3, + "uniswap_v2": 5, + "sushiswap_v2": 11, + "curve_stable": 11, + "balancer_weighted": 11, + "aave_backstop": 11, + "oneinch_aggregator": 11 + }, + "rows": [ + { + "poolId": "651940-dodo_pmm-ausdc-cusdc-equivalent", + "chainId": 651940, + "network": "ALL Mainnet (Alltra)", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "AUSDC", + "address": "0xa95EeD79f84E6A0151eaEb9d441F9Ffd50e8e881" + }, + "quoteToken": { + "symbol": "cUSDC-equivalent", + "address": null + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": null, + "status": "planned", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "ALL Mainnet source-side spend mesh" + ] + }, + { + "poolId": "651940-dodo_pmm-ausdt-cusdt-equivalent", + "chainId": 651940, + "network": "ALL Mainnet (Alltra)", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "AUSDT", + "address": "0x015B1897Ed5279930bC2Be46F661894d219292A6" + }, + "quoteToken": { + "symbol": "cUSDT-equivalent", + "address": null + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": null, + "status": "planned", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "ALL Mainnet source-side spend mesh" + ] + }, + { + "poolId": "651940-dodo_pmm-wall-ausdc", + "chainId": 651940, + "network": "ALL Mainnet (Alltra)", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "WALL", + "address": "0x2da2b8f961F161ab6320acB3377e2e844a3C3ce4" + }, + "quoteToken": { + "symbol": "AUSDC", + "address": "0xa95EeD79f84E6A0151eaEb9d441F9Ffd50e8e881" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": null, + "status": "planned", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "ALL Mainnet source-side spend mesh" + ] + }, + { + "poolId": "651940-dodo_pmm-wall-usdt", + "chainId": 651940, + "network": "ALL Mainnet (Alltra)", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "WALL", + "address": "0x2da2b8f961F161ab6320acB3377e2e844a3C3ce4" + }, + "quoteToken": { + "symbol": "USDT", + "address": "0x66D8Efa0AF63B0e84eb1Dd72bf00f00cd1e2234e" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": null, + "status": "planned", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "ALL Mainnet source-side spend mesh" + ] + }, + { + "poolId": "651940-single_sided_pmm-wall-ausdc", + "chainId": 651940, + "network": "ALL Mainnet (Alltra)", + "protocol": "single_sided_pmm", + "poolType": "single_sided", + "baseToken": { + "symbol": "WALL", + "address": "0x2da2b8f961F161ab6320acB3377e2e844a3C3ce4" + }, + "quoteToken": { + "symbol": "AUSDC", + "address": "0xa95EeD79f84E6A0151eaEb9d441F9Ffd50e8e881" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "single_sided_inventory", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": true, + "publicRoutingEnabled": true, + "reserveSource": null, + "status": "planned", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "ALL Mainnet source-side spend mesh" + ] + }, + { + "poolId": "651940-single_sided_pmm-ausdt-ausdc", + "chainId": 651940, + "network": "ALL Mainnet (Alltra)", + "protocol": "single_sided_pmm", + "poolType": "single_sided", + "baseToken": { + "symbol": "AUSDT", + "address": "0x015B1897Ed5279930bC2Be46F661894d219292A6" + }, + "quoteToken": { + "symbol": "AUSDC", + "address": "0xa95EeD79f84E6A0151eaEb9d441F9Ffd50e8e881" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "single_sided_inventory", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": true, + "publicRoutingEnabled": true, + "reserveSource": null, + "status": "planned", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "ALL Mainnet source-side spend mesh" + ] + }, + { + "poolId": "651940-single_sided_pmm-ausdc-bridge", + "chainId": 651940, + "network": "ALL Mainnet (Alltra)", + "protocol": "single_sided_pmm", + "poolType": "single_sided", + "baseToken": { + "symbol": "AUSDC", + "address": "0xa95EeD79f84E6A0151eaEb9d441F9Ffd50e8e881" + }, + "quoteToken": { + "symbol": "bridge", + "address": null + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "single_sided_inventory", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": true, + "publicRoutingEnabled": true, + "reserveSource": null, + "status": "planned", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "ALL Mainnet source-side spend mesh" + ] + }, + { + "poolId": "651940-uniswap_v2-wall-ausdc", + "chainId": 651940, + "network": "ALL Mainnet (Alltra)", + "protocol": "uniswap_v2", + "poolType": "constant_product", + "baseToken": { + "symbol": "WALL", + "address": "0x2da2b8f961F161ab6320acB3377e2e844a3C3ce4" + }, + "quoteToken": { + "symbol": "AUSDC", + "address": "0xa95EeD79f84E6A0151eaEb9d441F9Ffd50e8e881" + }, + "factoryAddress": "0x3C3ED514691C06c89Bf6626B05D22991E8924c93", + "routerAddress": "0xED04Ee8307C0656207AF5aFE3926AE2380052940", + "poolAddress": "0xb0201c92126C13f5979b3E2c3b7A97a3BD1CEC50", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": null, + "status": "funded", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "ALL Mainnet source-side spend mesh" + ] + }, + { + "poolId": "651940-uniswap_v2-wall-usdt", + "chainId": 651940, + "network": "ALL Mainnet (Alltra)", + "protocol": "uniswap_v2", + "poolType": "constant_product", + "baseToken": { + "symbol": "WALL", + "address": "0x2da2b8f961F161ab6320acB3377e2e844a3C3ce4" + }, + "quoteToken": { + "symbol": "USDT", + "address": "0x66D8Efa0AF63B0e84eb1Dd72bf00f00cd1e2234e" + }, + "factoryAddress": "0x3C3ED514691C06c89Bf6626B05D22991E8924c93", + "routerAddress": "0xED04Ee8307C0656207AF5aFE3926AE2380052940", + "poolAddress": "0xae9B16C50E5e11c0c7388e8289459f1Af1ae47a8", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": null, + "status": "funded", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "ALL Mainnet source-side spend mesh" + ] + }, + { + "poolId": "651940-uniswap_v2-usdt-ausdc", + "chainId": 651940, + "network": "ALL Mainnet (Alltra)", + "protocol": "uniswap_v2", + "poolType": "constant_product", + "baseToken": { + "symbol": "USDT", + "address": "0x66D8Efa0AF63B0e84eb1Dd72bf00f00cd1e2234e" + }, + "quoteToken": { + "symbol": "AUSDC", + "address": "0xa95EeD79f84E6A0151eaEb9d441F9Ffd50e8e881" + }, + "factoryAddress": "0x3C3ED514691C06c89Bf6626B05D22991E8924c93", + "routerAddress": "0xED04Ee8307C0656207AF5aFE3926AE2380052940", + "poolAddress": "0x46985E9B0488efb1bA18F4dd7292d970C73098D3", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": null, + "status": "funded", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "ALL Mainnet source-side spend mesh" + ] + }, + { + "poolId": "651940-uniswap_v2-hydx-wall", + "chainId": 651940, + "network": "ALL Mainnet (Alltra)", + "protocol": "uniswap_v2", + "poolType": "constant_product", + "baseToken": { + "symbol": "HYDX", + "address": "0x0d9793861AEB9244AD1B34375a83A6730F6AdD38" + }, + "quoteToken": { + "symbol": "WALL", + "address": "0x2da2b8f961F161ab6320acB3377e2e844a3C3ce4" + }, + "factoryAddress": "0x3C3ED514691C06c89Bf6626B05D22991E8924c93", + "routerAddress": "0xED04Ee8307C0656207AF5aFE3926AE2380052940", + "poolAddress": "0x119751597FE282615ac8dd5323577cc9b2728102", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": "all-mainnet-route-liquidity", + "status": "live_read", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "ALL Mainnet source-side spend mesh" + ] + }, + { + "poolId": "651940-uniswap_v2-ausdt-ausdc", + "chainId": 651940, + "network": "ALL Mainnet (Alltra)", + "protocol": "uniswap_v2", + "poolType": "constant_product", + "baseToken": { + "symbol": "AUSDT", + "address": "0x015B1897Ed5279930bC2Be46F661894d219292A6" + }, + "quoteToken": { + "symbol": "AUSDC", + "address": "0xa95EeD79f84E6A0151eaEb9d441F9Ffd50e8e881" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "ALL Mainnet source-side spend mesh" + ] + }, + { + "poolId": "1-dodo_pmm-cwusdc-usdc", + "chainId": 1, + "network": "Ethereum Mainnet", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": "0x69776fc607e9edA8042e320e7e43f54d06c68f0E", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": 3, + "k": 0, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": "promod_gru_v2_full_mesh_gap_report", + "status": "created", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "1-dodo_pmm-cwusdt-usdt", + "chainId": 1, + "network": "Ethereum Mainnet", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDT", + "address": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" + }, + "quoteToken": { + "symbol": "USDT", + "address": "0xdAC17F958D2ee523a2206206994597C13D831ec7" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": "0x79156F6B7bf71a1B72D78189B540A89A6C13F6FC", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": 3, + "k": 0, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": "promod_gru_v2_full_mesh_gap_report", + "status": "created", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "1-dodo_pmm-cwusdc-usdt", + "chainId": 1, + "network": "Ethereum Mainnet", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" + }, + "quoteToken": { + "symbol": "USDT", + "address": "0xdAC17F958D2ee523a2206206994597C13D831ec7" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": "0xCC0fd27A40775c9AfcD2BBd3f7c902b0192c247A", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": 3, + "k": 0, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": "promod_gru_v2_full_mesh_gap_report", + "status": "created", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "1-dodo_pmm-cwusdt-usdc", + "chainId": 1, + "network": "Ethereum Mainnet", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDT", + "address": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": "0x27f3aE7EE71Be3d77bAf17d4435cF8B895DD25D2", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": 3, + "k": 0, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": "promod_gru_v2_full_mesh_gap_report", + "status": "created", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "1-sushiswap_v2-cwusdc-usdc", + "chainId": 1, + "network": "Ethereum Mainnet", + "protocol": "sushiswap_v2", + "poolType": "constant_product", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "1-curve_stable-cwusdc-usdc", + "chainId": 1, + "network": "Ethereum Mainnet", + "protocol": "curve_stable", + "poolType": "stable", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "1-balancer_weighted-cwusdc-usdc", + "chainId": 1, + "network": "Ethereum Mainnet", + "protocol": "balancer_weighted", + "poolType": "weighted", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "1-aave_backstop-cwusdc-usdc", + "chainId": 1, + "network": "Ethereum Mainnet", + "protocol": "aave_backstop", + "poolType": "reserve_backstop", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "1-oneinch_aggregator-cwusdc-usdc", + "chainId": 1, + "network": "Ethereum Mainnet", + "protocol": "oneinch_aggregator", + "poolType": "aggregator", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "56-dodo_pmm-cwusdc-usdc", + "chainId": 56, + "network": "BSC (BNB Chain)", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": "0xFeEFe2fe42cECc202646fe2e42E0aBDAd720F7a9", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": "dodo_pmm_integration", + "status": "created", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ], + "createdEvidence": { + "onChainVerifiedAt": "2026-04-28T09:01:52.558Z", + "verification": "integration pools(base,quote) resolves to pool address and pool address has bytecode" + } + }, + { + "poolId": "56-dodo_pmm-cwusdt-usdt", + "chainId": 56, + "network": "BSC (BNB Chain)", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDT", + "address": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" + }, + "quoteToken": { + "symbol": "USDT", + "address": "0x55d398326f99059fF775485246999027B3197955" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": "0xff71c08bC26E1C51f0518deC929112C5D1F9D439", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": "dodo_pmm_integration", + "status": "created", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ], + "createdEvidence": { + "onChainVerifiedAt": "2026-04-28T09:01:52.559Z", + "verification": "integration pools(base,quote) resolves to pool address and pool address has bytecode" + } + }, + { + "poolId": "56-dodo_pmm-cwusdc-usdt", + "chainId": 56, + "network": "BSC (BNB Chain)", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b" + }, + "quoteToken": { + "symbol": "USDT", + "address": "0x55d398326f99059fF775485246999027B3197955" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "56-dodo_pmm-cwusdt-usdc", + "chainId": 56, + "network": "BSC (BNB Chain)", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDT", + "address": "0x9a1D0dBEE997929ED02fD19E0E199704d20914dB" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "56-sushiswap_v2-cwusdc-usdc", + "chainId": 56, + "network": "BSC (BNB Chain)", + "protocol": "sushiswap_v2", + "poolType": "constant_product", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "56-curve_stable-cwusdc-usdc", + "chainId": 56, + "network": "BSC (BNB Chain)", + "protocol": "curve_stable", + "poolType": "stable", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "56-balancer_weighted-cwusdc-usdc", + "chainId": 56, + "network": "BSC (BNB Chain)", + "protocol": "balancer_weighted", + "poolType": "weighted", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "56-aave_backstop-cwusdc-usdc", + "chainId": 56, + "network": "BSC (BNB Chain)", + "protocol": "aave_backstop", + "poolType": "reserve_backstop", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "56-oneinch_aggregator-cwusdc-usdc", + "chainId": 56, + "network": "BSC (BNB Chain)", + "protocol": "oneinch_aggregator", + "poolType": "aggregator", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x5355148C4740fcc3D7a96F05EdD89AB14851206b" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "137-dodo_pmm-cwusdc-usdc", + "chainId": 137, + "network": "Polygon", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDC", + "address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": "0x8F1038dE06d799a30D16d8B0b0ADEe629e7d4547", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": 3, + "k": 500000000000000000, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": "promod_gru_v2_full_mesh_gap_report", + "status": "created", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "137-dodo_pmm-cwusdt-usdt", + "chainId": 137, + "network": "Polygon", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDT", + "address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" + }, + "quoteToken": { + "symbol": "USDT", + "address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": "0xFCB0b0Ac36d67EDBA91100c75C27De945357CD62", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": 3, + "k": 500000000000000000, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": "promod_gru_v2_full_mesh_gap_report", + "status": "created", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "137-dodo_pmm-cwusdc-usdt", + "chainId": 137, + "network": "Polygon", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDC", + "address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" + }, + "quoteToken": { + "symbol": "USDT", + "address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "137-dodo_pmm-cwusdt-usdc", + "chainId": 137, + "network": "Polygon", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDT", + "address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "137-sushiswap_v2-cwusdc-usdc", + "chainId": 137, + "network": "Polygon", + "protocol": "sushiswap_v2", + "poolType": "constant_product", + "baseToken": { + "symbol": "cWUSDC", + "address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "137-curve_stable-cwusdc-usdc", + "chainId": 137, + "network": "Polygon", + "protocol": "curve_stable", + "poolType": "stable", + "baseToken": { + "symbol": "cWUSDC", + "address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "137-balancer_weighted-cwusdc-usdc", + "chainId": 137, + "network": "Polygon", + "protocol": "balancer_weighted", + "poolType": "weighted", + "baseToken": { + "symbol": "cWUSDC", + "address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "137-aave_backstop-cwusdc-usdc", + "chainId": 137, + "network": "Polygon", + "protocol": "aave_backstop", + "poolType": "reserve_backstop", + "baseToken": { + "symbol": "cWUSDC", + "address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "137-oneinch_aggregator-cwusdc-usdc", + "chainId": 137, + "network": "Polygon", + "protocol": "oneinch_aggregator", + "poolType": "aggregator", + "baseToken": { + "symbol": "cWUSDC", + "address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "8453-dodo_pmm-cwusdc-usdc", + "chainId": 8453, + "network": "Base", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": "0x6206229753AbE8932F46A19dDf0b87669FDaF1b7", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": "dodo_pmm_integration", + "status": "created", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ], + "createdEvidence": { + "onChainVerifiedAt": "2026-04-28T09:01:52.559Z", + "verification": "integration pools(base,quote) resolves to pool address and pool address has bytecode", + "transactionHash": "0x6a63466a12d2ee71201be232db0af6d5f40f8d829dbe453c9f00abbe6df6fbb9" + } + }, + { + "poolId": "8453-dodo_pmm-cwusdt-usdt", + "chainId": 8453, + "network": "Base", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDT", + "address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" + }, + "quoteToken": { + "symbol": "USDT", + "address": "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": "0xfBE32b9B41090751213541720F6F4ffB155cCc1d", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": "dodo_pmm_integration", + "status": "created", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ], + "createdEvidence": { + "onChainVerifiedAt": "2026-04-28T09:01:52.559Z", + "verification": "integration pools(base,quote) resolves to pool address and pool address has bytecode", + "transactionHash": "0x896abe7fea208889d61e9f93dc14c892fc13db7488a2760f2f49a1d4dc660208" + } + }, + { + "poolId": "8453-dodo_pmm-cwusdc-usdt", + "chainId": 8453, + "network": "Base", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" + }, + "quoteToken": { + "symbol": "USDT", + "address": "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "8453-dodo_pmm-cwusdt-usdc", + "chainId": 8453, + "network": "Base", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDT", + "address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "8453-sushiswap_v2-cwusdc-usdc", + "chainId": 8453, + "network": "Base", + "protocol": "sushiswap_v2", + "poolType": "constant_product", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "8453-curve_stable-cwusdc-usdc", + "chainId": 8453, + "network": "Base", + "protocol": "curve_stable", + "poolType": "stable", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "8453-balancer_weighted-cwusdc-usdc", + "chainId": 8453, + "network": "Base", + "protocol": "balancer_weighted", + "poolType": "weighted", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "8453-aave_backstop-cwusdc-usdc", + "chainId": 8453, + "network": "Base", + "protocol": "aave_backstop", + "poolType": "reserve_backstop", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "8453-oneinch_aggregator-cwusdc-usdc", + "chainId": 8453, + "network": "Base", + "protocol": "oneinch_aggregator", + "poolType": "aggregator", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "42161-dodo_pmm-cwusdc-usdc", + "chainId": 42161, + "network": "Arbitrum One", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": "0xBAB1a4e64cb51D2d4196969b55af9435296A5dbD", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": "dodo_pmm_integration", + "status": "created", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ], + "createdEvidence": { + "onChainVerifiedAt": "2026-04-28T09:01:52.559Z", + "verification": "integration pools(base,quote) resolves to pool address and pool address has bytecode", + "transactionHash": "0x4385161e41e88a560cc5107020d6099c540428c4e39f2415e238a37de16f4d31" + } + }, + { + "poolId": "42161-dodo_pmm-cwusdt-usdt", + "chainId": 42161, + "network": "Arbitrum One", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDT", + "address": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" + }, + "quoteToken": { + "symbol": "USDT", + "address": "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": "0x366F011040B65ADfA8aB5AfCFdE6114d99aA53E8", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": "dodo_pmm_integration", + "status": "created", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ], + "createdEvidence": { + "onChainVerifiedAt": "2026-04-28T09:01:52.559Z", + "verification": "integration pools(base,quote) resolves to pool address and pool address has bytecode", + "transactionHash": "0xc3abbe7ca2cdfe32aca0982e0060f7810d97581885554da48b0d2f92f5c88ca2" + } + }, + { + "poolId": "42161-dodo_pmm-cwusdc-usdt", + "chainId": 42161, + "network": "Arbitrum One", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" + }, + "quoteToken": { + "symbol": "USDT", + "address": "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "42161-dodo_pmm-cwusdt-usdc", + "chainId": 42161, + "network": "Arbitrum One", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDT", + "address": "0x73ADaF7dBa95221c080db5631466d2bC54f6a76B" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "42161-sushiswap_v2-cwusdc-usdc", + "chainId": 42161, + "network": "Arbitrum One", + "protocol": "sushiswap_v2", + "poolType": "constant_product", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "42161-curve_stable-cwusdc-usdc", + "chainId": 42161, + "network": "Arbitrum One", + "protocol": "curve_stable", + "poolType": "stable", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "42161-balancer_weighted-cwusdc-usdc", + "chainId": 42161, + "network": "Arbitrum One", + "protocol": "balancer_weighted", + "poolType": "weighted", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "42161-aave_backstop-cwusdc-usdc", + "chainId": 42161, + "network": "Arbitrum One", + "protocol": "aave_backstop", + "poolType": "reserve_backstop", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "42161-oneinch_aggregator-cwusdc-usdc", + "chainId": 42161, + "network": "Arbitrum One", + "protocol": "oneinch_aggregator", + "poolType": "aggregator", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "43114-dodo_pmm-cwusdc-usdc", + "chainId": 43114, + "network": "Avalanche C-Chain", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": "0xb9A2eD14deaB82829DAf08d75a2b382a51dcEfE5", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": "dodo_pmm_integration", + "status": "created", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ], + "createdEvidence": { + "onChainVerifiedAt": "2026-04-28T09:01:52.559Z", + "verification": "integration pools(base,quote) resolves to pool address and pool address has bytecode" + } + }, + { + "poolId": "43114-dodo_pmm-cwusdt-usdt", + "chainId": 43114, + "network": "Avalanche C-Chain", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDT", + "address": "0x8142BA530B08f3950128601F00DaaA678213DFdf" + }, + "quoteToken": { + "symbol": "USDT", + "address": "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": "0x23Ecb9Edd8A2085d77c359534cAd216d521f5B85", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": "dodo_pmm_integration", + "status": "created", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ], + "createdEvidence": { + "onChainVerifiedAt": "2026-04-28T09:01:52.559Z", + "verification": "integration pools(base,quote) resolves to pool address and pool address has bytecode" + } + }, + { + "poolId": "43114-dodo_pmm-cwusdc-usdt", + "chainId": 43114, + "network": "Avalanche C-Chain", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB" + }, + "quoteToken": { + "symbol": "USDT", + "address": "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "43114-dodo_pmm-cwusdt-usdc", + "chainId": 43114, + "network": "Avalanche C-Chain", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDT", + "address": "0x8142BA530B08f3950128601F00DaaA678213DFdf" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "43114-sushiswap_v2-cwusdc-usdc", + "chainId": 43114, + "network": "Avalanche C-Chain", + "protocol": "sushiswap_v2", + "poolType": "constant_product", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "43114-curve_stable-cwusdc-usdc", + "chainId": 43114, + "network": "Avalanche C-Chain", + "protocol": "curve_stable", + "poolType": "stable", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "43114-balancer_weighted-cwusdc-usdc", + "chainId": 43114, + "network": "Avalanche C-Chain", + "protocol": "balancer_weighted", + "poolType": "weighted", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "43114-aave_backstop-cwusdc-usdc", + "chainId": 43114, + "network": "Avalanche C-Chain", + "protocol": "aave_backstop", + "poolType": "reserve_backstop", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "43114-oneinch_aggregator-cwusdc-usdc", + "chainId": 43114, + "network": "Avalanche C-Chain", + "protocol": "oneinch_aggregator", + "poolType": "aggregator", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "10-dodo_pmm-cwusdc-usdc", + "chainId": 10, + "network": "Optimism", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": "0x022a8835b5c8fd6714cE33c783a426398468702B", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": 3, + "k": 500000000000000000, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": "promod_gru_v2_full_mesh_gap_report", + "status": "created", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "10-dodo_pmm-cwusdt-usdt", + "chainId": 10, + "network": "Optimism", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDT", + "address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" + }, + "quoteToken": { + "symbol": "USDT", + "address": "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": "0x0630059fc9a629DABAC1244c9f021A33A71B098f", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": 3, + "k": 500000000000000000, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": "promod_gru_v2_full_mesh_gap_report", + "status": "created", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "10-dodo_pmm-cwusdc-usdt", + "chainId": 10, + "network": "Optimism", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" + }, + "quoteToken": { + "symbol": "USDT", + "address": "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "10-dodo_pmm-cwusdt-usdc", + "chainId": 10, + "network": "Optimism", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDT", + "address": "0x04B2AE3c3bb3d70Df506FAd8717b0FBFC78ED7E6" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "10-sushiswap_v2-cwusdc-usdc", + "chainId": 10, + "network": "Optimism", + "protocol": "sushiswap_v2", + "poolType": "constant_product", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "10-curve_stable-cwusdc-usdc", + "chainId": 10, + "network": "Optimism", + "protocol": "curve_stable", + "poolType": "stable", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "10-balancer_weighted-cwusdc-usdc", + "chainId": 10, + "network": "Optimism", + "protocol": "balancer_weighted", + "poolType": "weighted", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "10-aave_backstop-cwusdc-usdc", + "chainId": 10, + "network": "Optimism", + "protocol": "aave_backstop", + "poolType": "reserve_backstop", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "10-oneinch_aggregator-cwusdc-usdc", + "chainId": 10, + "network": "Optimism", + "protocol": "oneinch_aggregator", + "poolType": "aggregator", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x377a5FaA3162b3Fc6f4e267301A3c817bAd18105" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "25-dodo_pmm-cwusdc-usdc", + "chainId": 25, + "network": "Cronos", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": "0x72c50bb2c621a2C10E162776D0D210d3C9f8Ac02", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": 3, + "k": 500000000000000000, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": "promod_gru_v2_full_mesh_gap_report", + "status": "created", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "25-dodo_pmm-cwusdt-usdt", + "chainId": 25, + "network": "Cronos", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDT", + "address": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" + }, + "quoteToken": { + "symbol": "USDT", + "address": "0x66e428c3f67a68878562e79A0234c1F83c208770" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": "0xb4F3d4C8995032690837543438ac40BA5cbfd8Fe", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": 3, + "k": 500000000000000000, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": "promod_gru_v2_full_mesh_gap_report", + "status": "created", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "25-dodo_pmm-cwusdc-usdt", + "chainId": 25, + "network": "Cronos", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" + }, + "quoteToken": { + "symbol": "USDT", + "address": "0x66e428c3f67a68878562e79A0234c1F83c208770" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "25-dodo_pmm-cwusdt-usdc", + "chainId": 25, + "network": "Cronos", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDT", + "address": "0x72948a7a813B60b37Cd0c920C4657DbFF54312b8" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "25-sushiswap_v2-cwusdc-usdc", + "chainId": 25, + "network": "Cronos", + "protocol": "sushiswap_v2", + "poolType": "constant_product", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "25-curve_stable-cwusdc-usdc", + "chainId": 25, + "network": "Cronos", + "protocol": "curve_stable", + "poolType": "stable", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "25-balancer_weighted-cwusdc-usdc", + "chainId": 25, + "network": "Cronos", + "protocol": "balancer_weighted", + "poolType": "weighted", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "25-aave_backstop-cwusdc-usdc", + "chainId": 25, + "network": "Cronos", + "protocol": "aave_backstop", + "poolType": "reserve_backstop", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "25-oneinch_aggregator-cwusdc-usdc", + "chainId": 25, + "network": "Cronos", + "protocol": "oneinch_aggregator", + "poolType": "aggregator", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x932566E5bB6BEBF6B035B94f3DE1f75f126304Ec" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "100-dodo_pmm-cwusdc-usdc", + "chainId": 100, + "network": "Gnosis Chain", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDC", + "address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": "0x646F4594e1A7b1c6C9FF687F5C6ad56BdD1E5Fd5", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": "dodo_pmm_integration", + "status": "created", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ], + "createdEvidence": { + "onChainVerifiedAt": "2026-04-28T09:01:52.559Z", + "verification": "integration pools(base,quote) resolves to pool address and pool address has bytecode" + } + }, + { + "poolId": "100-dodo_pmm-cwusdt-usdt", + "chainId": 100, + "network": "Gnosis Chain", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDT", + "address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" + }, + "quoteToken": { + "symbol": "USDT", + "address": "0x4ECaBa5870353805a9F068101A40E0f32ed605C6" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": "0xfd42f86ecc990b5641F6AE17909744d9b0A020fC", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": "dodo_pmm_integration", + "status": "created", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ], + "createdEvidence": { + "onChainVerifiedAt": "2026-04-28T09:01:52.559Z", + "verification": "integration pools(base,quote) resolves to pool address and pool address has bytecode" + } + }, + { + "poolId": "100-dodo_pmm-cwusdc-usdt", + "chainId": 100, + "network": "Gnosis Chain", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDC", + "address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" + }, + "quoteToken": { + "symbol": "USDT", + "address": "0x4ECaBa5870353805a9F068101A40E0f32ed605C6" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "100-dodo_pmm-cwusdt-usdc", + "chainId": 100, + "network": "Gnosis Chain", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDT", + "address": "0x0cb0192C056aa425C557BdeAD8E56C7eEabf7acF" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "100-sushiswap_v2-cwusdc-usdc", + "chainId": 100, + "network": "Gnosis Chain", + "protocol": "sushiswap_v2", + "poolType": "constant_product", + "baseToken": { + "symbol": "cWUSDC", + "address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "100-curve_stable-cwusdc-usdc", + "chainId": 100, + "network": "Gnosis Chain", + "protocol": "curve_stable", + "poolType": "stable", + "baseToken": { + "symbol": "cWUSDC", + "address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "100-balancer_weighted-cwusdc-usdc", + "chainId": 100, + "network": "Gnosis Chain", + "protocol": "balancer_weighted", + "poolType": "weighted", + "baseToken": { + "symbol": "cWUSDC", + "address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "100-aave_backstop-cwusdc-usdc", + "chainId": 100, + "network": "Gnosis Chain", + "protocol": "aave_backstop", + "poolType": "reserve_backstop", + "baseToken": { + "symbol": "cWUSDC", + "address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "100-oneinch_aggregator-cwusdc-usdc", + "chainId": 100, + "network": "Gnosis Chain", + "protocol": "oneinch_aggregator", + "poolType": "aggregator", + "baseToken": { + "symbol": "cWUSDC", + "address": "0xd6969bC19b53f866C64f2148aE271B2Dae0C58E4" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "42220-dodo_pmm-cwusdc-usdc", + "chainId": 42220, + "network": "Celo", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xcebA9300f2b948710d2653dD7B07f33A8B32118C" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": "0x4D13100966A0F8c1fEbEdf71d0e4681889F7AA1b", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": "dodo_pmm_integration", + "status": "created", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ], + "createdEvidence": { + "onChainVerifiedAt": "2026-04-28T09:01:52.559Z", + "verification": "integration pools(base,quote) resolves to pool address and pool address has bytecode", + "transactionHash": "0x17c5866855a0cbd058c8103c5fdafd1ecfc0671eee5e314421f1f1a57ceeb207" + } + }, + { + "poolId": "42220-dodo_pmm-cwusdt-usdt", + "chainId": 42220, + "network": "Celo", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDT", + "address": "0x73376eB92c16977B126dB9112936A20Fa0De3442" + }, + "quoteToken": { + "symbol": "USDT", + "address": "0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": "0xF3ACf1C949A2d0c2EE22baaEB24Af33c5570fDeb", + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": true, + "reserveSource": "dodo_pmm_integration", + "status": "created", + "requiredForSpend": true, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ], + "createdEvidence": { + "onChainVerifiedAt": "2026-04-28T09:01:52.559Z", + "verification": "integration pools(base,quote) resolves to pool address and pool address has bytecode", + "transactionHash": "0xa7271d12b9602c28020eb168e90745e78df92bb004a29dda2f67543098c6560c" + } + }, + { + "poolId": "42220-dodo_pmm-cwusdc-usdt", + "chainId": 42220, + "network": "Celo", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" + }, + "quoteToken": { + "symbol": "USDT", + "address": "0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "42220-dodo_pmm-cwusdt-usdc", + "chainId": 42220, + "network": "Celo", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDT", + "address": "0x73376eB92c16977B126dB9112936A20Fa0De3442" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xcebA9300f2b948710d2653dD7B07f33A8B32118C" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool" + ] + }, + { + "poolId": "42220-sushiswap_v2-cwusdc-usdc", + "chainId": 42220, + "network": "Celo", + "protocol": "sushiswap_v2", + "poolType": "constant_product", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xcebA9300f2b948710d2653dD7B07f33A8B32118C" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "42220-curve_stable-cwusdc-usdc", + "chainId": 42220, + "network": "Celo", + "protocol": "curve_stable", + "poolType": "stable", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xcebA9300f2b948710d2653dD7B07f33A8B32118C" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "42220-balancer_weighted-cwusdc-usdc", + "chainId": 42220, + "network": "Celo", + "protocol": "balancer_weighted", + "poolType": "weighted", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xcebA9300f2b948710d2653dD7B07f33A8B32118C" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "42220-aave_backstop-cwusdc-usdc", + "chainId": 42220, + "network": "Celo", + "protocol": "aave_backstop", + "poolType": "reserve_backstop", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xcebA9300f2b948710d2653dD7B07f33A8B32118C" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "42220-oneinch_aggregator-cwusdc-usdc", + "chainId": 42220, + "network": "Celo", + "protocol": "oneinch_aggregator", + "poolType": "aggregator", + "baseToken": { + "symbol": "cWUSDC", + "address": "0x4C38F9A5ed68A04cd28a72E8c68C459Ec34576f3" + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xcebA9300f2b948710d2653dD7B07f33A8B32118C" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "1111-dodo_pmm-cwusdc-usdc", + "chainId": 1111, + "network": "Wemix", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDC", + "address": null + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xE3F5a90F9cb311505cd691a46596599aA1A0AD7D" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool", + "Wemix disabled until bridge and liquidity are proven" + ] + }, + { + "poolId": "1111-dodo_pmm-cwusdt-usdt", + "chainId": 1111, + "network": "Wemix", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDT", + "address": null + }, + "quoteToken": { + "symbol": "USDT", + "address": "0xA649325Aa7C5093d12D6F98EB4378deAe68CE23F" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool", + "Wemix disabled until bridge and liquidity are proven" + ] + }, + { + "poolId": "1111-dodo_pmm-cwusdc-usdt", + "chainId": 1111, + "network": "Wemix", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDC", + "address": null + }, + "quoteToken": { + "symbol": "USDT", + "address": "0xA649325Aa7C5093d12D6F98EB4378deAe68CE23F" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool", + "Wemix disabled until bridge and liquidity are proven" + ] + }, + { + "poolId": "1111-dodo_pmm-cwusdt-usdc", + "chainId": 1111, + "network": "Wemix", + "protocol": "dodo_pmm", + "poolType": "pmm", + "baseToken": { + "symbol": "cWUSDT", + "address": null + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xE3F5a90F9cb311505cd691a46596599aA1A0AD7D" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Public destination spend settlement pool", + "Wemix disabled until bridge and liquidity are proven" + ] + }, + { + "poolId": "1111-sushiswap_v2-cwusdc-usdc", + "chainId": 1111, + "network": "Wemix", + "protocol": "sushiswap_v2", + "poolType": "constant_product", + "baseToken": { + "symbol": "cWUSDC", + "address": null + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xE3F5a90F9cb311505cd691a46596599aA1A0AD7D" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "1111-curve_stable-cwusdc-usdc", + "chainId": 1111, + "network": "Wemix", + "protocol": "curve_stable", + "poolType": "stable", + "baseToken": { + "symbol": "cWUSDC", + "address": null + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xE3F5a90F9cb311505cd691a46596599aA1A0AD7D" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "1111-balancer_weighted-cwusdc-usdc", + "chainId": 1111, + "network": "Wemix", + "protocol": "balancer_weighted", + "poolType": "weighted", + "baseToken": { + "symbol": "cWUSDC", + "address": null + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xE3F5a90F9cb311505cd691a46596599aA1A0AD7D" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "1111-aave_backstop-cwusdc-usdc", + "chainId": 1111, + "network": "Wemix", + "protocol": "aave_backstop", + "poolType": "reserve_backstop", + "baseToken": { + "symbol": "cWUSDC", + "address": null + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xE3F5a90F9cb311505cd691a46596599aA1A0AD7D" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + }, + { + "poolId": "1111-oneinch_aggregator-cwusdc-usdc", + "chainId": 1111, + "network": "Wemix", + "protocol": "oneinch_aggregator", + "poolType": "aggregator", + "baseToken": { + "symbol": "cWUSDC", + "address": null + }, + "quoteToken": { + "symbol": "USDC", + "address": "0xE3F5a90F9cb311505cd691a46596599aA1A0AD7D" + }, + "factoryAddress": null, + "routerAddress": null, + "poolAddress": null, + "vaultAddress": null, + "vaultAssignments": [ + { + "role": "treasury_reserve", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "bridge_liquidity", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "single_sided_inventory", + "vaultAddress": null, + "requiredBeforeFunding": false + }, + { + "role": "protocol_adapter", + "vaultAddress": null, + "requiredBeforeFunding": true + }, + { + "role": "emergency_withdraw", + "vaultAddress": null, + "requiredBeforeFunding": true + } + ], + "vaultAssignmentStatus": "missing_required_vaults", + "missingRequiredVaultRoles": [ + "treasury_reserve", + "bridge_liquidity", + "protocol_adapter", + "emergency_withdraw" + ], + "feeBps": null, + "k": null, + "singleSided": false, + "publicRoutingEnabled": false, + "reserveSource": null, + "status": "planned", + "requiredForSpend": false, + "canaryEvidence": null, + "fundingTiersUsd": { + "seed": 10, + "smoke": 100, + "productionMinimum": 1000 + }, + "policy": { + "maxPriceImpactBps": 100, + "minReserveUsd": 1000, + "refillTriggerBps": 200, + "pauseOnReserveReadFailure": true + }, + "notes": [ + "Secondary protocol surface; promote only after underlying liquidity exists" + ] + } + ] +} diff --git a/config/allmainnet-non-dodo-protocol-surface.json b/config/allmainnet-non-dodo-protocol-surface.json index 8c19b824..fc93eb7f 100644 --- a/config/allmainnet-non-dodo-protocol-surface.json +++ b/config/allmainnet-non-dodo-protocol-surface.json @@ -1,7 +1,7 @@ { "name": "ALL Mainnet Non-DODO Protocol Surface", "version": "0.1.0", - "updated": "2026-04-21", + "updated": "2026-04-28", "chainId": 651940, "network": "ALL Mainnet (Alltra)", "status": "bridge_live_swap_inventory_pending", @@ -14,26 +14,340 @@ "Promote protocols here into canonical route inventory only after real factory/router/pool addresses are committed and verified." ] }, + "classificationFramework": { + "category": [ + "tokenized-fiat", + "stablecoin", + "wrapped-native", + "dex-token", + "defi-token", + "governance-token", + "utility-token", + "rwa-token", + "commodity-token", + "other" + ], + "instrumentType": [ + "emoney", + "deposit-token", + "fiat-backed-stablecoin", + "wrapped-native", + "protocol-token", + "governance-token", + "utility-token", + "other" + ], + "backingAssets": [ + "cash", + "cash-equivalents", + "bank-deposits", + "treasuries", + "commodity-reserves", + "protocol-utility", + "native-gas-asset", + "unknown" + ], + "metadataDomains": [ + "backingMetadata", + "bridgeMetadata", + "cashMetadata", + "commodityMetadata", + "reserveMetadata", + "securityMetadata", + "settlementMetadata" + ], + "notes": [ + "Use category for the broad asset bucket.", + "Use instrumentType, issuerType, claimType, backingAssets, capabilities, and tags for legal, reserve, and integration semantics.", + "Use cash only as a backing, redemption, or settlement asset descriptor; do not use cash as the token category unless the instrument is literally cash-equivalent legal tender.", + "Use commodityMetadata only when the token directly references or is backed by a commodity reserve.", + "Use securityMetadata for pause/admin/monitoring controls; unknown means not yet committed in this inventory, not absent on-chain.", + "GRU tags use lowercase namespace:value strings and include the version, for example gru:v2." + ] + }, "documentedTokens": [ { "symbol": "AUSDT", "address": "0x015B1897Ed5279930bC2Be46F661894d219292A6", "decimals": 18, - "category": "stablecoin", + "category": "tokenized-fiat", + "instrumentType": "fiat-backed-stablecoin", + "issuerType": "token-issuer-unverified", + "currencyCode": "USD", + "claimType": "claim-on-issuer-unverified", + "settlementAssetClass": "fiat", + "backingAssets": [ + "cash", + "cash-equivalents" + ], + "gruVersion": "v2", + "gruFamilySymbol": "cAUSDT", + "gruTransportRole": "all-mainnet-primary-surface", + "tags": [ + "tokenized-fiat", + "fiat:usd", + "backing:cash", + "backing:cash-equivalents", + "gru:v2", + "gru:m1", + "gru:transport", + "gru:all-mainnet", + "gru:causdt-family" + ], + "backingMetadata": { + "backingModel": "fiat-reserve-backed", + "backingAssetClasses": [ + "cash", + "cash-equivalents" + ], + "backingVerificationStatus": "reserve-disclosure-not-committed", + "overcollateralizationRequired": false + }, + "bridgeMetadata": { + "bridgeStatus": "live-canonical-target", + "bridgeKind": "AlltraAdapter", + "sourceChainId": 138, + "destinationChainId": 651940, + "sourceSymbol": "cUSDT", + "sourceAddress": "0x93E66202A11B1772E55407B32B44e5Cd8eda7f22", + "destinationSymbol": "AUSDT", + "destinationAddress": "0x015B1897Ed5279930bC2Be46F661894d219292A6", + "adapterAddress": "0x66FEBA2fC9a0B47F26DD4284DAd24F970436B8Dc", + "bridgeCanonicalAssetVersion": "gru-v2", + "bridgeMirroredAssetVersion": "all-mainnet-surface" + }, + "cashMetadata": { + "cashRole": "reserve-and-redemption-asset-class", + "currency": "USD", + "cashBackingAssertedByRepo": false, + "cashBackingEvidenceRef": null + }, + "commodityMetadata": { + "commodityBacked": false, + "commodityType": null, + "commodityUnit": null, + "reserveLocationRef": null + }, + "reserveMetadata": { + "reserveModel": "issuer-or-bridge-reserve-unverified", + "reserveDisclosureRef": null, + "reserveAccountRef": null, + "proofOfReserveRef": null, + "reserveVerificationStatus": "pending-disclosure", + "riskTier": "policy-review-required", + "registryStatus": "documented-surface-not-stablecoin-registry-entry" + }, + "securityMetadata": { + "pauseAuthority": "unknown", + "adminAuthority": "unknown", + "upgradeability": "unknown", + "keyManagement": "unknown", + "emergencyHalt": "corridor-halt-required-for-issuer-bridge-or-peg-risk", + "monitoring": [ + "peg-deviation", + "bridge-health", + "liquidity-depth", + "contract-admin-changes" + ] + }, + "settlementMetadata": { + "settlementAssetClass": "fiat", + "settlementCurrency": "USD", + "settlementFinalityDomain": "off-chain-regulated-ledger-or-issuer-domain", + "onChainFinality": "token-transfer-final-on-chain-651940-after-confirmation", + "accountingEvidenceRequired": true, + "redemptionPath": "issuer-or-bridge-redemption-unverified", + "parRedemption": "unverified" + }, "status": "verified" }, { "symbol": "USDT", "address": "0x66D8Efa0AF63B0e84eb1Dd72bf00f00cd1e2234e", "decimals": 18, - "category": "stablecoin", + "category": "tokenized-fiat", + "instrumentType": "fiat-backed-stablecoin", + "issuerType": "token-issuer-unverified", + "currencyCode": "USD", + "claimType": "claim-on-issuer-unverified", + "settlementAssetClass": "fiat", + "backingAssets": [ + "cash", + "cash-equivalents" + ], + "gruVersion": "v2", + "gruFamilySymbol": "cUSDT", + "gruTransportRole": "all-mainnet-usdt-surface", + "tags": [ + "tokenized-fiat", + "fiat:usd", + "backing:cash", + "backing:cash-equivalents", + "gru:v2", + "gru:m1", + "gru:transport", + "gru:all-mainnet", + "gru:cusdt-family" + ], + "backingMetadata": { + "backingModel": "fiat-reserve-backed", + "backingAssetClasses": [ + "cash", + "cash-equivalents" + ], + "backingVerificationStatus": "reserve-disclosure-not-committed", + "overcollateralizationRequired": false + }, + "bridgeMetadata": { + "bridgeStatus": "documented-token-not-canonical-138-to-651940-target", + "bridgeKind": "unknown-or-noncanonical", + "sourceChainId": null, + "destinationChainId": 651940, + "sourceSymbol": null, + "sourceAddress": null, + "destinationSymbol": "USDT", + "destinationAddress": "0x66D8Efa0AF63B0e84eb1Dd72bf00f00cd1e2234e", + "adapterAddress": null, + "bridgeCanonicalAssetVersion": null, + "bridgeMirroredAssetVersion": "all-mainnet-surface" + }, + "cashMetadata": { + "cashRole": "reserve-and-redemption-asset-class", + "currency": "USD", + "cashBackingAssertedByRepo": false, + "cashBackingEvidenceRef": null + }, + "commodityMetadata": { + "commodityBacked": false, + "commodityType": null, + "commodityUnit": null, + "reserveLocationRef": null + }, + "reserveMetadata": { + "reserveModel": "issuer-reserve-unverified", + "reserveDisclosureRef": null, + "reserveAccountRef": null, + "proofOfReserveRef": null, + "reserveVerificationStatus": "pending-disclosure", + "riskTier": "policy-review-required", + "registryStatus": "documented-surface-not-stablecoin-registry-entry" + }, + "securityMetadata": { + "pauseAuthority": "unknown", + "adminAuthority": "unknown", + "upgradeability": "unknown", + "keyManagement": "unknown", + "emergencyHalt": "corridor-halt-required-for-issuer-or-peg-risk", + "monitoring": [ + "peg-deviation", + "liquidity-depth", + "contract-admin-changes" + ] + }, + "settlementMetadata": { + "settlementAssetClass": "fiat", + "settlementCurrency": "USD", + "settlementFinalityDomain": "off-chain-issuer-domain", + "onChainFinality": "token-transfer-final-on-chain-651940-after-confirmation", + "accountingEvidenceRequired": true, + "redemptionPath": "issuer-redemption-unverified", + "parRedemption": "unverified" + }, "status": "verified" }, { "symbol": "USDC", "address": "0xa95EeD79f84E6A0151eaEb9d441F9Ffd50e8e881", "decimals": 18, - "category": "stablecoin", + "category": "tokenized-fiat", + "instrumentType": "fiat-backed-stablecoin", + "issuerType": "token-issuer-unverified", + "currencyCode": "USD", + "claimType": "claim-on-issuer-unverified", + "settlementAssetClass": "fiat", + "backingAssets": [ + "cash", + "cash-equivalents" + ], + "gruVersion": "v2", + "gruFamilySymbol": "cUSDC", + "gruTransportRole": "all-mainnet-usdc-surface", + "tags": [ + "tokenized-fiat", + "fiat:usd", + "backing:cash", + "backing:cash-equivalents", + "gru:v2", + "gru:m1", + "gru:transport", + "gru:all-mainnet", + "gru:cusdc-family" + ], + "backingMetadata": { + "backingModel": "fiat-reserve-backed", + "backingAssetClasses": [ + "cash", + "cash-equivalents" + ], + "backingVerificationStatus": "reserve-disclosure-not-committed", + "overcollateralizationRequired": false + }, + "bridgeMetadata": { + "bridgeStatus": "live-canonical-target", + "bridgeKind": "AlltraAdapter", + "sourceChainId": 138, + "destinationChainId": 651940, + "sourceSymbol": "cUSDC", + "sourceAddress": "0xf22258f57794CC8E06237084b353Ab30fFfa640b", + "destinationSymbol": "USDC", + "destinationAddress": "0xa95EeD79f84E6A0151eaEb9d441F9Ffd50e8e881", + "adapterAddress": "0x66FEBA2fC9a0B47F26DD4284DAd24F970436B8Dc", + "bridgeCanonicalAssetVersion": "gru-v2", + "bridgeMirroredAssetVersion": "all-mainnet-surface" + }, + "cashMetadata": { + "cashRole": "reserve-and-redemption-asset-class", + "currency": "USD", + "cashBackingAssertedByRepo": false, + "cashBackingEvidenceRef": null + }, + "commodityMetadata": { + "commodityBacked": false, + "commodityType": null, + "commodityUnit": null, + "reserveLocationRef": null + }, + "reserveMetadata": { + "reserveModel": "issuer-or-bridge-reserve-unverified", + "reserveDisclosureRef": null, + "reserveAccountRef": null, + "proofOfReserveRef": null, + "reserveVerificationStatus": "pending-disclosure", + "riskTier": "policy-review-required", + "registryStatus": "documented-surface-not-stablecoin-registry-entry" + }, + "securityMetadata": { + "pauseAuthority": "unknown", + "adminAuthority": "unknown", + "upgradeability": "unknown", + "keyManagement": "unknown", + "emergencyHalt": "corridor-halt-required-for-issuer-bridge-or-peg-risk", + "monitoring": [ + "peg-deviation", + "bridge-health", + "liquidity-depth", + "contract-admin-changes" + ] + }, + "settlementMetadata": { + "settlementAssetClass": "fiat", + "settlementCurrency": "USD", + "settlementFinalityDomain": "off-chain-regulated-ledger-or-issuer-domain", + "onChainFinality": "token-transfer-final-on-chain-651940-after-confirmation", + "accountingEvidenceRequired": true, + "redemptionPath": "issuer-or-bridge-redemption-unverified", + "parRedemption": "unverified" + }, "status": "verified" }, { @@ -41,6 +355,80 @@ "address": "0x798F6762BB40d6801A593459d08F890603D3979C", "decimals": 18, "category": "wrapped-native", + "instrumentType": "wrapped-native", + "issuerType": "wrapper-contract", + "settlementAssetClass": "crypto-native", + "backingAssets": [ + "native-gas-asset" + ], + "gruVersion": null, + "tags": [ + "wrapped-native", + "gas:eth", + "all-mainnet" + ], + "backingMetadata": { + "backingModel": "wrapped-native-escrow", + "backingAssetClasses": [ + "native-gas-asset" + ], + "backingVerificationStatus": "wrapper-contract-address-verified", + "overcollateralizationRequired": false + }, + "bridgeMetadata": { + "bridgeStatus": "mapped-138-to-651940", + "bridgeKind": "AlltraAdapter", + "sourceChainId": 138, + "destinationChainId": 651940, + "sourceSymbol": "WETH9", + "sourceAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "destinationSymbol": "WETH", + "destinationAddress": "0x798F6762BB40d6801A593459d08F890603D3979C", + "adapterAddress": "0x66FEBA2fC9a0B47F26DD4284DAd24F970436B8Dc" + }, + "cashMetadata": { + "cashRole": "none", + "currency": null, + "cashBackingAssertedByRepo": false, + "cashBackingEvidenceRef": null + }, + "commodityMetadata": { + "commodityBacked": false, + "commodityType": null, + "commodityUnit": null, + "reserveLocationRef": null + }, + "reserveMetadata": { + "reserveModel": "native-asset-wrapper-escrow", + "reserveDisclosureRef": null, + "reserveAccountRef": "wrapper-contract-balance", + "proofOfReserveRef": null, + "reserveVerificationStatus": "contract-balance-verifiable-on-chain", + "riskTier": "bridge-and-wrapper-risk", + "registryStatus": "documented-token-surface" + }, + "securityMetadata": { + "pauseAuthority": "unknown", + "adminAuthority": "unknown", + "upgradeability": "unknown", + "keyManagement": "unknown", + "emergencyHalt": "corridor-halt-required-for-bridge-or-wrapper-risk", + "monitoring": [ + "bridge-health", + "wrapper-contract-balance", + "liquidity-depth", + "contract-admin-changes" + ] + }, + "settlementMetadata": { + "settlementAssetClass": "crypto-native", + "settlementCurrency": "ETH", + "settlementFinalityDomain": "chain-finality", + "onChainFinality": "token-transfer-final-on-chain-651940-after-confirmation", + "accountingEvidenceRequired": false, + "redemptionPath": "unwrap-or-bridge-withdrawal", + "parRedemption": "one-to-one-native-asset-when-wrapper-solvent" + }, "status": "verified" }, { @@ -48,6 +436,79 @@ "address": "0x2da2b8f961F161ab6320acB3377e2e844a3C3ce4", "decimals": 18, "category": "wrapped-native", + "instrumentType": "wrapped-native", + "issuerType": "wrapper-contract", + "settlementAssetClass": "crypto-native", + "backingAssets": [ + "native-gas-asset" + ], + "gruVersion": null, + "tags": [ + "wrapped-native", + "gas:all", + "all-mainnet" + ], + "backingMetadata": { + "backingModel": "wrapped-native-escrow", + "backingAssetClasses": [ + "native-gas-asset" + ], + "backingVerificationStatus": "wrapper-contract-address-verified", + "overcollateralizationRequired": false + }, + "bridgeMetadata": { + "bridgeStatus": "documented-all-mainnet-native-wrapper", + "bridgeKind": "native-wrapper", + "sourceChainId": 651940, + "destinationChainId": 651940, + "sourceSymbol": "ALL", + "sourceAddress": null, + "destinationSymbol": "WALL", + "destinationAddress": "0x2da2b8f961F161ab6320acB3377e2e844a3C3ce4", + "adapterAddress": null + }, + "cashMetadata": { + "cashRole": "none", + "currency": null, + "cashBackingAssertedByRepo": false, + "cashBackingEvidenceRef": null + }, + "commodityMetadata": { + "commodityBacked": false, + "commodityType": null, + "commodityUnit": null, + "reserveLocationRef": null + }, + "reserveMetadata": { + "reserveModel": "native-asset-wrapper-escrow", + "reserveDisclosureRef": null, + "reserveAccountRef": "wrapper-contract-balance", + "proofOfReserveRef": null, + "reserveVerificationStatus": "contract-balance-verifiable-on-chain", + "riskTier": "wrapper-risk", + "registryStatus": "documented-token-surface" + }, + "securityMetadata": { + "pauseAuthority": "unknown", + "adminAuthority": "unknown", + "upgradeability": "unknown", + "keyManagement": "unknown", + "emergencyHalt": "corridor-halt-required-for-wrapper-risk", + "monitoring": [ + "wrapper-contract-balance", + "liquidity-depth", + "contract-admin-changes" + ] + }, + "settlementMetadata": { + "settlementAssetClass": "crypto-native", + "settlementCurrency": "ALL", + "settlementFinalityDomain": "chain-finality", + "onChainFinality": "token-transfer-final-on-chain-651940-after-confirmation", + "accountingEvidenceRequired": false, + "redemptionPath": "unwrap-to-native-all", + "parRedemption": "one-to-one-native-asset-when-wrapper-solvent" + }, "status": "verified" }, { @@ -55,6 +516,79 @@ "address": "0x0d9793861AEB9244AD1B34375a83A6730F6AdD38", "decimals": 18, "category": "dex-token", + "instrumentType": "protocol-token", + "issuerType": "protocol", + "settlementAssetClass": "crypto-native", + "backingAssets": [ + "protocol-utility" + ], + "gruVersion": null, + "tags": [ + "dex-token", + "protocol:hydx", + "all-mainnet" + ], + "backingMetadata": { + "backingModel": "protocol-utility", + "backingAssetClasses": [ + "protocol-utility" + ], + "backingVerificationStatus": "not-reserve-backed", + "overcollateralizationRequired": false + }, + "bridgeMetadata": { + "bridgeStatus": "not-bridge-canonical-in-this-inventory", + "bridgeKind": null, + "sourceChainId": null, + "destinationChainId": 651940, + "sourceSymbol": null, + "sourceAddress": null, + "destinationSymbol": "HYDX", + "destinationAddress": "0x0d9793861AEB9244AD1B34375a83A6730F6AdD38", + "adapterAddress": null + }, + "cashMetadata": { + "cashRole": "none", + "currency": null, + "cashBackingAssertedByRepo": false, + "cashBackingEvidenceRef": null + }, + "commodityMetadata": { + "commodityBacked": false, + "commodityType": null, + "commodityUnit": null, + "reserveLocationRef": null + }, + "reserveMetadata": { + "reserveModel": "none-protocol-token", + "reserveDisclosureRef": null, + "reserveAccountRef": null, + "proofOfReserveRef": null, + "reserveVerificationStatus": "not-applicable", + "riskTier": "protocol-token-risk", + "registryStatus": "documented-token-surface" + }, + "securityMetadata": { + "pauseAuthority": "unknown", + "adminAuthority": "unknown", + "upgradeability": "unknown", + "keyManagement": "unknown", + "emergencyHalt": "routing-halt-required-for-protocol-or-contract-risk", + "monitoring": [ + "liquidity-depth", + "contract-admin-changes", + "protocol-surface-confirmation" + ] + }, + "settlementMetadata": { + "settlementAssetClass": "crypto-native", + "settlementCurrency": "HYDX", + "settlementFinalityDomain": "chain-finality", + "onChainFinality": "token-transfer-final-on-chain-651940-after-confirmation", + "accountingEvidenceRequired": false, + "redemptionPath": "not-applicable", + "parRedemption": "not-applicable" + }, "status": "verified" }, { @@ -62,6 +596,78 @@ "address": "0x1839f77eBed7F388c7035f7061B4B8Ef0E72317a", "decimals": 8, "category": "defi-token", + "instrumentType": "protocol-token", + "issuerType": "protocol", + "settlementAssetClass": "crypto-native", + "backingAssets": [ + "protocol-utility" + ], + "gruVersion": null, + "tags": [ + "defi-token", + "protocol:hybx", + "all-mainnet" + ], + "backingMetadata": { + "backingModel": "protocol-utility", + "backingAssetClasses": [ + "protocol-utility" + ], + "backingVerificationStatus": "not-reserve-backed", + "overcollateralizationRequired": false + }, + "bridgeMetadata": { + "bridgeStatus": "not-bridge-canonical-in-this-inventory", + "bridgeKind": null, + "sourceChainId": null, + "destinationChainId": 651940, + "sourceSymbol": null, + "sourceAddress": null, + "destinationSymbol": "HYBX", + "destinationAddress": "0x1839f77eBed7F388c7035f7061B4B8Ef0E72317a", + "adapterAddress": null + }, + "cashMetadata": { + "cashRole": "none", + "currency": null, + "cashBackingAssertedByRepo": false, + "cashBackingEvidenceRef": null + }, + "commodityMetadata": { + "commodityBacked": false, + "commodityType": null, + "commodityUnit": null, + "reserveLocationRef": null + }, + "reserveMetadata": { + "reserveModel": "none-protocol-token", + "reserveDisclosureRef": null, + "reserveAccountRef": null, + "proofOfReserveRef": null, + "reserveVerificationStatus": "not-applicable", + "riskTier": "protocol-token-risk", + "registryStatus": "documented-token-surface" + }, + "securityMetadata": { + "pauseAuthority": "unknown", + "adminAuthority": "unknown", + "upgradeability": "unknown", + "keyManagement": "unknown", + "emergencyHalt": "routing-halt-required-for-protocol-or-contract-risk", + "monitoring": [ + "liquidity-depth", + "contract-admin-changes" + ] + }, + "settlementMetadata": { + "settlementAssetClass": "crypto-native", + "settlementCurrency": "HYBX", + "settlementFinalityDomain": "chain-finality", + "onChainFinality": "token-transfer-final-on-chain-651940-after-confirmation", + "accountingEvidenceRequired": false, + "redemptionPath": "not-applicable", + "parRedemption": "not-applicable" + }, "status": "verified" }, { @@ -69,6 +675,79 @@ "address": "0xE59Bb804F4884FcEA183a4A67B1bb04f4a4567bc", "decimals": 8, "category": "defi-token", + "instrumentType": "utility-token", + "issuerType": "protocol", + "settlementAssetClass": "crypto-native", + "backingAssets": [ + "protocol-utility" + ], + "gruVersion": null, + "tags": [ + "defi-token", + "utility-token", + "protocol:cht", + "all-mainnet" + ], + "backingMetadata": { + "backingModel": "protocol-utility", + "backingAssetClasses": [ + "protocol-utility" + ], + "backingVerificationStatus": "not-reserve-backed", + "overcollateralizationRequired": false + }, + "bridgeMetadata": { + "bridgeStatus": "not-bridge-canonical-in-this-inventory", + "bridgeKind": null, + "sourceChainId": null, + "destinationChainId": 651940, + "sourceSymbol": null, + "sourceAddress": null, + "destinationSymbol": "CHT", + "destinationAddress": "0xE59Bb804F4884FcEA183a4A67B1bb04f4a4567bc", + "adapterAddress": null + }, + "cashMetadata": { + "cashRole": "none", + "currency": null, + "cashBackingAssertedByRepo": false, + "cashBackingEvidenceRef": null + }, + "commodityMetadata": { + "commodityBacked": false, + "commodityType": null, + "commodityUnit": null, + "reserveLocationRef": null + }, + "reserveMetadata": { + "reserveModel": "none-utility-token", + "reserveDisclosureRef": null, + "reserveAccountRef": null, + "proofOfReserveRef": null, + "reserveVerificationStatus": "not-applicable", + "riskTier": "utility-token-risk", + "registryStatus": "documented-token-surface" + }, + "securityMetadata": { + "pauseAuthority": "unknown", + "adminAuthority": "unknown", + "upgradeability": "unknown", + "keyManagement": "unknown", + "emergencyHalt": "routing-halt-required-for-protocol-or-contract-risk", + "monitoring": [ + "liquidity-depth", + "contract-admin-changes" + ] + }, + "settlementMetadata": { + "settlementAssetClass": "crypto-native", + "settlementCurrency": "CHT", + "settlementFinalityDomain": "chain-finality", + "onChainFinality": "token-transfer-final-on-chain-651940-after-confirmation", + "accountingEvidenceRequired": false, + "redemptionPath": "not-applicable", + "parRedemption": "not-applicable" + }, "status": "verified" }, { @@ -76,6 +755,78 @@ "address": "0x690740f055A41FA7669f5a379Bf71B0cDF353073", "decimals": 18, "category": "defi-token", + "instrumentType": "protocol-token", + "issuerType": "protocol", + "settlementAssetClass": "crypto-native", + "backingAssets": [ + "protocol-utility" + ], + "gruVersion": null, + "tags": [ + "defi-token", + "protocol:auda", + "all-mainnet" + ], + "backingMetadata": { + "backingModel": "protocol-utility", + "backingAssetClasses": [ + "protocol-utility" + ], + "backingVerificationStatus": "not-reserve-backed", + "overcollateralizationRequired": false + }, + "bridgeMetadata": { + "bridgeStatus": "not-bridge-canonical-in-this-inventory", + "bridgeKind": null, + "sourceChainId": null, + "destinationChainId": 651940, + "sourceSymbol": null, + "sourceAddress": null, + "destinationSymbol": "AUDA", + "destinationAddress": "0x690740f055A41FA7669f5a379Bf71B0cDF353073", + "adapterAddress": null + }, + "cashMetadata": { + "cashRole": "none", + "currency": null, + "cashBackingAssertedByRepo": false, + "cashBackingEvidenceRef": null + }, + "commodityMetadata": { + "commodityBacked": false, + "commodityType": null, + "commodityUnit": null, + "reserveLocationRef": null + }, + "reserveMetadata": { + "reserveModel": "none-protocol-token", + "reserveDisclosureRef": null, + "reserveAccountRef": null, + "proofOfReserveRef": null, + "reserveVerificationStatus": "not-applicable", + "riskTier": "protocol-token-risk", + "registryStatus": "documented-token-surface" + }, + "securityMetadata": { + "pauseAuthority": "unknown", + "adminAuthority": "unknown", + "upgradeability": "unknown", + "keyManagement": "unknown", + "emergencyHalt": "routing-halt-required-for-protocol-or-contract-risk", + "monitoring": [ + "liquidity-depth", + "contract-admin-changes" + ] + }, + "settlementMetadata": { + "settlementAssetClass": "crypto-native", + "settlementCurrency": "AUDA", + "settlementFinalityDomain": "chain-finality", + "onChainFinality": "token-transfer-final-on-chain-651940-after-confirmation", + "accountingEvidenceRequired": false, + "redemptionPath": "not-applicable", + "parRedemption": "not-applicable" + }, "status": "verified" } ], diff --git a/metamask-integration b/metamask-integration index b15b13c5..8896234a 160000 --- a/metamask-integration +++ b/metamask-integration @@ -1 +1 @@ -Subproject commit b15b13c57ef5714263edb40a922ef9b11968ac64 +Subproject commit 8896234a8d88ffa61b4033951ba7c502024ae5d5 diff --git a/package.json b/package.json index fe8c31b6..3c46c27d 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,9 @@ "mission-control:dev": "pnpm --filter mission-control dev", "mission-control:build": "pnpm --filter mission-control build", "mission-control:start": "pnpm --filter mission-control start", - "mission-control:test": "pnpm --filter mission-control test" + "mission-control:test": "pnpm --filter mission-control test", + "token-lists:validate-metadata": "node scripts/validation/validate-token-list-metadata.mjs", + "pool-matrix:validate": "node scripts/validation/validate-pool-creation-matrix.mjs" }, "keywords": [ "proxmox", diff --git a/scripts/validation/validate-config-files.sh b/scripts/validation/validate-config-files.sh index 77e6d3be..a7965323 100755 --- a/scripts/validation/validate-config-files.sh +++ b/scripts/validation/validate-config-files.sh @@ -146,6 +146,22 @@ else fi fi done + if [[ -f "$PROJECT_ROOT/scripts/validation/validate-token-list-metadata.mjs" ]]; then + if node "$PROJECT_ROOT/scripts/validation/validate-token-list-metadata.mjs"; then + log_ok "Token-list metadata conventions valid" + else + log_err "Token-list metadata conventions invalid" + ERRORS=$((ERRORS + 1)) + fi + fi + if [[ -f "$PROJECT_ROOT/config/all-mainnet-pool-creation-matrix.json" ]] && [[ -f "$PROJECT_ROOT/scripts/validation/validate-pool-creation-matrix.mjs" ]]; then + if node "$PROJECT_ROOT/scripts/validation/validate-pool-creation-matrix.mjs"; then + log_ok "ALL Mainnet pool-creation matrix valid" + else + log_err "ALL Mainnet pool-creation matrix invalid" + ERRORS=$((ERRORS + 1)) + fi + fi # DUAL_CHAIN config (explorer deploy source) if [[ -f "$PROJECT_ROOT/explorer-monorepo/backend/api/rest/config/metamask/DUAL_CHAIN_TOKEN_LIST.tokenlist.json" ]] && command -v jq &>/dev/null; then if jq -e '(.tokens | type == "array") and (.tokens | length > 0)' "$PROJECT_ROOT/explorer-monorepo/backend/api/rest/config/metamask/DUAL_CHAIN_TOKEN_LIST.tokenlist.json" &>/dev/null; then diff --git a/scripts/validation/validate-pool-creation-matrix.mjs b/scripts/validation/validate-pool-creation-matrix.mjs new file mode 100755 index 00000000..71e04f1e --- /dev/null +++ b/scripts/validation/validate-pool-creation-matrix.mjs @@ -0,0 +1,345 @@ +#!/usr/bin/env node +/** + * Validate the ALL Mainnet pool-creation matrix. + * + * This file is an operational dependency: pool rows are used to decide what can + * be created, funded, or promoted. The checks here keep the matrix internally + * consistent and cross-check token addresses against the repo token lists. + */ + +import { existsSync, readFileSync } from "node:fs"; +import { basename, resolve } from "node:path"; + +const repoRoot = resolve(new URL("../..", import.meta.url).pathname); +const defaultMatrix = "config/all-mainnet-pool-creation-matrix.json"; +const defaultTokenLists = [ + "token-lists/lists/all-mainnet.tokenlist.json", + "token-lists/lists/dbis-138.tokenlist.json", + "token-lists/lists/ethereum-mainnet.tokenlist.json", + "token-lists/lists/arbitrum.tokenlist.json", + "token-lists/lists/avalanche.tokenlist.json", + "token-lists/lists/cronos.tokenlist.json", + "metamask-integration/config/token-list.json", + "smom-dbis-138/metamask/token-list.json", +]; + +const requiredVaultRoles = [ + "treasury_reserve", + "bridge_liquidity", + "single_sided_inventory", + "protocol_adapter", + "emergency_withdraw", +]; + +const statusesRequiringPoolAddress = new Set(["created", "funded", "live_read", "canary_passed", "production"]); +const addressPattern = /^0x[a-fA-F0-9]{40}$/; + +function parseArgs() { + const args = process.argv.slice(2); + if (args.includes("--help") || args.includes("-h")) { + console.log(`Usage: node scripts/validation/validate-pool-creation-matrix.mjs [matrix-path]\n\nDefaults to ${defaultMatrix}.`); + process.exit(0); + } + return args[0] || defaultMatrix; +} + +function readJson(file, errors) { + const abs = resolve(repoRoot, file); + if (!existsSync(abs)) { + errors.push(`${file}: missing`); + return null; + } + try { + return JSON.parse(readFileSync(abs, "utf8")); + } catch (error) { + errors.push(`${file}: invalid JSON: ${error.message}`); + return null; + } +} + +function tokenKey(chainId, symbol) { + return `${chainId}:${String(symbol).toUpperCase()}`; +} + +function buildTokenIndex(warnings) { + const index = new Map(); + + for (const file of defaultTokenLists) { + const abs = resolve(repoRoot, file); + if (!existsSync(abs)) { + warnings.push(`${file}: token list missing; address cross-check skipped for that file`); + continue; + } + + let list; + try { + list = JSON.parse(readFileSync(abs, "utf8")); + } catch (error) { + warnings.push(`${file}: invalid JSON; address cross-check skipped for that file: ${error.message}`); + continue; + } + + if (!Array.isArray(list.tokens)) { + warnings.push(`${file}: missing tokens[]; address cross-check skipped for that file`); + continue; + } + + for (const token of list.tokens) { + if (!token?.chainId || !token?.symbol || !addressPattern.test(String(token.address || ""))) { + continue; + } + const key = tokenKey(token.chainId, token.symbol); + if (!index.has(key)) { + index.set(key, new Map()); + } + index.get(key).set(String(token.address).toLowerCase(), `${file}:${token.symbol}`); + } + } + + return index; +} + +function ref(row, index) { + return `rows[${index}] ${row.poolId || ""}`; +} + +function slug(value) { + return String(value || "").toLowerCase(); +} + +function sortedStrings(values) { + return [...values].sort((a, b) => a.localeCompare(b)); +} + +function countBy(rows, key) { + const counts = {}; + for (const row of rows) { + const value = row[key]; + counts[value] = (counts[value] || 0) + 1; + } + return counts; +} + +function sameCounts(actual, expected) { + const keys = new Set([...Object.keys(actual || {}), ...Object.keys(expected || {})]); + for (const key of keys) { + if ((actual?.[key] || 0) !== (expected?.[key] || 0)) { + return false; + } + } + return true; +} + +function validateAddress(value, path, errors, { allowNull = true } = {}) { + if (value === null && allowNull) { + return; + } + if (typeof value !== "string" || !addressPattern.test(value)) { + errors.push(`${path}: expected ${allowNull ? "null or " : ""}0x-prefixed 20-byte address`); + } +} + +function validateTokenAddress(row, index, side, tokenIndex, errors, warnings) { + const token = row[side]; + const rowRef = ref(row, index); + if (!token || typeof token !== "object") { + errors.push(`${rowRef}: ${side} must be an object`); + return; + } + if (typeof token.symbol !== "string" || token.symbol.length === 0) { + errors.push(`${rowRef}: ${side}.symbol is required`); + } + validateAddress(token.address, `${rowRef}: ${side}.address`, errors); + + const known = tokenIndex.get(tokenKey(row.chainId, token.symbol)); + if (!known || known.size !== 1) { + return; + } + + const [knownAddress, source] = [...known.entries()][0]; + if (token.address === null) { + if (row.status !== "planned" || row.publicRoutingEnabled === true) { + errors.push(`${rowRef}: ${side} ${token.symbol} address is missing but ${source} has ${knownAddress}`); + } + return; + } + + if (String(token.address).toLowerCase() !== knownAddress) { + warnings.push(`${rowRef}: ${side} ${token.symbol} address ${token.address} differs from ${source} ${knownAddress}`); + } +} + +function validateMatrix(file, matrix, tokenIndex) { + const errors = []; + const warnings = []; + + if (!matrix || typeof matrix !== "object" || Array.isArray(matrix)) { + errors.push(`${file}: root must be an object`); + return { errors, warnings }; + } + + if (typeof matrix.version !== "string" || matrix.version.length === 0) { + errors.push(`${file}: version is required`); + } + if (typeof matrix.generatedAt !== "string" || Number.isNaN(Date.parse(matrix.generatedAt))) { + errors.push(`${file}: generatedAt must be an ISO-like date string`); + } + if (!Array.isArray(matrix.rows) || matrix.rows.length === 0) { + errors.push(`${file}: rows[] is required`); + return { errors, warnings }; + } + if (!Array.isArray(matrix.lifecycle) || matrix.lifecycle.length === 0) { + errors.push(`${file}: lifecycle[] is required`); + } + if (!Array.isArray(matrix.protocolRolloutOrder) || matrix.protocolRolloutOrder.length === 0) { + errors.push(`${file}: protocolRolloutOrder[] is required`); + } + + const protocolCounts = countBy(matrix.rows, "protocol"); + const statusCounts = countBy(matrix.rows, "status"); + if (!sameCounts(protocolCounts, matrix.protocolCounts)) { + errors.push(`${file}: protocolCounts does not match rows (${JSON.stringify(protocolCounts)})`); + } + if (!sameCounts(statusCounts, matrix.statusCounts)) { + errors.push(`${file}: statusCounts does not match rows (${JSON.stringify(statusCounts)})`); + } + + const lifecycle = new Set(matrix.lifecycle || []); + const rollout = new Set(matrix.protocolRolloutOrder || []); + const poolIds = new Set(); + + matrix.rows.forEach((row, index) => { + const rowRef = ref(row, index); + if (!row || typeof row !== "object" || Array.isArray(row)) { + errors.push(`rows[${index}]: row must be an object`); + return; + } + + if (typeof row.poolId !== "string" || row.poolId.length === 0) { + errors.push(`${rowRef}: poolId is required`); + } else if (poolIds.has(row.poolId)) { + errors.push(`${rowRef}: duplicate poolId`); + } else { + poolIds.add(row.poolId); + } + + if (!Number.isInteger(row.chainId)) { + errors.push(`${rowRef}: chainId must be an integer`); + } + if (!rollout.has(row.protocol)) { + errors.push(`${rowRef}: protocol ${row.protocol} is not in protocolRolloutOrder`); + } + if (!lifecycle.has(row.status)) { + errors.push(`${rowRef}: status ${row.status} is not in lifecycle`); + } + + const expectedPoolId = `${row.chainId}-${row.protocol}-${slug(row.baseToken?.symbol)}-${slug(row.quoteToken?.symbol)}`; + if (row.poolId && row.poolId !== expectedPoolId) { + errors.push(`${rowRef}: poolId should be ${expectedPoolId}`); + } + + validateTokenAddress(row, index, "baseToken", tokenIndex, errors, warnings); + validateTokenAddress(row, index, "quoteToken", tokenIndex, errors, warnings); + + validateAddress(row.factoryAddress, `${rowRef}: factoryAddress`, errors); + validateAddress(row.routerAddress, `${rowRef}: routerAddress`, errors); + validateAddress(row.poolAddress, `${rowRef}: poolAddress`, errors, { + allowNull: !statusesRequiringPoolAddress.has(row.status), + }); + validateAddress(row.vaultAddress, `${rowRef}: vaultAddress`, errors); + + if (statusesRequiringPoolAddress.has(row.status) && row.poolAddress === null) { + errors.push(`${rowRef}: status ${row.status} requires poolAddress`); + } + + const shouldBeSingleSided = row.protocol === "single_sided_pmm" || row.poolType === "single_sided"; + if (row.singleSided !== shouldBeSingleSided) { + errors.push(`${rowRef}: singleSided should be ${shouldBeSingleSided}`); + } + + if (!Array.isArray(row.vaultAssignments)) { + errors.push(`${rowRef}: vaultAssignments[] is required`); + } else { + const roles = row.vaultAssignments.map((assignment) => assignment?.role); + const roleSet = new Set(roles); + const expectedRoles = new Set(requiredVaultRoles); + if (roleSet.size !== expectedRoles.size || requiredVaultRoles.some((role) => !roleSet.has(role))) { + errors.push(`${rowRef}: vaultAssignments roles must be ${requiredVaultRoles.join(",")}`); + } + for (const assignment of row.vaultAssignments) { + if (!assignment || typeof assignment !== "object") { + errors.push(`${rowRef}: vaultAssignments entries must be objects`); + continue; + } + validateAddress(assignment.vaultAddress, `${rowRef}: vaultAssignments.${assignment.role || ""}.vaultAddress`, errors); + if (typeof assignment.requiredBeforeFunding !== "boolean") { + errors.push(`${rowRef}: vaultAssignments.${assignment.role || ""}.requiredBeforeFunding must be boolean`); + } + } + + const actualMissing = sortedStrings( + row.vaultAssignments + .filter((assignment) => assignment?.requiredBeforeFunding === true && assignment.vaultAddress === null) + .map((assignment) => assignment.role), + ); + const declaredMissing = sortedStrings(row.missingRequiredVaultRoles || []); + if (actualMissing.join("|") !== declaredMissing.join("|")) { + errors.push(`${rowRef}: missingRequiredVaultRoles should be [${actualMissing.join(", ")}]`); + } + const expectedStatus = actualMissing.length > 0 ? "missing_required_vaults" : "ready"; + if (row.vaultAssignmentStatus !== expectedStatus) { + errors.push(`${rowRef}: vaultAssignmentStatus should be ${expectedStatus}`); + } + } + + const tiers = row.fundingTiersUsd; + if (!tiers || typeof tiers !== "object") { + errors.push(`${rowRef}: fundingTiersUsd is required`); + } else if (!(tiers.seed > 0 && tiers.smoke >= tiers.seed && tiers.productionMinimum >= tiers.smoke)) { + errors.push(`${rowRef}: fundingTiersUsd must satisfy seed > 0, smoke >= seed, productionMinimum >= smoke`); + } + + const policy = row.policy; + if (!policy || typeof policy !== "object") { + errors.push(`${rowRef}: policy is required`); + } else { + for (const key of ["maxPriceImpactBps", "minReserveUsd", "refillTriggerBps"]) { + if (typeof policy[key] !== "number" || policy[key] < 0) { + errors.push(`${rowRef}: policy.${key} must be a non-negative number`); + } + } + if (typeof policy.pauseOnReserveReadFailure !== "boolean") { + errors.push(`${rowRef}: policy.pauseOnReserveReadFailure must be boolean`); + } + } + + if (!Array.isArray(row.notes)) { + errors.push(`${rowRef}: notes[] is required`); + } + }); + + return { errors, warnings }; +} + +const matrixPath = parseArgs(); +const bootstrapErrors = []; +const bootstrapWarnings = []; +const matrix = readJson(matrixPath, bootstrapErrors); +const tokenIndex = buildTokenIndex(bootstrapWarnings); +const { errors, warnings } = matrix ? validateMatrix(matrixPath, matrix, tokenIndex) : { errors: [], warnings: [] }; +const allErrors = [...bootstrapErrors, ...errors]; +const allWarnings = [...bootstrapWarnings, ...warnings]; + +for (const warning of allWarnings) { + console.warn(`[WARN] ${warning}`); +} + +if (allErrors.length > 0) { + console.error(`[ERROR] Pool-creation matrix validation failed with ${allErrors.length} issue(s):`); + for (const error of allErrors) { + console.error(` - ${error}`); + } + process.exit(1); +} + +console.log(`[OK] ${basename(matrixPath)} valid: ${matrix.rows.length} row(s), ${Object.keys(matrix.protocolCounts || {}).length} protocol(s).`); diff --git a/scripts/validation/validate-token-list-metadata.mjs b/scripts/validation/validate-token-list-metadata.mjs new file mode 100755 index 00000000..c8a5d104 --- /dev/null +++ b/scripts/validation/validate-token-list-metadata.mjs @@ -0,0 +1,240 @@ +#!/usr/bin/env node +/** + * Validate DBIS token-list metadata conventions. + * + * This complements the Uniswap token-list schema validator. The schema checks + * shape; this script checks the meaning of the compact tags/extensions we use + * for fiat, cash-like, GRU, commodity, and wrapped-token presentation. + */ + +import { existsSync, readFileSync } from "node:fs"; +import { resolve } from "node:path"; + +const repoRoot = resolve(new URL("../..", import.meta.url).pathname); + +const defaultTokenLists = [ + "token-lists/lists/all-mainnet.tokenlist.json", + "token-lists/lists/arbitrum.tokenlist.json", + "token-lists/lists/avalanche.tokenlist.json", + "token-lists/lists/cronos.tokenlist.json", + "token-lists/lists/dbis-138.tokenlist.json", + "token-lists/lists/ethereum-mainnet.tokenlist.json", + "metamask-integration/config/token-list.json", + "metamask-integration/provider/config/DUAL_CHAIN_TOKEN_LIST.tokenlist.json", + "metamask-integration/docs/METAMASK_TOKEN_LIST.json", + "smom-dbis-138/metamask/token-list.json", +]; + +const conventionTags = new Set(["fiat", "cash", "gru", "commodity"]); +const protocolSymbols = new Set(["AUDA", "HYDX", "HYBX", "CHT"]); +const cryptoCollateralStablecoins = new Set(["DAI"]); +const fiatCurrencies = new Set(["USD", "EUR", "GBP", "AUD", "JPY", "CHF", "CAD"]); +const allowedCategories = new Set([ + "tokenized-fiat", + "stablecoin", + "wrapped-native", + "defi-token", + "dex-token", + "utility-token", + "commodity-token", +]); + +function parseArgs() { + const args = process.argv.slice(2); + if (args.includes("--help") || args.includes("-h")) { + console.log(`Usage: node scripts/validation/validate-token-list-metadata.mjs [token-list ...]\n\nIf no token-list paths are supplied, validates the repo's canonical token-list files that exist.`); + process.exit(0); + } + return args.length > 0 ? args : defaultTokenLists; +} + +function isScalar(value) { + return value === null || ["string", "number", "boolean"].includes(typeof value); +} + +function tokenRef(file, index, token) { + return `${file} tokens[${index}] ${token.symbol || ""} ${token.chainId || ""} ${token.address || ""}`; +} + +function hasTag(token, tag) { + return Array.isArray(token.tags) && token.tags.includes(tag); +} + +function tagDefs(list) { + return list.tags && typeof list.tags === "object" && !Array.isArray(list.tags) + ? list.tags + : {}; +} + +function validateList(file, list) { + const errors = []; + const warnings = []; + const tags = tagDefs(list); + + if (!Array.isArray(list.tokens)) { + errors.push(`${file}: missing tokens[]`); + return { errors, warnings }; + } + + for (const conventionTag of conventionTags) { + const used = list.tokens.some((token) => hasTag(token, conventionTag)); + if (used && !tags[conventionTag]) { + errors.push(`${file}: tag "${conventionTag}" is used but missing from top-level tags`); + } + } + + list.tokens.forEach((token, index) => { + const ref = tokenRef(file, index, token); + const tokenTags = Array.isArray(token.tags) ? token.tags : []; + const extensions = token.extensions ?? {}; + + for (const tag of tokenTags) { + if (typeof tag !== "string") { + errors.push(`${ref}: tag values must be strings`); + } else if (tag.length > 10) { + errors.push(`${ref}: tag "${tag}" is longer than 10 characters`); + } + } + + if (token.extensions !== undefined) { + if (!extensions || typeof extensions !== "object" || Array.isArray(extensions)) { + errors.push(`${ref}: extensions must be an object when present`); + } else { + const keys = Object.keys(extensions); + if (keys.length > 10) { + errors.push(`${ref}: extensions has ${keys.length} keys; max is 10`); + } + for (const [key, value] of Object.entries(extensions)) { + if (!isScalar(value)) { + errors.push(`${ref}: extensions.${key} must be scalar/null, not ${Array.isArray(value) ? "array" : typeof value}`); + } + if (typeof value === "string" && value.length > 42) { + errors.push(`${ref}: extensions.${key} is longer than 42 characters`); + } + } + } + } + + if (extensions.category && !allowedCategories.has(extensions.category)) { + errors.push(`${ref}: extensions.category "${extensions.category}" is not in the allowed metadata category set`); + } + + if (hasTag(token, "cash")) { + if (!hasTag(token, "fiat")) { + errors.push(`${ref}: cash tag requires fiat tag`); + } + if (extensions.category !== "tokenized-fiat") { + errors.push(`${ref}: cash tag requires extensions.category=tokenized-fiat`); + } + if (extensions.cashLike !== true) { + errors.push(`${ref}: cash tag requires extensions.cashLike=true`); + } + if (extensions.settlement !== "fiat") { + errors.push(`${ref}: cash tag requires extensions.settlement=fiat`); + } + if (typeof extensions.backing !== "string" || !extensions.backing.includes("cash")) { + errors.push(`${ref}: cash tag requires extensions.backing to include cash`); + } + } + + if (hasTag(token, "fiat")) { + if (extensions.category !== "tokenized-fiat") { + errors.push(`${ref}: fiat tag requires extensions.category=tokenized-fiat`); + } + if (!fiatCurrencies.has(extensions.currency)) { + errors.push(`${ref}: fiat tag requires extensions.currency to be one of ${[...fiatCurrencies].join(",")}`); + } + if (extensions.settlement !== "fiat") { + errors.push(`${ref}: fiat tag requires extensions.settlement=fiat`); + } + } + + if (hasTag(token, "gru")) { + if (typeof extensions.gruVersion !== "string" || !/^v\d+$/.test(extensions.gruVersion)) { + errors.push(`${ref}: gru tag requires extensions.gruVersion like v1 or v2`); + } + if (typeof extensions.gruFamily !== "string" || extensions.gruFamily.length === 0) { + errors.push(`${ref}: gru tag requires extensions.gruFamily`); + } + } + + if (hasTag(token, "commodity")) { + if (hasTag(token, "cash") || hasTag(token, "fiat")) { + errors.push(`${ref}: commodity token must not be tagged cash or fiat`); + } + if (extensions.category !== "commodity-token") { + errors.push(`${ref}: commodity tag requires extensions.category=commodity-token`); + } + if (extensions.cashLike !== false) { + errors.push(`${ref}: commodity tag requires extensions.cashLike=false`); + } + if (extensions.backing !== "commodity-reserves") { + errors.push(`${ref}: commodity tag requires extensions.backing=commodity-reserves`); + } + } + + if (protocolSymbols.has(token.symbol)) { + if (hasTag(token, "cash") || hasTag(token, "fiat") || hasTag(token, "gru")) { + errors.push(`${ref}: protocol token ${token.symbol} must not be tagged cash, fiat, or gru`); + } + if (extensions.category === "tokenized-fiat") { + errors.push(`${ref}: protocol token ${token.symbol} must not use category tokenized-fiat`); + } + if (extensions.cashLike === true) { + errors.push(`${ref}: protocol token ${token.symbol} must not be cashLike`); + } + } + + if (cryptoCollateralStablecoins.has(token.symbol)) { + if (hasTag(token, "cash") || hasTag(token, "fiat")) { + errors.push(`${ref}: ${token.symbol} must not be tagged cash or fiat`); + } + if (extensions.instrument !== "crypto-collateralized-stablecoin") { + errors.push(`${ref}: ${token.symbol} requires extensions.instrument=crypto-collateralized-stablecoin`); + } + if (extensions.cashLike !== false) { + errors.push(`${ref}: ${token.symbol} requires extensions.cashLike=false`); + } + } + }); + + return { errors, warnings }; +} + +const files = parseArgs(); +const allErrors = []; +const allWarnings = []; +let validated = 0; + +for (const file of files) { + const abs = resolve(repoRoot, file); + if (!existsSync(abs)) { + allWarnings.push(`${file}: missing; skipped`); + continue; + } + let list; + try { + list = JSON.parse(readFileSync(abs, "utf8")); + } catch (error) { + allErrors.push(`${file}: invalid JSON: ${error.message}`); + continue; + } + const { errors, warnings } = validateList(file, list); + allErrors.push(...errors); + allWarnings.push(...warnings); + validated += 1; +} + +for (const warning of allWarnings) { + console.warn(`[WARN] ${warning}`); +} + +if (allErrors.length > 0) { + console.error(`[ERROR] Token-list metadata validation failed with ${allErrors.length} issue(s):`); + for (const error of allErrors) { + console.error(` - ${error}`); + } + process.exit(1); +} + +console.log(`[OK] Token-list metadata conventions valid for ${validated} file(s).`); diff --git a/smom-dbis-138 b/smom-dbis-138 index fcd55aa9..12ba59a3 160000 --- a/smom-dbis-138 +++ b/smom-dbis-138 @@ -1 +1 @@ -Subproject commit fcd55aa9c4ca2795e437c1531a52a29f06177e6e +Subproject commit 12ba59a3f2386397e22c03866881e96462565d75 diff --git a/token-lists/lists/all-mainnet.tokenlist.json b/token-lists/lists/all-mainnet.tokenlist.json index 6065bd99..6f6fa416 100644 --- a/token-lists/lists/all-mainnet.tokenlist.json +++ b/token-lists/lists/all-mainnet.tokenlist.json @@ -3,7 +3,7 @@ "version": { "major": 1, "minor": 1, - "patch": 0 + "patch": 1 }, "timestamp": "2026-02-28T00:00:00.000Z", "logoURI": "https://raw.githubusercontent.com/ethereum/ethereum.org/main/static/images/eth-diamond-black.png", @@ -23,8 +23,22 @@ "logoURI": "https://ipfs.io/ipfs/QmRfhPs9DcyFPpGjKwF6CCoVDWUHSxkQR34n9NK7JSbPCP", "tags": [ "stablecoin", - "defi" - ] + "defi", + "fiat", + "cash" + ], + "extensions": { + "category": "tokenized-fiat", + "instrument": "fiat-backed-stablecoin", + "currency": "USD", + "settlement": "fiat", + "cashLike": true, + "backing": "cash,cash-equivalents", + "x402Ready": false, + "fwdCanon": false, + "walletClass": "cash-like-token", + "bridge": "AlltraAdapter:cUSDT->AUSDT" + } }, { "chainId": 651940, @@ -35,8 +49,22 @@ "logoURI": "https://ipfs.io/ipfs/QmRfhPs9DcyFPpGjKwF6CCoVDWUHSxkQR34n9NK7JSbPCP", "tags": [ "stablecoin", - "defi" - ] + "defi", + "fiat", + "cash" + ], + "extensions": { + "category": "tokenized-fiat", + "instrument": "fiat-backed-stablecoin", + "currency": "USD", + "settlement": "fiat", + "cashLike": true, + "backing": "cash,cash-equivalents", + "x402Ready": false, + "fwdCanon": false, + "walletClass": "cash-like-token", + "bridge": "unknown-or-noncanonical:documented-token-n" + } }, { "chainId": 651940, @@ -47,8 +75,22 @@ "logoURI": "https://ipfs.io/ipfs/QmNPq4D5JXzurmi9jAhogVMzhAQRk1PZ1r9H3qQUV9gjDm", "tags": [ "stablecoin", - "defi" - ] + "defi", + "fiat", + "cash" + ], + "extensions": { + "category": "tokenized-fiat", + "instrument": "fiat-backed-stablecoin", + "currency": "USD", + "settlement": "fiat", + "cashLike": true, + "backing": "cash,cash-equivalents", + "x402Ready": false, + "fwdCanon": false, + "walletClass": "cash-like-token", + "bridge": "AlltraAdapter:cUSDC->USDC" + } }, { "chainId": 651940, @@ -60,7 +102,15 @@ "tags": [ "defi", "wrapped" - ] + ], + "extensions": { + "category": "wrapped-native", + "instrument": "wrapped-native", + "settlement": "crypto-native", + "cashLike": false, + "backing": "native-gas-asset", + "walletClass": "token" + } }, { "chainId": 651940, @@ -72,7 +122,15 @@ "tags": [ "defi", "wrapped" - ] + ], + "extensions": { + "category": "wrapped-native", + "instrument": "wrapped-native", + "settlement": "crypto-native", + "cashLike": false, + "backing": "native-gas-asset", + "walletClass": "token" + } }, { "chainId": 651940, @@ -116,21 +174,36 @@ "tags": [ "defi" ], - "logoURI": "https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong" + "logoURI": "https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong", + "extensions": { + "category": "defi-token", + "instrument": "protocol-token", + "settlement": "crypto-native", + "cashLike": false, + "backing": "protocol-utility" + } } ], "tags": { "stablecoin": { "name": "Stablecoin", - "description": "Stable value tokens pegged to fiat currencies" + "description": "Stable value tokens pegged to fiat" }, "defi": { "name": "DeFi", "description": "Decentralized Finance tokens" }, + "fiat": { + "name": "Fiat", + "description": "Fiat referenced tokens" + }, + "cash": { + "name": "Cashlike", + "description": "Cash reserve or cash rail assets" + }, "wrapped": { "name": "Wrapped", - "description": "Wrapped tokens representing native assets" + "description": "Wrapped tokens representing assets" } } -} \ No newline at end of file +} diff --git a/token-lists/lists/arbitrum.tokenlist.json b/token-lists/lists/arbitrum.tokenlist.json index f4b3841d..8e5ce88b 100644 --- a/token-lists/lists/arbitrum.tokenlist.json +++ b/token-lists/lists/arbitrum.tokenlist.json @@ -1,15 +1,67 @@ { "name": "Arbitrum DBIS Token List", - "version": {"major": 1, "minor": 0, "patch": 0}, + "version": { + "major": 1, + "minor": 0, + "patch": 0 + }, "timestamp": "2026-02-16T00:00:00.000Z", "logoURI": "https://arbitrum.io/favicon.png", - "keywords": ["arbitrum", "42161", "dbis", "ccip", "weth"], + "keywords": [ + "arbitrum", + "42161", + "dbis", + "ccip", + "weth" + ], "tokens": [ - {"chainId": 42161, "address": "0x89dd12025bfCD38A168455A44B400e913ED33BE2", "name": "Wrapped Ether (WETH9)", "symbol": "WETH9", "decimals": 18, "logoURI": "https://raw.githubusercontent.com/ethereum/ethereum.org/main/static/images/eth-diamond-black.png", "tags": ["defi", "wrapped"]}, - {"chainId": 42161, "address": "0xe0E93247376aa097dB308B92e6Ba36bA015535D0", "name": "Wrapped Ether v10", "symbol": "WETH10", "decimals": 18, "logoURI": "https://raw.githubusercontent.com/ethereum/ethereum.org/main/static/images/eth-diamond-black.png", "tags": ["defi", "wrapped"]} + { + "chainId": 42161, + "address": "0x89dd12025bfCD38A168455A44B400e913ED33BE2", + "name": "Wrapped Ether (WETH9)", + "symbol": "WETH9", + "decimals": 18, + "logoURI": "https://raw.githubusercontent.com/ethereum/ethereum.org/main/static/images/eth-diamond-black.png", + "tags": [ + "defi", + "wrapped" + ], + "extensions": { + "category": "wrapped-native", + "instrument": "wrapped-native", + "settlement": "crypto-native", + "cashLike": false, + "backing": "native-gas-asset" + } + }, + { + "chainId": 42161, + "address": "0xe0E93247376aa097dB308B92e6Ba36bA015535D0", + "name": "Wrapped Ether v10", + "symbol": "WETH10", + "decimals": 18, + "logoURI": "https://raw.githubusercontent.com/ethereum/ethereum.org/main/static/images/eth-diamond-black.png", + "tags": [ + "defi", + "wrapped" + ], + "extensions": { + "category": "wrapped-native", + "instrument": "wrapped-native", + "settlement": "crypto-native", + "cashLike": false, + "backing": "native-gas-asset" + } + } ], "tags": { - "defi": {"name": "DeFi", "description": "Decentralized Finance tokens"}, - "wrapped": {"name": "Wrapped", "description": "Wrapped tokens representing native assets"} + "defi": { + "name": "DeFi", + "description": "Decentralized Finance tokens" + }, + "wrapped": { + "name": "Wrapped", + "description": "Wrapped tokens representing assets" + } } } diff --git a/token-lists/lists/avalanche.tokenlist.json b/token-lists/lists/avalanche.tokenlist.json index 2c194003..755c612d 100644 --- a/token-lists/lists/avalanche.tokenlist.json +++ b/token-lists/lists/avalanche.tokenlist.json @@ -1,15 +1,67 @@ { "name": "Avalanche DBIS Token List", - "version": {"major": 1, "minor": 0, "patch": 0}, + "version": { + "major": 1, + "minor": 0, + "patch": 0 + }, "timestamp": "2026-02-16T00:00:00.000Z", "logoURI": "https://crypto.com/defi/static/avalanche-avax-logo.png", - "keywords": ["avalanche", "43114", "dbis", "ccip", "weth"], + "keywords": [ + "avalanche", + "43114", + "dbis", + "ccip", + "weth" + ], "tokens": [ - {"chainId": 43114, "address": "0xa4B9DD039565AeD9641D45b57061f99d9cA6Df08", "name": "Wrapped Ether (WETH9)", "symbol": "WETH9", "decimals": 18, "logoURI": "https://raw.githubusercontent.com/ethereum/ethereum.org/main/static/images/eth-diamond-black.png", "tags": ["defi", "wrapped"]}, - {"chainId": 43114, "address": "0x89dd12025bfCD38A168455A44B400e913ED33BE2", "name": "Wrapped Ether v10", "symbol": "WETH10", "decimals": 18, "logoURI": "https://raw.githubusercontent.com/ethereum/ethereum.org/main/static/images/eth-diamond-black.png", "tags": ["defi", "wrapped"]} + { + "chainId": 43114, + "address": "0xa4B9DD039565AeD9641D45b57061f99d9cA6Df08", + "name": "Wrapped Ether (WETH9)", + "symbol": "WETH9", + "decimals": 18, + "logoURI": "https://raw.githubusercontent.com/ethereum/ethereum.org/main/static/images/eth-diamond-black.png", + "tags": [ + "defi", + "wrapped" + ], + "extensions": { + "category": "wrapped-native", + "instrument": "wrapped-native", + "settlement": "crypto-native", + "cashLike": false, + "backing": "native-gas-asset" + } + }, + { + "chainId": 43114, + "address": "0x89dd12025bfCD38A168455A44B400e913ED33BE2", + "name": "Wrapped Ether v10", + "symbol": "WETH10", + "decimals": 18, + "logoURI": "https://raw.githubusercontent.com/ethereum/ethereum.org/main/static/images/eth-diamond-black.png", + "tags": [ + "defi", + "wrapped" + ], + "extensions": { + "category": "wrapped-native", + "instrument": "wrapped-native", + "settlement": "crypto-native", + "cashLike": false, + "backing": "native-gas-asset" + } + } ], "tags": { - "defi": {"name": "DeFi", "description": "Decentralized Finance tokens"}, - "wrapped": {"name": "Wrapped", "description": "Wrapped tokens representing native assets"} + "defi": { + "name": "DeFi", + "description": "Decentralized Finance tokens" + }, + "wrapped": { + "name": "Wrapped", + "description": "Wrapped tokens representing assets" + } } } diff --git a/token-lists/lists/cronos.tokenlist.json b/token-lists/lists/cronos.tokenlist.json index 79e4c76b..9c09d999 100644 --- a/token-lists/lists/cronos.tokenlist.json +++ b/token-lists/lists/cronos.tokenlist.json @@ -25,7 +25,14 @@ "tags": [ "defi", "wrapped" - ] + ], + "extensions": { + "category": "wrapped-native", + "instrument": "wrapped-native", + "settlement": "crypto-native", + "cashLike": false, + "backing": "native-gas-asset" + } }, { "chainId": 25, @@ -37,7 +44,14 @@ "tags": [ "defi", "wrapped" - ] + ], + "extensions": { + "category": "wrapped-native", + "instrument": "wrapped-native", + "settlement": "crypto-native", + "cashLike": false, + "backing": "native-gas-asset" + } }, { "chainId": 25, @@ -61,8 +75,23 @@ "logoURI": "https://ipfs.io/ipfs/QmNPq4D5JXzurmi9jAhogVMzhAQRk1PZ1r9H3qQUV9gjDm", "tags": [ "stablecoin", - "iso4217w" - ] + "iso4217w", + "fiat", + "cash", + "compliant", + "gru" + ], + "extensions": { + "category": "tokenized-fiat", + "instrument": "emoney-or-fiat-backed-stablecoin", + "currency": "USD", + "settlement": "fiat", + "cashLike": true, + "backing": "cash,cash-equivalents", + "gruVersion": "v1", + "gruFamily": "cUSD", + "walletClass": "cash-like-token" + } }, { "chainId": 25, @@ -73,8 +102,23 @@ "logoURI": "https://ipfs.io/ipfs/QmPh16PY241zNtePyeK7ep1uf1RcARV2ynGAuRU8U7sSqS", "tags": [ "stablecoin", - "iso4217w" - ] + "iso4217w", + "fiat", + "cash", + "compliant", + "gru" + ], + "extensions": { + "category": "tokenized-fiat", + "instrument": "emoney-or-fiat-backed-stablecoin", + "currency": "EUR", + "settlement": "fiat", + "cashLike": true, + "backing": "cash,cash-equivalents", + "gruVersion": "v1", + "gruFamily": "cEUR", + "walletClass": "cash-like-token" + } }, { "chainId": 25, @@ -85,8 +129,23 @@ "logoURI": "https://ipfs.io/ipfs/QmT2nJ6WyhYBCsYJ6NfS1BPAqiGKkCEuMxiC8ye93Co1hF", "tags": [ "stablecoin", - "iso4217w" - ] + "iso4217w", + "fiat", + "cash", + "compliant", + "gru" + ], + "extensions": { + "category": "tokenized-fiat", + "instrument": "emoney-or-fiat-backed-stablecoin", + "currency": "GBP", + "settlement": "fiat", + "cashLike": true, + "backing": "cash,cash-equivalents", + "gruVersion": "v1", + "gruFamily": "cGBP", + "walletClass": "cash-like-token" + } }, { "chainId": 25, @@ -97,8 +156,23 @@ "logoURI": "https://ipfs.io/ipfs/Qmb9JmuD9ehaQtTLBBZmAoiAbvE53e3FMjkEty8rvbPf9K", "tags": [ "stablecoin", - "iso4217w" - ] + "iso4217w", + "fiat", + "cash", + "compliant", + "gru" + ], + "extensions": { + "category": "tokenized-fiat", + "instrument": "emoney-or-fiat-backed-stablecoin", + "currency": "AUD", + "settlement": "fiat", + "cashLike": true, + "backing": "cash,cash-equivalents", + "gruVersion": "v1", + "gruFamily": "cAUD", + "walletClass": "cash-like-token" + } }, { "chainId": 25, @@ -109,8 +183,23 @@ "logoURI": "https://ipfs.io/ipfs/Qmb9JmuD9ehaQtTLBBZmAoiAbvE53e3FMjkEty8rvbPf9K", "tags": [ "stablecoin", - "iso4217w" - ] + "iso4217w", + "fiat", + "cash", + "compliant", + "gru" + ], + "extensions": { + "category": "tokenized-fiat", + "instrument": "emoney-or-fiat-backed-stablecoin", + "currency": "JPY", + "settlement": "fiat", + "cashLike": true, + "backing": "cash,cash-equivalents", + "gruVersion": "v1", + "gruFamily": "cJPY", + "walletClass": "cash-like-token" + } }, { "chainId": 25, @@ -121,8 +210,23 @@ "logoURI": "https://ipfs.io/ipfs/Qmb9JmuD9ehaQtTLBBZmAoiAbvE53e3FMjkEty8rvbPf9K", "tags": [ "stablecoin", - "iso4217w" - ] + "iso4217w", + "fiat", + "cash", + "compliant", + "gru" + ], + "extensions": { + "category": "tokenized-fiat", + "instrument": "emoney-or-fiat-backed-stablecoin", + "currency": "CHF", + "settlement": "fiat", + "cashLike": true, + "backing": "cash,cash-equivalents", + "gruVersion": "v1", + "gruFamily": "cCHF", + "walletClass": "cash-like-token" + } }, { "chainId": 25, @@ -133,8 +237,23 @@ "logoURI": "https://ipfs.io/ipfs/Qmb9JmuD9ehaQtTLBBZmAoiAbvE53e3FMjkEty8rvbPf9K", "tags": [ "stablecoin", - "iso4217w" - ] + "iso4217w", + "fiat", + "cash", + "compliant", + "gru" + ], + "extensions": { + "category": "tokenized-fiat", + "instrument": "emoney-or-fiat-backed-stablecoin", + "currency": "CAD", + "settlement": "fiat", + "cashLike": true, + "backing": "cash,cash-equivalents", + "gruVersion": "v1", + "gruFamily": "cCAD", + "walletClass": "cash-like-token" + } } ], "tags": { @@ -144,16 +263,32 @@ }, "wrapped": { "name": "Wrapped", - "description": "Wrapped tokens representing native assets" + "description": "Wrapped tokens representing assets" }, "stablecoin": { "name": "Stablecoin", - "description": "Stable value tokens pegged to fiat currencies" + "description": "Stable value tokens pegged to fiat" }, "iso4217w": { "name": "ISO4217W", "description": "ISO 4217 compliant wrapped fiat tokens" }, + "fiat": { + "name": "Fiat", + "description": "Fiat referenced tokens" + }, + "cash": { + "name": "Cashlike", + "description": "Cash reserve or cash rail assets" + }, + "compliant": { + "name": "Compliant", + "description": "Regulatory compliant assets" + }, + "gru": { + "name": "GRU", + "description": "GRU transport assets" + }, "oracle": { "name": "Oracle", "description": "Oracle and oracle fee tokens" @@ -163,4 +298,4 @@ "description": "Cross Chain Interoperability Protocol tokens" } } -} \ No newline at end of file +} diff --git a/token-lists/lists/dbis-138.tokenlist.json b/token-lists/lists/dbis-138.tokenlist.json index ce394c17..447f5f0e 100644 --- a/token-lists/lists/dbis-138.tokenlist.json +++ b/token-lists/lists/dbis-138.tokenlist.json @@ -1 +1,462 @@ -{"name":"DeFi Oracle Meta Mainnet Token List","version":{"major":1,"minor":6,"patch":1},"timestamp":"2026-02-28T00:00:00.000Z","keywords":["dbis","chain138","defi oracle meta"],"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tokens":[{"chainId":138,"address":"0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6","name":"ETH/USD Price Feed","symbol":"ETH-USD","decimals":8,"logoURI":"https://ipfs.io/ipfs/QmPZuycjyJEe2otREuQ5HirvPJ8X6Yc6MBtwz1VhdD79pY","tags":["oracle","pricefeed"]},{"chainId":138,"address":"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2","name":"Wrapped Ether","symbol":"WETH","decimals":18,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["defi","wrapped"],"extensions":{"aliasSymbols":["WETH9"],"aliasNote":"Expose WETH9 as a compatibility alias on surfaces that distinguish WETH9 branding; canonical symbol remains WETH."}},{"chainId":138,"address":"0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9F","name":"Wrapped Ether v10","symbol":"WETH10","decimals":18,"logoURI":"https://ipfs.io/ipfs/QmanDFPHxnbKd6SSNzzXHf9GbpL9dLXSphxDZSPPYE6ds4","tags":["defi","wrapped"]},{"chainId":138,"address":"0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03","name":"Chainlink Token","symbol":"LINK","decimals":18,"logoURI":"https://ipfs.io/ipfs/QmenWcmfNGfssz4HXvrRV912eZDiKqLTt6z2brRYuTGz9A","tags":["defi","oracle","ccip"]},{"chainId":138,"address":"0x93E66202A11B1772E55407B32B44e5Cd8eda7f22","name":"Compliant Tether USD","symbol":"cUSDT","decimals":6,"logoURI":"https://ipfs.io/ipfs/QmRfhPs9DcyFPpGjKwF6CCoVDWUHSxkQR34n9NK7JSbPCP","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0xf22258f57794CC8E06237084b353Ab30fFfa640b","name":"Compliant USD Coin","symbol":"cUSDC","decimals":6,"logoURI":"https://ipfs.io/ipfs/QmNPq4D5JXzurmi9jAhogVMzhAQRk1PZ1r9H3qQUV9gjDm","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0x8085961F9cF02b4d800A3c6d386D31da4B34266a","name":"Euro Coin (Compliant)","symbol":"cEURC","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0xdf4b71c61E5912712C1Bdd451416B9aC26949d72","name":"Tether EUR (Compliant)","symbol":"cEURT","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0x003960f16D9d34F2e98d62723B6721Fb92074aD2","name":"Pound Sterling (Compliant)","symbol":"cGBPC","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0x350f54e4D23795f86A9c03988c7135357CCaD97c","name":"Tether GBP (Compliant)","symbol":"cGBPT","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0xD51482e567c03899eecE3CAe8a058161FD56069D","name":"Australian Dollar (Compliant)","symbol":"cAUDC","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0xEe269e1226a334182aace90056EE4ee5Cc8A6770","name":"Japanese Yen (Compliant)","symbol":"cJPYC","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0x873990849DDa5117d7C644f0aF24370797C03885","name":"Swiss Franc (Compliant)","symbol":"cCHFC","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0x54dBd40cF05e15906A2C21f600937e96787f5679","name":"Canadian Dollar (Compliant)","symbol":"cCADC","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["stablecoin","defi","compliant"]},{"chainId":138,"address":"0x290E52a8819A4fbD0714E517225429aA2B70EC6b","name":"Gold (Compliant)","symbol":"cXAUC","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["defi","compliant"],"extensions":{"unitOfAccount":"troy_ounce","unitDescription":"1 full token (10^decimals base units) = 1 troy oz fine gold"}},{"chainId":138,"address":"0x94e408E26c6FD8F4ee00b54dF19082FDA07dC96E","name":"Tether XAU (Compliant)","symbol":"cXAUT","decimals":6,"logoURI":"https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong","tags":["defi","compliant"],"extensions":{"unitOfAccount":"troy_ounce","unitDescription":"1 full token (10^decimals base units) = 1 troy oz fine gold"}}],"tags":{"defi":{"name":"DeFi","description":"Decentralized Finance tokens"},"wrapped":{"name":"Wrapped","description":"Wrapped tokens representing native assets"},"oracle":{"name":"Oracle","description":"Oracle price feed tokens"},"pricefeed":{"name":"Price Feed","description":"Price feed oracle contracts"},"stablecoin":{"name":"Stablecoin","description":"Stable value tokens pegged to fiat currencies"},"compliant":{"name":"Compliant","description":"Regulatory compliant tokens with compliance features"},"ccip":{"name":"CCIP","description":"Cross Chain Interoperability Protocol tokens"}}} \ No newline at end of file +{ + "name": "DBIS Mainnet Token List", + "version": { + "major": 1, + "minor": 6, + "patch": 2 + }, + "timestamp": "2026-02-28T00:00:00.000Z", + "keywords": [ + "dbis", + "chain138", + "defi oracle meta" + ], + "logoURI": "https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong", + "tokens": [ + { + "chainId": 138, + "address": "0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6", + "name": "ETH/USD Price Feed", + "symbol": "ETH-USD", + "decimals": 8, + "logoURI": "https://ipfs.io/ipfs/QmPZuycjyJEe2otREuQ5HirvPJ8X6Yc6MBtwz1VhdD79pY", + "tags": [ + "oracle", + "pricefeed" + ] + }, + { + "chainId": 138, + "address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "name": "Wrapped Ether", + "symbol": "WETH", + "decimals": 18, + "logoURI": "https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong", + "tags": [ + "defi", + "wrapped" + ], + "extensions": { + "category": "wrapped-native", + "instrument": "wrapped-native", + "settlement": "crypto-native", + "cashLike": false, + "backing": "native-gas-asset", + "walletClass": "token", + "alias": "WETH9", + "aliasNote": "Expose WETH9 as a compatibility alias on s" + } + }, + { + "chainId": 138, + "address": "0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9F", + "name": "Wrapped Ether v10", + "symbol": "WETH10", + "decimals": 18, + "logoURI": "https://ipfs.io/ipfs/QmanDFPHxnbKd6SSNzzXHf9GbpL9dLXSphxDZSPPYE6ds4", + "tags": [ + "defi", + "wrapped" + ], + "extensions": { + "category": "wrapped-native", + "instrument": "wrapped-native", + "settlement": "crypto-native", + "cashLike": false, + "backing": "native-gas-asset", + "walletClass": "token" + } + }, + { + "chainId": 138, + "address": "0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03", + "name": "Chainlink Token", + "symbol": "LINK", + "decimals": 18, + "logoURI": "https://ipfs.io/ipfs/QmenWcmfNGfssz4HXvrRV912eZDiKqLTt6z2brRYuTGz9A", + "tags": [ + "defi", + "oracle", + "ccip" + ] + }, + { + "chainId": 138, + "address": "0x93E66202A11B1772E55407B32B44e5Cd8eda7f22", + "name": "Compliant Tether USD", + "symbol": "cUSDT", + "decimals": 6, + "logoURI": "https://ipfs.io/ipfs/QmRfhPs9DcyFPpGjKwF6CCoVDWUHSxkQR34n9NK7JSbPCP", + "tags": [ + "stablecoin", + "defi", + "compliant", + "fiat", + "cash", + "gru" + ], + "extensions": { + "category": "tokenized-fiat", + "instrument": "emoney-or-fiat-backed-stablecoin", + "currency": "USD", + "settlement": "fiat", + "cashLike": true, + "backing": "cash,cash-equivalents", + "gruVersion": "v1", + "gruFamily": "cUSDT", + "x402Ready": false, + "fwdCanon": false + } + }, + { + "chainId": 138, + "address": "0xf22258f57794CC8E06237084b353Ab30fFfa640b", + "name": "Compliant USD Coin", + "symbol": "cUSDC", + "decimals": 6, + "logoURI": "https://ipfs.io/ipfs/QmNPq4D5JXzurmi9jAhogVMzhAQRk1PZ1r9H3qQUV9gjDm", + "tags": [ + "stablecoin", + "defi", + "compliant", + "fiat", + "cash", + "gru" + ], + "extensions": { + "category": "tokenized-fiat", + "instrument": "emoney-or-fiat-backed-stablecoin", + "currency": "USD", + "settlement": "fiat", + "cashLike": true, + "backing": "cash,cash-equivalents", + "gruVersion": "v1", + "gruFamily": "cUSDC", + "x402Ready": false, + "fwdCanon": false + } + }, + { + "chainId": 138, + "address": "0x8085961F9cF02b4d800A3c6d386D31da4B34266a", + "name": "Euro Coin (Compliant)", + "symbol": "cEURC", + "decimals": 6, + "logoURI": "https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong", + "tags": [ + "stablecoin", + "defi", + "compliant", + "fiat", + "cash", + "gru" + ], + "extensions": { + "category": "tokenized-fiat", + "instrument": "emoney-or-fiat-backed-stablecoin", + "currency": "EUR", + "settlement": "fiat", + "cashLike": true, + "backing": "cash,cash-equivalents", + "gruVersion": "v1", + "gruFamily": "cEURC", + "x402Ready": false, + "fwdCanon": false + } + }, + { + "chainId": 138, + "address": "0xdf4b71c61E5912712C1Bdd451416B9aC26949d72", + "name": "Tether EUR (Compliant)", + "symbol": "cEURT", + "decimals": 6, + "logoURI": "https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong", + "tags": [ + "stablecoin", + "defi", + "compliant", + "fiat", + "cash", + "gru" + ], + "extensions": { + "category": "tokenized-fiat", + "instrument": "emoney-or-fiat-backed-stablecoin", + "currency": "EUR", + "settlement": "fiat", + "cashLike": true, + "backing": "cash,cash-equivalents", + "gruVersion": "v1", + "gruFamily": "cEURT", + "x402Ready": false, + "fwdCanon": false + } + }, + { + "chainId": 138, + "address": "0x003960f16D9d34F2e98d62723B6721Fb92074aD2", + "name": "Pound Sterling (Compliant)", + "symbol": "cGBPC", + "decimals": 6, + "logoURI": "https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong", + "tags": [ + "stablecoin", + "defi", + "compliant", + "fiat", + "cash", + "gru" + ], + "extensions": { + "category": "tokenized-fiat", + "instrument": "emoney-or-fiat-backed-stablecoin", + "currency": "GBP", + "settlement": "fiat", + "cashLike": true, + "backing": "cash,cash-equivalents", + "gruVersion": "v1", + "gruFamily": "cGBPC", + "x402Ready": false, + "fwdCanon": false + } + }, + { + "chainId": 138, + "address": "0x350f54e4D23795f86A9c03988c7135357CCaD97c", + "name": "Tether GBP (Compliant)", + "symbol": "cGBPT", + "decimals": 6, + "logoURI": "https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong", + "tags": [ + "stablecoin", + "defi", + "compliant", + "fiat", + "cash", + "gru" + ], + "extensions": { + "category": "tokenized-fiat", + "instrument": "emoney-or-fiat-backed-stablecoin", + "currency": "GBP", + "settlement": "fiat", + "cashLike": true, + "backing": "cash,cash-equivalents", + "gruVersion": "v1", + "gruFamily": "cGBPT", + "x402Ready": false, + "fwdCanon": false + } + }, + { + "chainId": 138, + "address": "0xD51482e567c03899eecE3CAe8a058161FD56069D", + "name": "Australian Dollar (Compliant)", + "symbol": "cAUDC", + "decimals": 6, + "logoURI": "https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong", + "tags": [ + "stablecoin", + "defi", + "compliant", + "fiat", + "cash", + "gru" + ], + "extensions": { + "category": "tokenized-fiat", + "instrument": "emoney-or-fiat-backed-stablecoin", + "currency": "AUD", + "settlement": "fiat", + "cashLike": true, + "backing": "cash,cash-equivalents", + "gruVersion": "v1", + "gruFamily": "cAUDC", + "x402Ready": false, + "fwdCanon": false + } + }, + { + "chainId": 138, + "address": "0xEe269e1226a334182aace90056EE4ee5Cc8A6770", + "name": "Japanese Yen (Compliant)", + "symbol": "cJPYC", + "decimals": 6, + "logoURI": "https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong", + "tags": [ + "stablecoin", + "defi", + "compliant", + "fiat", + "cash", + "gru" + ], + "extensions": { + "category": "tokenized-fiat", + "instrument": "emoney-or-fiat-backed-stablecoin", + "currency": "JPY", + "settlement": "fiat", + "cashLike": true, + "backing": "cash,cash-equivalents", + "gruVersion": "v1", + "gruFamily": "cJPYC", + "x402Ready": false, + "fwdCanon": false + } + }, + { + "chainId": 138, + "address": "0x873990849DDa5117d7C644f0aF24370797C03885", + "name": "Swiss Franc (Compliant)", + "symbol": "cCHFC", + "decimals": 6, + "logoURI": "https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong", + "tags": [ + "stablecoin", + "defi", + "compliant", + "fiat", + "cash", + "gru" + ], + "extensions": { + "category": "tokenized-fiat", + "instrument": "emoney-or-fiat-backed-stablecoin", + "currency": "CHF", + "settlement": "fiat", + "cashLike": true, + "backing": "cash,cash-equivalents", + "gruVersion": "v1", + "gruFamily": "cCHFC", + "x402Ready": false, + "fwdCanon": false + } + }, + { + "chainId": 138, + "address": "0x54dBd40cF05e15906A2C21f600937e96787f5679", + "name": "Canadian Dollar (Compliant)", + "symbol": "cCADC", + "decimals": 6, + "logoURI": "https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong", + "tags": [ + "stablecoin", + "defi", + "compliant", + "fiat", + "cash", + "gru" + ], + "extensions": { + "category": "tokenized-fiat", + "instrument": "emoney-or-fiat-backed-stablecoin", + "currency": "CAD", + "settlement": "fiat", + "cashLike": true, + "backing": "cash,cash-equivalents", + "gruVersion": "v1", + "gruFamily": "cCADC", + "x402Ready": false, + "fwdCanon": false + } + }, + { + "chainId": 138, + "address": "0x290E52a8819A4fbD0714E517225429aA2B70EC6b", + "name": "Gold (Compliant)", + "symbol": "cXAUC", + "decimals": 6, + "logoURI": "https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong", + "tags": [ + "defi", + "compliant", + "gru", + "commodity" + ], + "extensions": { + "category": "commodity-token", + "instrument": "commodity-referenced-token", + "settlement": "commodity", + "cashLike": false, + "backing": "commodity-reserves", + "gruVersion": "v1", + "gruFamily": "cXAUC", + "walletClass": "token", + "commodity": "gold", + "unit": "troy_ounce" + } + }, + { + "chainId": 138, + "address": "0x94e408E26c6FD8F4ee00b54dF19082FDA07dC96E", + "name": "Tether XAU (Compliant)", + "symbol": "cXAUT", + "decimals": 6, + "logoURI": "https://ipfs.io/ipfs/Qma3FKtLce9MjgJgWbtyCxBiPjJ6xi8jGWUSKNS5Jc2ong", + "tags": [ + "defi", + "compliant", + "gru", + "commodity" + ], + "extensions": { + "category": "commodity-token", + "instrument": "commodity-referenced-token", + "settlement": "commodity", + "cashLike": false, + "backing": "commodity-reserves", + "gruVersion": "v1", + "gruFamily": "cXAUT", + "walletClass": "token", + "commodity": "gold", + "unit": "troy_ounce" + } + } + ], + "tags": { + "defi": { + "name": "DeFi", + "description": "Decentralized Finance tokens" + }, + "wrapped": { + "name": "Wrapped", + "description": "Wrapped tokens representing assets" + }, + "stablecoin": { + "name": "Stablecoin", + "description": "Stable value tokens pegged to fiat" + }, + "compliant": { + "name": "Compliant", + "description": "Regulatory compliant assets" + }, + "fiat": { + "name": "Fiat", + "description": "Fiat referenced tokens" + }, + "cash": { + "name": "Cashlike", + "description": "Cash reserve or cash rail assets" + }, + "gru": { + "name": "GRU", + "description": "GRU transport assets" + }, + "commodity": { + "name": "Commodity", + "description": "Commodity referenced tokens" + }, + "oracle": { + "name": "Oracle", + "description": "Oracle price feed tokens" + }, + "pricefeed": { + "name": "Price Feed", + "description": "Price feed oracle contracts" + }, + "ccip": { + "name": "CCIP", + "description": "Cross Chain Interoperability Protocol tokens" + } + } +} diff --git a/token-lists/lists/ethereum-mainnet.tokenlist.json b/token-lists/lists/ethereum-mainnet.tokenlist.json index f881040a..b1486a89 100644 --- a/token-lists/lists/ethereum-mainnet.tokenlist.json +++ b/token-lists/lists/ethereum-mainnet.tokenlist.json @@ -3,7 +3,7 @@ "version": { "major": 1, "minor": 0, - "patch": 0 + "patch": 1 }, "timestamp": "2026-02-16T00:00:00.000Z", "logoURI": "https://raw.githubusercontent.com/ethereum/ethereum.org/main/static/images/eth-diamond-black.png", @@ -22,18 +22,39 @@ "logoURI": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png", "tags": [ "stablecoin", - "defi" - ] + "defi", + "fiat", + "cash" + ], + "extensions": { + "category": "tokenized-fiat", + "instrument": "fiat-backed-stablecoin", + "currency": "USD", + "settlement": "fiat", + "cashLike": true, + "backing": "cash,cash-equivalents", + "x402Ready": false, + "fwdCanon": false, + "walletClass": "cash-like-token" + } } ], "tags": { "stablecoin": { "name": "Stablecoin", - "description": "Stable value tokens pegged to fiat currencies" + "description": "Stable value tokens pegged to fiat" }, "defi": { "name": "DeFi", "description": "Decentralized Finance tokens" + }, + "fiat": { + "name": "Fiat", + "description": "Fiat referenced tokens" + }, + "cash": { + "name": "Cashlike", + "description": "Cash reserve or cash rail assets" } } }