
Company News
Socket Joins New OpenJS Program to Fund Node.js Security Work
Socket is joining the OpenJS Security Stewardship Program to fund Node.js vulnerability research, maintainer remediation, and security releases.
@aifinpay/deployments
Advanced tools
This package provides a programmatic interface for querying AIFP deployment records and contract artifacts (ABI/IDL).
import { AifinpayRegistry, ArtifactRegistry } from "@aifinpay/deployments";
// Load deployment registries
const evmRegistry = AifinpayRegistry.loadEvm("latest"); // or "1.4", "1.3", etc.
const solanaRegistry = AifinpayRegistry.loadSolana("latest");
// Load contract artifacts
const artifacts = ArtifactRegistry.load();
// Query deployments
const optimism = evmRegistry.getEvmDeployment(10);
const splitterAddr = evmRegistry.getSplitterAddress(10);
const stablecoins = evmRegistry.getStablecoins(10);
// Get supported chains
const chains = evmRegistry.getSupportedChains("enabled"); // [10, 137, ...]
const networks = evmRegistry.getNetworkList(); // [{ chainId, name, status, ... }]
// Export as markdown/json/csv
const markdown = evmRegistry.exportAsMarkdown("prod");
const json = evmRegistry.exportAsJson();
const csv = evmRegistry.exportAsCsv();
// Query artifacts
const abi = artifacts.getEvmAbi("B2BSplitterV14", "1.4");
const solanaIdl = artifacts.getSolanaIdl("mainnet");
See USAGE.md for complete documentation.
src/grabber.ts pulls the latest deployment records from the canonical
upstream repositories and produces per-ecosystem split registry files:
registry/splitter/evm/v1.4/deployments.jsonregistry/splitter/solana/deployments.jsoncd deployments
npm ci --no-audit --no-fund
npm run build # compile TypeScript
npm run registry:build # fetch upstream + write registry/*.json
npm test # offline unit tests
Per-ecosystem split files are the canonical artifacts. ABI and IDL subdirectories are kept for downstream consumers that need raw contract artifacts:
registry/
├── splitter/ # versioned registry with governance metadata
│ ├── evm/
│ │ ├── v1.4/deployments.json # EVM v1.4 full contract suite
│ │ ├── v1.3/deployments.json # EVM v1.3 route table
│ │ ├── v1.2/deployments.json # EVM v1.2 legacy
│ │ └── v1.1/deployments.json # EVM v1.1 legacy
│ ├── solana/deployments.json # Solana v1.4 program deployments
│ └── casper/deployments.json # Casper deployments
├── abi/
│ ├── evm/ # EVM ABI bundles (B2BSplitterV14, TimelockWrapper)
│ └── tron/ # Tron ABI bundles when applicable
└── idl/
├── solana/ # Solana IDL (splitter-v14 mainnet/devnet)
├── aptos/ # Aptos IDL artifacts
└── casper/ # Casper IDL artifacts
| Registry | Location | Versions | Status |
|---|---|---|---|
| Legacy route table | registry/splitter/evm/v1.3 | v1.2 legacy, v1.3 merchant-aifp1 / agent-x402 | Superseded; kept for node/ SDK generation |
| Legacy v1.2 | registry/splitter/evm/v1.2 | v1.2 with paymentId replay guard | Superseded |
| Legacy v1.1 | registry/splitter/evm/v1.1 | v1.1 initial release | Superseded |
| This package | registry/splitter/evm/v1.4/deployments.json | v1.4 EVM | Active grabber output |
| This package | registry/splitter/solana/deployments.json | v1.4 Solana | Active grabber output |
AifinpayRegistry.loadEvm(version?) — load EVM deployment registry (default: "latest" = "1.4")AifinpayRegistry.loadSolana(version?) — load Solana deployment registry (default: "latest" = "1.4")getEvmDeployment(chainId) — O(1) lookup by chain IDgetEvmByNetwork(network) — lookup by network namegetSplitterAddress(chainId), getTokenListAddress(chainId), getProfilesAddress(chainId) — contract addressesgetStablecoins(chainId) — stablecoin listisSettlementEnabled(chainId) — settlement statusgetGovernanceSafe(env) — Safe multisig addressfilterByStatus(status), getProdDeployments(), getTestnetDeployments() — filteringgetSupportedChains(filter?) — get list of supported chain IDs (filter: "all" | "prod" | "testnet" | "enabled")getNetworkList(filter?) — get network list with metadataisChainSupported(chainId) — check if chain is supportedgetChainIdByNetwork(network) — get chain ID by namegetNetworkByChainId(chainId) — get network name by IDexportAsMarkdown(filter?), exportAsJson(filter?), exportAsCsv(filter?) — export formatsArtifactRegistry.load() — load all ABI/IDL artifactsgetEvmAbi(contractName, version?) — EVM ABIgetSolanaIdl(cluster) — Solana IDL (mainnet/devnet)getCasperIdl(network) — Casper IDL (mainnet/testnet)getAptosIdl(contractName, version?) — Aptos IDLgetTronAbi(contractName, version?) — Tron ABIbuildRegistry() — fetch upstream EVM + Solana records (deprecated: use AifinpayRegistry.loadEvm())writeSplitRegistries(registry, outDir) — write split registry filesgrabEvmDeployments() / grabSolanaDeployments() — grab one chain familygetEvmDeployment(registry, chainId) / getSolanaDeployment(registry, cluster) — O(1) lookup helpersisEvmDeployment(d) / isSolanaDeployment(d) — type guardsDeploymentRegistry, EcosystemRegistry, Deployment, EvmDeployment, SolanaDeployment, StablecoinEvmDeploymentRecord, SolanaDeploymentRecord, EvmAbiArtifact, SolanaIdlArtifactFAQs
Deployment aifinpay
We found that @aifinpay/deployments demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.

Company News
Socket is joining the OpenJS Security Stewardship Program to fund Node.js vulnerability research, maintainer remediation, and security releases.

Security News
Two compromised GitHub Actions were re-enabled with malicious tags intact, exposing thousands of downstream repositories to Mini Shai-Hulud.

Research
/Security News
A malicious Firefox extension fetches its payload after installation to evade detection, steal Google session cookies, and automate account takeover.