diff --git a/apps/scan/public/relai.png b/apps/scan/public/relai.png new file mode 100644 index 000000000..c7b08c29c Binary files /dev/null and b/apps/scan/public/relai.png differ diff --git a/packages/external/facilitators/README.md b/packages/external/facilitators/README.md index c48ae3b96..f33575a96 100644 --- a/packages/external/facilitators/README.md +++ b/packages/external/facilitators/README.md @@ -73,6 +73,7 @@ The following facilitators currently support resource discovery: - **thirdweb** - Web3 development platform - **PayAI** - AI-payment infrastructure - **Ultravioleta DAO** - Community-driven multichain facilitator +- **RelAI** - AI infrastructure platform ### Enumerate All Discoverable Facilitators @@ -120,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 | +| **RelAI** | BASE, SOLANA | ✅ Yes | No | ### Import Individual Facilitators @@ -146,6 +148,7 @@ import { meridian, openmid, primer, + relai, } from 'facilitators'; // Facilitators requiring setup diff --git a/packages/external/facilitators/src/discovery/index.ts b/packages/external/facilitators/src/discovery/index.ts index 27b7d1096..5d9a7f9a0 100644 --- a/packages/external/facilitators/src/discovery/index.ts +++ b/packages/external/facilitators/src/discovery/index.ts @@ -10,5 +10,6 @@ export { thirdwebDiscovery } from '../facilitators/thirdweb'; export { questflowDiscovery } from '../facilitators/questflow'; export { ultravioletadaoDiscovery } from '../facilitators/ultravioletadao'; export { anyspendDiscovery } from '../facilitators/anyspend'; +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 67ce9027e..fead1d38f 100644 --- a/packages/external/facilitators/src/facilitators/index.ts +++ b/packages/external/facilitators/src/facilitators/index.ts @@ -24,3 +24,4 @@ export { openmid, openmidFacilitator } from './openmid'; export { primer, primerFacilitator } from './primer'; export { x402jobs, x402jobsFacilitator } from './x402jobs'; export { openfacilitator, openfacilitatorFacilitator } from './openfacilitator'; +export { relai, relaiFacilitator } from './relai'; diff --git a/packages/external/facilitators/src/facilitators/relai.ts b/packages/external/facilitators/src/facilitators/relai.ts new file mode 100644 index 000000000..36e1a232c --- /dev/null +++ b/packages/external/facilitators/src/facilitators/relai.ts @@ -0,0 +1,40 @@ +import { Network } from '../types'; +import { USDC_BASE_TOKEN, USDC_SOLANA_TOKEN } from '../constants'; + +import type { Facilitator, FacilitatorConfig } from '../types'; + +export const relai: FacilitatorConfig = { + url: 'https://facilitator.x402.fi', +}; + +export const relaiDiscovery: FacilitatorConfig = { + url: 'https://facilitator.x402.fi', +}; + +export const relaiFacilitator = { + id: 'relai', + metadata: { + name: 'RelAI', + image: 'https://x402scan.com/relai.png', + docsUrl: 'https://relai.fi/relai-facilitator', + color: '#8B5CF6', + }, + config: relai, + discoveryConfig: relaiDiscovery, + addresses: { + [Network.SOLANA]: [ + { + address: '4x4ZhcqiT1FnirM8Ne97iVupkN4NcQgc2YYbE2jDZbZn', + tokens: [USDC_SOLANA_TOKEN], + dateOfFirstTransaction: new Date('2026-01-23'), + }, + ], + [Network.BASE]: [ + { + address: '0x1892f72fdb3a966b2ad8595aa5f7741ef72d6085', + tokens: [USDC_BASE_TOKEN], + dateOfFirstTransaction: new Date('2026-01-23'), + }, + ], + }, +} as const satisfies Facilitator; diff --git a/packages/external/facilitators/src/lists/all.ts b/packages/external/facilitators/src/lists/all.ts index 85d140fd4..5a819552f 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, + relaiFacilitator, } from '../facilitators'; import { validateUniqueFacilitators } from './validate'; @@ -56,6 +57,7 @@ const FACILITATORS = validateUniqueFacilitators([ primerFacilitator, x402jobsFacilitator, openfacilitatorFacilitator, + relaiFacilitator, ]); export const allFacilitators: Facilitator[] =