diff --git a/apps/scan/public/satoshi.png b/apps/scan/public/satoshi.png new file mode 100644 index 000000000..479df834d Binary files /dev/null and b/apps/scan/public/satoshi.png differ diff --git a/packages/external/facilitators/README.md b/packages/external/facilitators/README.md index bc44e7886..d267a58af 100644 --- a/packages/external/facilitators/README.md +++ b/packages/external/facilitators/README.md @@ -124,6 +124,7 @@ This package includes pre-configured integrations for the following X402 facilit | **RelAI** | BASE, SOLANA | ✅ Yes | No | | **Bitrefill** | BASE, SOLANA | No | No | | **Cascade** | BASE, SOLANA | No | No | +| **Satoshi** | BASE | No | No | ### Import Individual Facilitators @@ -153,6 +154,7 @@ import { relai, bitrefill, cascade, + satoshi, } from 'facilitators'; // Facilitators requiring setup diff --git a/packages/external/facilitators/src/facilitators/index.ts b/packages/external/facilitators/src/facilitators/index.ts index 5af4471dd..648411721 100644 --- a/packages/external/facilitators/src/facilitators/index.ts +++ b/packages/external/facilitators/src/facilitators/index.ts @@ -27,3 +27,4 @@ export { openfacilitator, openfacilitatorFacilitator } from './openfacilitator'; export { relai, relaiFacilitator } from './relai'; export { bitrefill, bitrefillFacilitator } from './bitrefill'; export { cascade, cascadeFacilitator } from './cascade'; +export { satoshi, satoshiFacilitator } from './satoshi'; diff --git a/packages/external/facilitators/src/facilitators/satoshi.ts b/packages/external/facilitators/src/facilitators/satoshi.ts new file mode 100644 index 000000000..0924fc376 --- /dev/null +++ b/packages/external/facilitators/src/facilitators/satoshi.ts @@ -0,0 +1,28 @@ +import { Network } from '../types'; +import { USDC_BASE_TOKEN } from '../constants'; + +import type { Facilitator, FacilitatorConfig } from '../types'; + +export const satoshi: FacilitatorConfig = { + url: 'https://facilitator.bitcoinsapi.com', +}; + +export const satoshiFacilitator = { + id: 'satoshi', + metadata: { + name: 'Satoshi', + image: 'https://x402scan.com/satoshi.png', + docsUrl: 'https://bitcoinsapi.com', + color: '#F7931A', + }, + config: satoshi, + addresses: { + [Network.BASE]: [ + { + address: '0xe166267c3648b5ca4419f2c58faed8cd4df87d54', + tokens: [USDC_BASE_TOKEN], + dateOfFirstTransaction: new Date('2026-04-06'), + }, + ], + }, +} as const satisfies Facilitator; diff --git a/packages/external/facilitators/src/lists/all.ts b/packages/external/facilitators/src/lists/all.ts index dbfb259a9..82e3d0602 100644 --- a/packages/external/facilitators/src/lists/all.ts +++ b/packages/external/facilitators/src/lists/all.ts @@ -27,6 +27,7 @@ import { relaiFacilitator, bitrefillFacilitator, cascadeFacilitator, + satoshiFacilitator, } from '../facilitators'; import { validateUniqueFacilitators } from './validate'; @@ -62,6 +63,7 @@ const FACILITATORS = validateUniqueFacilitators([ relaiFacilitator, bitrefillFacilitator, cascadeFacilitator, + satoshiFacilitator, ]); export const allFacilitators: Facilitator[] =