@coinbase/agentkit
Version:
Coinbase AgentKit core primitives
68 lines (67 loc) • 1.91 kB
TypeScript
/**
* Known facilitator registry
*/
export declare const KNOWN_FACILITATORS: {
readonly cdp: "https://api.cdp.coinbase.com/platform/v2/x402";
readonly payai: "https://facilitator.payai.network";
};
export type KnownFacilitatorName = keyof typeof KNOWN_FACILITATORS;
export declare const DEFAULT_FACILITATOR: KnownFacilitatorName;
/**
* Supported networks for x402 payment protocol
*/
export declare const SUPPORTED_NETWORKS: readonly ["base-mainnet", "base-sepolia", "solana-mainnet", "solana-devnet"];
/**
* USDC token addresses for Solana networks
*/
export declare const SOLANA_USDC_ADDRESSES: {
readonly "solana-devnet": "4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU";
readonly "solana-mainnet": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
};
/**
* Network mapping from internal network ID to both v1 and v2 (CAIP-2) formats.
* Used for filtering discovery results that may contain either format.
*/
export declare const NETWORK_MAPPINGS: Record<string, string[]>;
/**
* x402 protocol version type
*/
export type X402Version = 1 | 2;
/**
* Payment option from discovery API (supports both v1 and v2 formats)
*/
export interface PaymentOption {
scheme: string;
network: string;
asset: string;
maxAmountRequired?: string;
amount?: string;
price?: string;
payTo?: string;
description?: string;
}
/**
* Resource from discovery API
*/
export interface DiscoveryResource {
url?: string;
resource?: string;
type?: string;
metadata?: {
[key: string]: unknown;
description?: string;
input?: Record<string, unknown>;
output?: Record<string, unknown>;
};
accepts?: PaymentOption[];
x402Version?: number;
lastUpdated?: string;
}
/**
* Simplified resource output for LLM consumption
*/
export interface SimplifiedResource {
url: string;
price: string;
description: string;
}