Base Configuration
All feature configurations extendBaseX404Config:
Copy
interface BaseX404Config {
wallet?: string; // Optional - if not provided, modal will be shown
geo_code: string;
geo_code_locs: string;
coords: {
latitude: number | null;
longitude: number | null;
};
}
Feature Configurations
X404BlacklistConfig
Copy
interface X404BlacklistConfig extends BaseX404Config {
excluded_mints: string[];
max_holdings?: Record<string, string>;
}
X404TimeLockConfig
Copy
interface X404TimeLockConfig extends BaseX404Config {
required_mint: string;
mint_amount: string;
min_hold_duration_days: number;
}
X404MultiTokenConfig
Copy
interface X404MultiTokenConfig extends BaseX404Config {
required_tokens: Array<{ mint: string; amount: string }>;
verification_mode: "ALL" | "ANY";
}
X404ActivityConfig
Copy
interface X404ActivityConfig extends BaseX404Config {
min_transactions: number;
min_volume: string;
time_period_days: number;
transaction_types: string[];
}
X404TierConfig
Copy
interface X404TierConfig extends BaseX404Config {
tier_config: {
bronze?: { mint: string; amount: string };
silver?: { mint: string; amount: string };
gold?: { mint: string; amount: string };
};
}
X404NoDebtConfig
Copy
interface X404NoDebtConfig extends BaseX404Config {
check_protocols: string[];
max_debt_allowed: string;
}
X404AgeConfig
Copy
interface X404AgeConfig extends BaseX404Config {
min_wallet_age_days: number;
min_first_transaction_days: number;
}
Usage
Copy
import type {
X404BlacklistConfig,
X404TimeLockConfig,
X404MultiTokenConfig,
X404ActivityConfig,
X404TierConfig,
X404NoDebtConfig,
X404AgeConfig,
} from "magenx404";
const blacklistConfig: X404BlacklistConfig = {
excluded_mints: ["token_address"],
max_holdings: {},
geo_code: "false",
geo_code_locs: "",
coords: { latitude: null, longitude: null },
};