diff --git a/apps/scan/public/silverback.png b/apps/scan/public/silverback.png new file mode 100644 index 000000000..412092171 Binary files /dev/null and b/apps/scan/public/silverback.png differ diff --git a/packages/external/facilitators/README.md b/packages/external/facilitators/README.md index f33575a96..75e4feae8 100644 --- a/packages/external/facilitators/README.md +++ b/packages/external/facilitators/README.md @@ -121,6 +121,7 @@ This package includes pre-configured integrations for the following X402 facilit | **Meridian** | BASE | No | No | | **Openmid** | BASE | No | No | | **Primer** | BASE | No | No | +| **Silverback** | BASE | ✅ Yes | No | | **RelAI** | BASE, SOLANA | ✅ Yes | No | ### Import Individual Facilitators @@ -148,6 +149,7 @@ import { meridian, openmid, primer, + silverback, relai, } from 'facilitators'; diff --git a/packages/external/facilitators/src/discovery/index.ts b/packages/external/facilitators/src/discovery/index.ts index 5d9a7f9a0..b421378bf 100644 --- a/packages/external/facilitators/src/discovery/index.ts +++ b/packages/external/facilitators/src/discovery/index.ts @@ -10,6 +10,7 @@ export { thirdwebDiscovery } from '../facilitators/thirdweb'; export { questflowDiscovery } from '../facilitators/questflow'; export { ultravioletadaoDiscovery } from '../facilitators/ultravioletadao'; export { anyspendDiscovery } from '../facilitators/anyspend'; +export { silverbackDiscovery } from '../facilitators/silverback'; export { relaiDiscovery } from '../facilitators/relai'; export { discoverableFacilitators } from './facilitators'; diff --git a/packages/external/facilitators/src/facilitators/index.ts b/packages/external/facilitators/src/facilitators/index.ts index fead1d38f..e0a63c00c 100644 --- a/packages/external/facilitators/src/facilitators/index.ts +++ b/packages/external/facilitators/src/facilitators/index.ts @@ -24,4 +24,5 @@ export { openmid, openmidFacilitator } from './openmid'; export { primer, primerFacilitator } from './primer'; export { x402jobs, x402jobsFacilitator } from './x402jobs'; export { openfacilitator, openfacilitatorFacilitator } from './openfacilitator'; +export { silverback, silverbackFacilitator } from './silverback'; export { relai, relaiFacilitator } from './relai'; diff --git a/packages/external/facilitators/src/facilitators/silverback.ts b/packages/external/facilitators/src/facilitators/silverback.ts new file mode 100644 index 000000000..9804f14ef --- /dev/null +++ b/packages/external/facilitators/src/facilitators/silverback.ts @@ -0,0 +1,90 @@ +import { Network } from '../types'; + +import type { Facilitator, FacilitatorConfig, Token } from '../types'; + +// Silverback-specific tokens (addresses must be lowercase) +const USDC_BASE_TOKEN: Token = { + address: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913', + decimals: 6, + symbol: 'USDC', +}; + +const BACK_TOKEN: Token = { + address: '0x558881c4959e9cf961a7e1815fcd6586906babd2', + decimals: 18, + symbol: 'BACK', +}; + +const USDT_BASE_TOKEN: Token = { + address: '0xfde4c96c8593536e31f229ea8f37b2ada2699bb2', + decimals: 6, + symbol: 'USDT', +}; + +const DAI_BASE_TOKEN: Token = { + address: '0x50c5725949a6f0c72e6c4a641f24049a917db0cb', + decimals: 18, + symbol: 'DAI', +}; + +const USDBC_TOKEN: Token = { + address: '0xd9aaec86b65d86f6a7b5b1b0c42ffa531710b6ca', + decimals: 6, + symbol: 'USDbC', +}; + +const VIRTUAL_TOKEN: Token = { + address: '0x0b3e328455c4059eeb9e3f84b5543f74e24e7e1b', + decimals: 18, + symbol: 'VIRTUAL', +}; + +const WETH_BASE_TOKEN: Token = { + address: '0x4200000000000000000000000000000000000006', + decimals: 18, + symbol: 'WETH', +}; + +const CBBTC_TOKEN: Token = { + address: '0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf', + decimals: 8, + symbol: 'cbBTC', +}; + +export const silverback: FacilitatorConfig = { + url: 'https://facilitator.silverbackdefi.app/', +}; + +export const silverbackDiscovery: FacilitatorConfig = { + url: 'https://facilitator.silverbackdefi.app/', +}; + +export const silverbackFacilitator = { + id: 'silverback', + metadata: { + name: 'Silverback', + image: '/silverback.png', + docsUrl: 'https://docs.silverbackdefi.app/', + color: '#1A1A1A', + }, + config: silverback, + discoveryConfig: silverbackDiscovery, + addresses: { + [Network.BASE]: [ + { + address: '0x21fded74c901129977b8e28c2588595163e1e235', + tokens: [ + BACK_TOKEN, + USDC_BASE_TOKEN, + USDT_BASE_TOKEN, + DAI_BASE_TOKEN, + USDBC_TOKEN, + VIRTUAL_TOKEN, + WETH_BASE_TOKEN, + CBBTC_TOKEN, + ], + dateOfFirstTransaction: new Date('2026-02-05'), + }, + ], + }, +} as const satisfies Facilitator; diff --git a/packages/external/facilitators/src/lists/all.ts b/packages/external/facilitators/src/lists/all.ts index 5a819552f..d277c3ca0 100644 --- a/packages/external/facilitators/src/lists/all.ts +++ b/packages/external/facilitators/src/lists/all.ts @@ -24,6 +24,7 @@ import { primerFacilitator, x402jobsFacilitator, openfacilitatorFacilitator, + silverbackFacilitator, relaiFacilitator, } from '../facilitators'; @@ -57,6 +58,7 @@ const FACILITATORS = validateUniqueFacilitators([ primerFacilitator, x402jobsFacilitator, openfacilitatorFacilitator, + silverbackFacilitator, relaiFacilitator, ]);