New:Socket for Asana Is Now Available.Learn more
Get Started

@ramp-kit/react

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ramp-kit/react - npm Package Compare versions

Comparing version
0.1.4
to
0.1.5
+76
dist/theme.d.ts
import type { CSSProperties } from "react";
/**
* Theme tokens for <RampWidget/>. Every field maps to a `--rk-*` CSS variable
* the styles read, so setting one (e.g. `background`) overrides just that and
* leaves the rest at their preset defaults. Numbers become px.
*/
export interface RampTheme {
/** Widget container background. */
background?: string;
/** Raised surfaces (quote box). */
surface?: string;
/** Faint fills (pills, step dots). */
subtle?: string;
/** Borders and separators. */
border?: string;
/** Primary text. */
text?: string;
/** Secondary / muted text. */
textMuted?: string;
/** Primary action color (buttons, active step, progress bar). */
primary?: string;
/** Text on top of `primary`. */
primaryText?: string;
/** Success accent (completed steps, rail badge). */
accent?: string;
/** Success accent background. */
accentBg?: string;
/** Error / failure color. */
danger?: string;
/** In-progress status color. */
warning?: string;
/** Neutral/pending status color. */
info?: string;
/** Control corner radius (px when a number). */
radius?: number | string;
/** Container corner radius (px when a number). */
radiusLg?: number | string;
fontFamily?: string;
}
/** A named preset or a custom token set. */
export type RampThemeInput = "light" | "dark" | RampTheme;
/** Turn a theme input into the `--rk-*` custom properties to set on the root. */
export declare function resolveTheme(input?: RampThemeInput): CSSProperties;
/** Visible copy, all overridable. Currency/asset/amount are appended by the widget. */
export interface RampLabels {
steps: {
amount: string;
deposit: string;
done: string;
};
status: Record<string, string>;
youPay: string;
youSell: string;
youReceive: string;
assetToSell: string;
fetchingQuote: string;
rate: string;
fee: string;
continueButton: string;
creatingOrder: string;
fundsDelivered: string;
signAndSend: string;
signing: string;
loadingDeposit: string;
noSigner: string;
}
export declare const DEFAULT_LABELS: RampLabels;
/** Deep-merge caller overrides over the defaults (steps/status merged too). */
export declare function resolveLabels(overrides?: DeepPartial<RampLabels>): RampLabels;
type DeepPartial<T> = {
[K in keyof T]?: T[K] extends object ? Partial<T[K]> : T[K];
};
/** Compact vs. default spacing, exposed as `--rk-pad` / `--rk-gap`. */
export declare function sizeVars(size: "sm" | "md"): CSSProperties;
export {};
//# sourceMappingURL=theme.d.ts.map
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,mCAAmC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,4CAA4C;AAC5C,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAsC1D,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,KAAK,GAAE,cAAwB,GAAG,aAAa,CAW3E;AAED,uFAAuF;AACvF,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,cAAc,EAAE,UAyB5B,CAAC;AAEF,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,UAAU,CAQ7E;AAED,KAAK,WAAW,CAAC,CAAC,IAAI;KACnB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC5D,CAAC;AAEF,uEAAuE;AACvE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,aAAa,CAMzD"}
const VARS = {
background: "--rk-bg",
surface: "--rk-surface",
subtle: "--rk-subtle",
border: "--rk-border",
text: "--rk-text",
textMuted: "--rk-text-muted",
primary: "--rk-primary",
primaryText: "--rk-primary-text",
accent: "--rk-accent",
accentBg: "--rk-accent-bg",
danger: "--rk-danger",
warning: "--rk-warning",
info: "--rk-info",
radius: "--rk-radius",
radiusLg: "--rk-radius-lg",
fontFamily: "--rk-font",
};
/** Dark preset. Light is the styles' built-in fallbacks, so its preset is {}. */
const DARK = {
background: "#18181b",
surface: "#27272a",
subtle: "#3f3f46",
border: "#3f3f46",
text: "#fafafa",
textMuted: "#a1a1aa",
primary: "#fafafa",
primaryText: "#18181b",
accent: "#4ade80",
accentBg: "#14532d",
danger: "#f87171",
warning: "#fb923c",
info: "#60a5fa",
};
/** Turn a theme input into the `--rk-*` custom properties to set on the root. */
export function resolveTheme(input = "light") {
const theme = input === "light" ? {} : input === "dark" ? DARK : input;
const vars = {};
for (const key of Object.keys(VARS)) {
const value = theme[key];
if (value !== undefined) {
vars[VARS[key]] = typeof value === "number" ? `${value}px` : String(value);
}
}
return vars;
}
export const DEFAULT_LABELS = {
steps: { amount: "Amount", deposit: "Transfer", done: "Done" },
status: {
created: "Order created",
awaiting_deposit: "Waiting for your deposit",
awaiting_signature: "Waiting for your signature",
processing: "Exchanging & settling on-chain",
settled: "Funds delivered",
failed: "Order failed",
cancelled: "Order cancelled",
},
youPay: "You pay",
youSell: "You sell",
youReceive: "You receive",
assetToSell: "Asset to sell",
fetchingQuote: "Fetching live quote…",
rate: "Rate",
fee: "fee",
continueButton: "Continue",
creatingOrder: "Creating order…",
fundsDelivered: "Funds delivered",
signAndSend: "Sign & send",
signing: "Signing & sending…",
loadingDeposit: "Loading deposit instructions…",
noSigner: "No signer configured — pass the `signer` prop to enable in-widget signing.",
};
/** Deep-merge caller overrides over the defaults (steps/status merged too). */
export function resolveLabels(overrides) {
if (!overrides)
return DEFAULT_LABELS;
return {
...DEFAULT_LABELS,
...overrides,
steps: { ...DEFAULT_LABELS.steps, ...overrides.steps },
status: { ...DEFAULT_LABELS.status, ...overrides.status },
};
}
/** Compact vs. default spacing, exposed as `--rk-pad` / `--rk-gap`. */
export function sizeVars(size) {
const vars = size === "sm"
? { "--rk-pad": "14px", "--rk-gap": "10px" }
: { "--rk-pad": "20px", "--rk-gap": "14px" };
return vars;
}
//# sourceMappingURL=theme.js.map
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
+2
-0

@@ -5,2 +5,4 @@ export { useQuote, useOrder } from "./hooks.js";

export type { RampWidgetProps } from "./RampWidget.js";
export { resolveTheme, resolveLabels, DEFAULT_LABELS } from "./theme.js";
export type { RampTheme, RampThemeInput, RampLabels } from "./theme.js";
//# sourceMappingURL=index.d.ts.map
+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACzE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
export { useQuote, useOrder } from "./hooks.js";
export { RampWidget } from "./RampWidget.js";
export { resolveTheme, resolveLabels, DEFAULT_LABELS } from "./theme.js";
//# sourceMappingURL=index.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}

@@ -1,2 +0,3 @@

import { type FiatCurrency, type Network, type RampAsset, type RampDirection, type RampProvider, type StellarConfig } from "@ramp-kit/core";
import { type FiatCurrency, type Network, type RampAsset, type RampDirection, type RampProvider, type RampQuote, type StellarConfig } from "@ramp-kit/core";
import { type RampLabels, type RampThemeInput } from "./theme.js";
export interface RampWidgetProps {

@@ -12,2 +13,11 @@ provider: RampProvider;

walletAddress?: string;
/**
* Offramp fiat payout account (CBU, CLABE, IBAN, PIX key…) plus any
* provider-specific extras. Required for Manteca offramps; ignored by
* providers with pre-registered accounts (Etherfuse).
*/
payoutDestination?: {
address: string;
[key: string]: unknown;
};
/** Assets to offer. Fetch with provider.listAssets() and pass down. */

@@ -21,15 +31,51 @@ assets: RampAsset[];

signer?: (xdr: string, networkPassphrase: string) => Promise<string>;
/** Horizon/network for signing (use stellarConfigFor(environment)). */
/**
* Network the whole flow runs on: "testnet" (default) or "mainnet". Also
* accepts the core vocabulary ("sandbox"/"production") so you can pass the
* SAME value you gave the provider. When `stellarConfig` is omitted it is
* derived from this; it also selects the block explorer and warns if the
* provider was built for a different environment.
*/
environment?: "testnet" | "mainnet" | "sandbox" | "production";
/**
* Horizon/network for signing. Overrides `environment`; usually you set one
* or the other. Use stellarConfigFor("sandbox" | "production").
*/
stellarConfig?: StellarConfig;
/** "light" (default), "dark", or a custom token set. */
theme?: RampThemeInput;
/** Compact ("sm") or default ("md") spacing. */
size?: "sm" | "md";
/** Show the numbered step header. Default true. */
showStepper?: boolean;
/** Class added to the root, alongside "rk-widget". */
className?: string;
/** Inline styles merged onto the root (wins over the theme). */
style?: React.CSSProperties;
/** Override any visible copy (steps, statuses, buttons) — e.g. for i18n. */
labels?: DeepPartial<RampLabels>;
/** BCP-47 locale for amount formatting. Default "en-US". */
locale?: string;
onOrderCreated?: (orderId: string) => void;
onSettled?: (orderId: string) => void;
/** Fired whenever a fresh quote arrives. */
onQuote?: (quote: RampQuote) => void;
/** Fired when the flow advances between steps. */
onStepChange?: (step: Step) => void;
/** Fired on any error, tagged with where it happened. */
onError?: (error: Error, context: "quote" | "order" | "sign") => void;
}
type DeepPartial<T> = {
[K in keyof T]?: T[K] extends object ? Partial<T[K]> : T[K];
};
type Step = "amount" | "deposit" | "done";
/**
* Embeddable onramp flow: amount + asset → live quote → order →
* deposit instructions → status tracking until settled.
* Embeddable ramp flow: amount + asset → live quote → order → deposit
* instructions → status tracking until settled.
*
* Neutral inline styles + `rk-` class names so it drops into any app
* and can be themed via CSS.
* Themeable via the `theme` prop (or `--rk-*` CSS variables) and `rk-` class
* hooks; all copy is overridable through `labels`.
*/
export declare function RampWidget({ provider, customerId, fiatCurrency, direction, network, walletAddress, assets, signer, stellarConfig, onOrderCreated, onSettled, }: RampWidgetProps): import("react").JSX.Element | null;
export declare function RampWidget({ provider, customerId, fiatCurrency, direction, network, walletAddress, payoutDestination, assets, signer, environment, stellarConfig, theme, size, showStepper, className, style, labels: labelOverrides, locale, onOrderCreated, onSettled, onQuote, onStepChange, onError, }: RampWidgetProps): import("react").JSX.Element | null;
export {};
//# sourceMappingURL=RampWidget.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"RampWidget.d.ts","sourceRoot":"","sources":["../src/RampWidget.tsx"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,OAAO,EAEZ,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,iFAAiF;IACjF,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,sEAAsE;IACtE,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrE,uEAAuE;IACvE,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAoBD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,SAAoB,EACpB,OAAmB,EACnB,aAAa,EACb,MAAM,EACN,MAAM,EACN,aAAa,EACb,cAAc,EACd,SAAS,GACV,EAAE,eAAe,sCA4VjB"}
{"version":3,"file":"RampWidget.d.ts","sourceRoot":"","sources":["../src/RampWidget.tsx"],"names":[],"mappings":"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"}
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import { useEffect, useMemo, useState } from "react";
import { RampError, signAndSubmit, } from "@ramp-kit/core";
import { RampError, signAndSubmit, stellarConfigFor, } from "@ramp-kit/core";
import { useQuote, useOrder } from "./hooks.js";
const STEPS = [
{ key: "amount", label: "Amount" },
{ key: "deposit", label: "Transfer" },
{ key: "done", label: "Done" },
];
const STATUS_LABEL = {
created: "Order created",
awaiting_deposit: "Waiting for your deposit",
awaiting_signature: "Waiting for your signature",
processing: "Exchanging & settling on-chain",
settled: "Funds delivered",
failed: "Order failed",
cancelled: "Order cancelled",
};
import { resolveLabels, resolveTheme, sizeVars, } from "./theme.js";
const STEP_ORDER = ["amount", "deposit", "done"];
/**
* Embeddable onramp flow: amount + asset → live quote → order →
* deposit instructions → status tracking until settled.
* Embeddable ramp flow: amount + asset → live quote → order → deposit
* instructions → status tracking until settled.
*
* Neutral inline styles + `rk-` class names so it drops into any app
* and can be themed via CSS.
* Themeable via the `theme` prop (or `--rk-*` CSS variables) and `rk-` class
* hooks; all copy is overridable through `labels`.
*/
export function RampWidget({ provider, customerId, fiatCurrency, direction = "onramp", network = "stellar", walletAddress, assets, signer, stellarConfig, onOrderCreated, onSettled, }) {
export function RampWidget({ provider, customerId, fiatCurrency, direction = "onramp", network = "stellar", walletAddress, payoutDestination, assets, signer, environment, stellarConfig, theme = "light", size = "md", showStepper = true, className, style, labels: labelOverrides, locale = "en-US", onOrderCreated, onSettled, onQuote, onStepChange, onError, }) {
const [amount, setAmount] = useState("");

@@ -36,2 +24,14 @@ const [assetId, setAssetId] = useState(assets[0]?.identifier ?? "");

const [signError, setSignError] = useState(null);
const labels = useMemo(() => resolveLabels(labelOverrides), [labelOverrides]);
const goStep = (next) => {
setStep(next);
onStepChange?.(next);
};
// Normalize "testnet/mainnet" and "sandbox/production" to one vocabulary.
const isMainnet = environment === "mainnet" || environment === "production";
const coreEnv = environment
? isMainnet
? "production"
: "sandbox"
: undefined;
// Keep selection valid when the asset list changes (e.g. provider swap).

@@ -55,9 +55,35 @@ useEffect(() => {

walletAddress,
payoutDestination,
};
}, [amount, assetId, direction, fiatCurrency, network, customerId, walletAddress]);
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [
amount,
assetId,
direction,
fiatCurrency,
network,
customerId,
walletAddress,
payoutDestination?.address,
]);
const { quote, loading, error, secondsLeft } = useQuote(step === "amount" ? provider : null, request);
const { order } = useOrder(provider, orderId);
const { order, error: orderError } = useOrder(provider, orderId);
useEffect(() => {
if (quote)
onQuote?.(quote);
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [quote?.id]);
useEffect(() => {
if (error)
onError?.(error, "quote");
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [error]);
useEffect(() => {
if (orderError)
onError?.(orderError, "order");
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [orderError]);
useEffect(() => {
if (order?.status === "settled") {
setStep("done");
goStep("done");
onSettled?.(order.id);

@@ -67,2 +93,9 @@ }

}, [order?.status, order?.id]);
// Catch a testnet/mainnet mismatch before it moves funds on the wrong net.
useEffect(() => {
if (coreEnv && provider?.environment && provider.environment !== coreEnv) {
console.warn(`[RampWidget] environment="${environment}" but the provider targets "${provider.environment}" — API calls and funds would hit different networks. Build the provider with the matching environment.`);
}
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [coreEnv, provider]);
const confirm = async () => {

@@ -77,5 +110,6 @@ if (!quote)

onOrderCreated?.(created.id);
setStep("deposit");
goStep("deposit");
}
catch (err) {
onError?.(err, "order");
const message = err.message;

@@ -97,3 +131,3 @@ // Sandbox accounts can be compliant yet lack rail provisioning.

const selectedAsset = assets.find((a) => a.identifier === assetId);
const stepIndex = STEPS.findIndex((s) => s.key === step);
const stepIndex = STEP_ORDER.indexOf(step);
const deposit = order?.depositInstructions;

@@ -105,7 +139,14 @@ const isTerminalFailure = order?.status === "failed" || order?.status === "cancelled";

const isLiveStellar = provider.name !== "mock" && network === "stellar";
const explorerNet = stellarConfig?.horizonUrl?.includes("testnet") !== false
? "testnet"
: "public";
// `environment` overrides; fall back to sniffing the Horizon URL.
const resolvedStellarConfig = stellarConfig ?? (coreEnv ? stellarConfigFor(coreEnv) : undefined);
const explorerNet = environment
? isMainnet
? "public"
: "testnet"
: resolvedStellarConfig?.horizonUrl?.includes("testnet") !== false
? "testnet"
: "public";
const txUrl = (hash) => `https://stellar.expert/explorer/${explorerNet}/tx/${hash}`;
const needsSignature = isOfframp && order?.status === "awaiting_signature" && order.unsignedTx;
const fmt = (value) => formatAmount(value, locale);
const signAndSend = async () => {

@@ -116,6 +157,11 @@ if (!order?.unsignedTx || !signer)

setSignError(null);
// On mainnet the user pays a fee-bump if the provider's fee is too low
// for current congestion; Horizon timeouts resubmit automatically.
const submitOpts = walletAddress?.startsWith("G")
? { feeBump: { feeSourcePublicKey: walletAddress } }
: undefined;
try {
let res;
try {
res = await signAndSubmit(order.unsignedTx, signer, stellarConfig);
res = await signAndSubmit(order.unsignedTx, signer, resolvedStellarConfig, submitOpts);
}

@@ -130,3 +176,3 @@ catch (err) {

throw err;
res = await signAndSubmit(fresh.unsignedTx, signer, stellarConfig);
res = await signAndSubmit(fresh.unsignedTx, signer, resolvedStellarConfig, submitOpts);
}

@@ -140,2 +186,3 @@ else {

catch (err) {
onError?.(err, "sign");
setSignError(err.message);

@@ -147,3 +194,9 @@ }

};
return (_jsxs("div", { className: "rk-widget", style: styles.widget, children: [_jsx("div", { className: "rk-steps", style: styles.steps, children: STEPS.map((s, i) => (_jsxs("div", { style: styles.stepItem, children: [_jsx("div", { style: {
const rootStyle = {
...styles.widget,
...resolveTheme(theme),
...sizeVars(size),
...style,
};
return (_jsxs("div", { className: ["rk-widget", className].filter(Boolean).join(" "), style: rootStyle, children: [showStepper && (_jsx("div", { className: "rk-steps", style: styles.steps, children: STEP_ORDER.map((key, i) => (_jsxs("div", { style: styles.stepItem, children: [_jsx("div", { style: {
...styles.stepDot,

@@ -155,39 +208,43 @@ ...(i < stepIndex ? styles.stepDotPast : {}),

...(i === stepIndex ? styles.stepLabelActive : {}),
}, children: s.label }), i < STEPS.length - 1 && _jsx("div", { style: styles.stepLine })] }, s.key))) }), step === "amount" && (_jsxs(_Fragment, { children: [_jsxs("label", { style: styles.label, children: [isOfframp
? `You sell (${selectedAsset?.symbol ?? "asset"})`
: `You pay (${fiatCurrency})`, _jsx("input", { style: styles.input, type: "number", min: "0", value: amount, placeholder: isOfframp ? "5" : "100", onChange: (e) => setAmount(e.target.value) })] }), _jsxs("label", { style: styles.label, children: [isOfframp ? "Asset to sell" : "You receive", _jsx("select", { style: styles.input, value: assetId, onChange: (e) => setAssetId(e.target.value), children: assets.map((a) => (_jsxs("option", { value: a.identifier, children: [a.symbol, " \u00B7 ", a.network] }, a.identifier))) })] }), loading && _jsx("p", { style: styles.muted, children: "Fetching live quote\u2026" }), error && _jsx("p", { style: styles.error, children: error.message }), quote && !loading && (_jsxs("div", { className: "rk-quote", style: styles.quoteBox, children: [_jsxs("div", { style: styles.quoteRow, children: [_jsxs("span", { style: styles.big, children: ["\u2248 ", trim(quote.targetAmount), " ", receiveUnit] }), _jsxs("span", { style: styles.pill, children: [secondsLeft, "s"] })] }), _jsx("div", { style: styles.countdownTrack, children: _jsx("div", { style: {
}, children: labels.steps[key] }), i < STEP_ORDER.length - 1 && _jsx("div", { style: styles.stepLine })] }, key))) })), step === "amount" && (_jsxs(_Fragment, { children: [_jsxs("label", { style: styles.label, children: [isOfframp
? `${labels.youSell} (${selectedAsset?.symbol ?? "asset"})`
: `${labels.youPay} (${fiatCurrency})`, _jsx("input", { style: styles.input, type: "number", min: "0", value: amount, placeholder: isOfframp ? "5" : "100", onChange: (e) => setAmount(e.target.value) })] }), _jsxs("label", { style: styles.label, children: [isOfframp ? labels.assetToSell : labels.youReceive, _jsx("select", { style: styles.input, value: assetId, onChange: (e) => setAssetId(e.target.value), children: assets.map((a) => (_jsxs("option", { value: a.identifier, children: [a.symbol, " \u00B7 ", a.network] }, a.identifier))) })] }), loading && _jsx("p", { style: styles.muted, children: labels.fetchingQuote }), error && _jsx("p", { style: styles.error, children: error.message }), quote && !loading && (_jsxs("div", { className: "rk-quote", style: styles.quoteBox, children: [_jsxs("div", { style: styles.quoteRow, children: [_jsxs("span", { style: styles.big, children: ["\u2248 ", fmt(quote.targetAmount), " ", receiveUnit] }), _jsxs("span", { style: styles.pill, children: [secondsLeft, "s"] })] }), _jsx("div", { style: styles.countdownTrack, children: _jsx("div", { style: {
...styles.countdownBar,
width: `${Math.min(100, (secondsLeft / 120) * 100)}%`,
} }) }), _jsxs("p", { style: styles.muted, children: ["Rate ", trim(quote.rate), quote.fees ? ` · fee ${quote.fees} ${fiatCurrency}` : ""] }), _jsx("button", { style: styles.button, disabled: submitting, onClick: confirm, children: submitting ? "Creating order…" : "Continue" }), submitError && _jsx("p", { style: styles.error, children: submitError })] }))] })), step === "deposit" && (_jsxs("div", { className: "rk-deposit", style: styles.depositBox, children: [isOfframp ? (_jsxs(_Fragment, { children: [needsSignature && !signedTxHash && (_jsxs(_Fragment, { children: [_jsxs("p", { style: styles.muted, children: ["Send your ", selectedAsset?.symbol, " on-chain to fund the payout \u2014 the provider pre-built the transaction, your wallet just signs it:"] }), signer ? (_jsx("button", { style: styles.button, disabled: signing, onClick: signAndSend, children: signing
? "Signing & sending…"
: `Sign & send ${amount} ${selectedAsset?.symbol}` })) : (_jsx("p", { style: styles.error, children: "No signer configured \u2014 pass the `signer` prop to enable in-widget signing." })), signError && _jsx("p", { style: styles.error, children: signError })] })), signedTxHash && (_jsxs("p", { style: styles.muted, children: ["Transaction sent", " ", isLiveStellar ? (_jsxs("a", { href: txUrl(signedTxHash), target: "_blank", rel: "noreferrer", children: [signedTxHash.slice(0, 10), "\u2026 \u2197"] })) : (_jsxs(_Fragment, { children: ["(", signedTxHash.slice(0, 10), "\u2026)"] })), " ", "\u2014 the provider pays out ", fiatCurrency, " once it confirms."] }))] })) : deposit ? (_jsxs(_Fragment, { children: [_jsxs("div", { style: styles.quoteRow, children: [_jsx("span", { style: styles.railBadge, children: deposit.rail }), _jsxs("span", { style: styles.big, children: [deposit.amount, " ", deposit.currency] })] }), _jsx("p", { style: styles.muted, children: deposit.rail === "PIX"
} }) }), _jsxs("p", { style: styles.muted, children: [labels.rate, " ", fmt(quote.rate), quote.fees ? ` · ${labels.fee} ${quote.fees} ${fiatCurrency}` : ""] }), _jsx("button", { style: styles.button, disabled: submitting, onClick: confirm, children: submitting ? labels.creatingOrder : labels.continueButton }), submitError && _jsx("p", { style: styles.error, children: submitError })] }))] })), step === "deposit" && (_jsxs("div", { className: "rk-deposit", style: styles.depositBox, children: [isOfframp ? (_jsxs(_Fragment, { children: [needsSignature && !signedTxHash && (_jsxs(_Fragment, { children: [_jsxs("p", { style: styles.muted, children: ["Send your ", selectedAsset?.symbol, " on-chain to fund the payout \u2014 the provider pre-built the transaction, your wallet just signs it:"] }), signer ? (_jsx("button", { style: styles.button, disabled: signing, onClick: signAndSend, children: signing
? labels.signing
: `${labels.signAndSend} ${amount} ${selectedAsset?.symbol}` })) : (_jsx("p", { style: styles.error, children: labels.noSigner })), signError && _jsx("p", { style: styles.error, children: signError })] })), signedTxHash && (_jsxs("p", { style: styles.muted, children: ["Transaction sent", " ", isLiveStellar ? (_jsxs("a", { href: txUrl(signedTxHash), target: "_blank", rel: "noreferrer", children: [signedTxHash.slice(0, 10), "\u2026 \u2197"] })) : (_jsxs(_Fragment, { children: ["(", signedTxHash.slice(0, 10), "\u2026)"] })), " ", "\u2014 the provider pays out ", fiatCurrency, " once it confirms."] }))] })) : deposit ? (_jsxs(_Fragment, { children: [_jsxs("div", { style: styles.quoteRow, children: [_jsx("span", { style: styles.railBadge, children: deposit.rail }), _jsxs("span", { style: styles.big, children: [deposit.amount, " ", deposit.currency] })] }), _jsx("p", { style: styles.muted, children: deposit.rail === "PIX"
? "Pay this PIX charge to fund your order:"
: "Send the exact amount to this account:" }), _jsxs("p", { style: styles.mono, children: [deposit.address, deposit.alias ? ` · ${deposit.alias}` : ""] })] })) : (_jsx("p", { style: styles.muted, children: "Loading deposit instructions\u2026" })), _jsxs("div", { style: styles.statusRow, children: [_jsx("span", { style: {
: "Send the exact amount to this account:" }), _jsxs("p", { style: styles.mono, children: [deposit.address, deposit.alias ? ` · ${deposit.alias}` : ""] })] })) : (_jsx("p", { style: styles.muted, children: labels.loadingDeposit })), _jsxs("div", { style: styles.statusRow, children: [_jsx("span", { style: {
...styles.statusDot,
background: isTerminalFailure
? "#c0392b"
? "var(--rk-danger, #c0392b)"
: order?.status === "processing"
? "#e67e22"
: "#3498db",
} }), _jsx("span", { style: styles.statusText, children: STATUS_LABEL[order?.status ?? "created"] })] }), isTerminalFailure && (_jsx("p", { style: styles.error, children: order?.failureReason ?? "Order failed" }))] })), step === "done" && (_jsxs("div", { className: "rk-done", style: styles.doneBox, children: [_jsx("div", { style: styles.doneIcon, children: "\u2713" }), _jsx("p", { style: styles.big, children: "Funds delivered" }), order?.quote && (_jsxs("p", { style: styles.muted, children: [order.quote.request.sourceAmount, " ", isOfframp
? "var(--rk-warning, #e67e22)"
: "var(--rk-info, #3498db)",
} }), _jsx("span", { style: styles.statusText, children: labels.status[order?.status ?? "created"] })] }), isTerminalFailure && (_jsx("p", { style: styles.error, children: order?.failureReason ?? labels.status.failed }))] })), step === "done" && (_jsxs("div", { className: "rk-done", style: styles.doneBox, children: [_jsx("div", { style: styles.doneIcon, children: "\u2713" }), _jsx("p", { style: styles.big, children: labels.fundsDelivered }), order?.quote && (_jsxs("p", { style: styles.muted, children: [order.quote.request.sourceAmount, " ", isOfframp
? selectedAsset?.symbol
: order.quote.request.fiatCurrency, " ", "\u2192 ", trim(order.quote.targetAmount), " ", receiveUnit, isOfframp ? " via PIX/SPEI" : ` on ${network}`] })), (order?.txHash ?? signedTxHash) && (_jsx("p", { style: styles.mono, children: isLiveStellar ? (_jsx("a", { href: txUrl((order?.txHash ?? signedTxHash)), target: "_blank", rel: "noreferrer", children: "View transaction on Stellar Expert \u2197" })) : (_jsxs(_Fragment, { children: ["tx ", (order?.txHash ?? signedTxHash).slice(0, 10), "\u2026", (order?.txHash ?? signedTxHash).slice(-8)] })) })), isOfframp && (_jsxs("p", { style: styles.muted, children: [fiatCurrency, " payout is processed by the provider to your registered bank account", provider.name === "etherfuse"
: order.quote.request.fiatCurrency, " ", "\u2192 ", fmt(order.quote.targetAmount), " ", receiveUnit, isOfframp ? " via PIX/SPEI" : ` on ${network}`] })), (order?.txHash ?? signedTxHash) && (_jsx("p", { style: styles.mono, children: isLiveStellar ? (_jsx("a", { href: txUrl((order?.txHash ?? signedTxHash)), target: "_blank", rel: "noreferrer", children: "View transaction on Stellar Expert \u2197" })) : (_jsxs(_Fragment, { children: ["tx ", (order?.txHash ?? signedTxHash).slice(0, 10), "\u2026", (order?.txHash ?? signedTxHash).slice(-8)] })) })), isOfframp && (_jsxs("p", { style: styles.muted, children: [fiatCurrency, " payout is processed by the provider to your registered bank account", provider.name === "etherfuse"
? " (sandbox payouts run in batches)"
: "", "."] }))] }))] }));
}
function trim(value) {
function formatAmount(value, locale) {
const n = Number(value);
return Number.isFinite(n) ? n.toLocaleString("en-US", { maximumFractionDigits: 4 }) : value;
return Number.isFinite(n)
? n.toLocaleString(locale, { maximumFractionDigits: 4 })
: value;
}
/** Static styles read theme tokens via `var(--rk-*, fallback)`; the fallbacks are the light preset. */
const styles = {
widget: {
maxWidth: 400,
padding: 20,
borderRadius: 14,
border: "1px solid #e4e4e7",
background: "#fff",
fontFamily: "system-ui, sans-serif",
padding: "var(--rk-pad, 20px)",
borderRadius: "var(--rk-radius-lg, 14px)",
border: "1px solid var(--rk-border, #e4e4e7)",
background: "var(--rk-bg, #fff)",
color: "var(--rk-text, #18181b)",
fontFamily: "var(--rk-font, system-ui, sans-serif)",
display: "flex",
flexDirection: "column",
gap: 14,
gap: "var(--rk-gap, 14px)",
},

@@ -205,24 +262,37 @@ steps: { display: "flex", alignItems: "center", gap: 6 },

fontWeight: 600,
background: "#f4f4f5",
color: "#71717a",
background: "var(--rk-subtle, #f4f4f5)",
color: "var(--rk-text-muted, #71717a)",
flexShrink: 0,
},
stepDotActive: { background: "#18181b", color: "#fff" },
stepDotPast: { background: "#dcfce7", color: "#16a34a" },
stepLabel: { fontSize: 12, color: "#a1a1aa" },
stepLabelActive: { color: "#18181b", fontWeight: 600 },
stepLine: { flex: 1, height: 1, background: "#e4e4e7" },
label: { display: "flex", flexDirection: "column", gap: 4, fontSize: 13, color: "#3f3f46" },
stepDotActive: {
background: "var(--rk-primary, #18181b)",
color: "var(--rk-primary-text, #fff)",
},
stepDotPast: {
background: "var(--rk-accent-bg, #dcfce7)",
color: "var(--rk-accent, #16a34a)",
},
stepLabel: { fontSize: 12, color: "var(--rk-text-muted, #a1a1aa)" },
stepLabelActive: { color: "var(--rk-text, #18181b)", fontWeight: 600 },
stepLine: { flex: 1, height: 1, background: "var(--rk-border, #e4e4e7)" },
label: {
display: "flex",
flexDirection: "column",
gap: 4,
fontSize: 13,
color: "var(--rk-text-muted, #3f3f46)",
},
input: {
padding: 10,
borderRadius: 10,
border: "1px solid #d4d4d8",
borderRadius: "var(--rk-radius, 10px)",
border: "1px solid var(--rk-border, #d4d4d8)",
fontSize: 16,
background: "#fff",
background: "var(--rk-surface, #fff)",
color: "var(--rk-text, #18181b)",
},
quoteBox: {
padding: 14,
borderRadius: 10,
background: "#fafafa",
border: "1px solid #f0f0f1",
borderRadius: "var(--rk-radius, 10px)",
background: "var(--rk-surface, #fafafa)",
border: "1px solid var(--rk-border, #f0f0f1)",
display: "flex",

@@ -241,3 +311,3 @@ flexDirection: "column",

borderRadius: 2,
background: "#e4e4e7",
background: "var(--rk-border, #e4e4e7)",
overflow: "hidden",

@@ -247,3 +317,3 @@ },

height: "100%",
background: "#18181b",
background: "var(--rk-primary, #18181b)",
transition: "width 1s linear",

@@ -255,4 +325,4 @@ },

borderRadius: 999,
background: "#f4f4f5",
color: "#52525b",
background: "var(--rk-subtle, #f4f4f5)",
color: "var(--rk-text-muted, #52525b)",
fontVariantNumeric: "tabular-nums",

@@ -266,12 +336,12 @@ },

borderRadius: 999,
background: "#ecfdf5",
color: "#047857",
border: "1px solid #a7f3d0",
background: "var(--rk-accent-bg, #ecfdf5)",
color: "var(--rk-accent, #047857)",
border: "1px solid var(--rk-accent, #a7f3d0)",
},
button: {
padding: "11px 16px",
borderRadius: 10,
borderRadius: "var(--rk-radius, 10px)",
border: "none",
background: "#18181b",
color: "#fff",
background: "var(--rk-primary, #18181b)",
color: "var(--rk-primary-text, #fff)",
fontSize: 15,

@@ -284,3 +354,3 @@ fontWeight: 600,

statusDot: { width: 8, height: 8, borderRadius: "50%", flexShrink: 0 },
statusText: { fontSize: 13, color: "#3f3f46" },
statusText: { fontSize: 13, color: "var(--rk-text-muted, #3f3f46)" },
doneBox: {

@@ -298,4 +368,4 @@ display: "flex",

borderRadius: "50%",
background: "#dcfce7",
color: "#16a34a",
background: "var(--rk-accent-bg, #dcfce7)",
color: "var(--rk-accent, #16a34a)",
display: "flex",

@@ -307,4 +377,4 @@ alignItems: "center",

},
big: { fontSize: 19, fontWeight: 600, margin: 0, color: "#18181b" },
muted: { fontSize: 13, color: "#71717a", margin: 0 },
big: { fontSize: 19, fontWeight: 600, margin: 0, color: "var(--rk-text, #18181b)" },
muted: { fontSize: 13, color: "var(--rk-text-muted, #71717a)", margin: 0 },
mono: {

@@ -314,7 +384,7 @@ fontFamily: "ui-monospace, monospace",

fontSize: 13,
color: "#3f3f46",
color: "var(--rk-text-muted, #3f3f46)",
margin: 0,
},
error: { color: "#c0392b", fontSize: 13, margin: 0 },
error: { color: "var(--rk-danger, #c0392b)", fontSize: 13, margin: 0 },
};
//# sourceMappingURL=RampWidget.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"RampWidget.js","sourceRoot":"","sources":["../src/RampWidget.tsx"],"names":[],"mappings":"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"}
{"version":3,"file":"RampWidget.js","sourceRoot":"","sources":["../src/RampWidget.tsx"],"names":[],"mappings":"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"}
{
"name": "@ramp-kit/react",
"version": "0.1.4",
"version": "0.1.5",
"description": "React onramp widget and hooks for LATAM ramps on Stellar: 3-step embeddable flow with live quote countdown, PIX/SPEI deposit instructions and order tracking to settlement, over any @ramp-kit/core provider",

@@ -20,3 +20,3 @@ "type": "module",

"dependencies": {
"@ramp-kit/core": "0.1.4"
"@ramp-kit/core": "0.1.6"
},

@@ -23,0 +23,0 @@ "peerDependencies": {

@@ -55,8 +55,57 @@ # @ramp-kit/react

| `walletAddress` | `string?` | Destination wallet (onramp) / source wallet (offramp) |
| `payoutDestination` | `{ address: string }?` | Offramp fiat payout account (CBU/CLABE/IBAN/PIX key). Required for Manteca offramps |
| `assets` | `RampAsset[]` | Assets to offer (from `provider.listAssets()`) |
| `signer` | `(xdr, passphrase) => Promise<string>` | Wallet signing callback for offramps (Freighter, hardware, local key) |
| `stellarConfig` | `StellarConfig` | Network for signing — `stellarConfigFor("sandbox" \| "production")` |
| `environment` | `"testnet" \| "mainnet" \| "sandbox" \| "production"` | Network the flow runs on. Derives `stellarConfig`, picks the explorer, and warns on a provider mismatch |
| `stellarConfig` | `StellarConfig` | Explicit signing network — overrides `environment`. Use `stellarConfigFor(...)` |
| `theme` | `"light" \| "dark" \| RampTheme` | Color/radius/font tokens (default `"light"`) |
| `size` | `"sm" \| "md"` | Compact or default spacing (default `"md"`) |
| `showStepper` | `boolean` | Show the numbered step header (default `true`) |
| `className` | `string?` | Extra class on the root, alongside `rk-widget` |
| `style` | `CSSProperties?` | Inline styles merged onto the root (wins over the theme) |
| `labels` | `Partial<RampLabels>` | Override any visible copy (steps, statuses, buttons) — e.g. for i18n |
| `locale` | `string` | BCP-47 locale for amount formatting (default `"en-US"`) |
| `onOrderCreated` | `(orderId) => void` | Fired when the order is accepted |
| `onSettled` | `(orderId) => void` | Fired when funds are delivered |
| `onQuote` | `(quote) => void` | Fired whenever a fresh quote arrives |
| `onStepChange` | `(step) => void` | Fired when the flow advances between steps |
| `onError` | `(error, context) => void` | Fired on any error, tagged `"quote" \| "order" \| "sign"` |
### Theming
Every color, radius and font is a `--rk-*` CSS variable. Pass a `theme` preset
or a token set — set only what you want; the rest keep their defaults:
```tsx
<RampWidget
{...props}
theme={{
background: "#0b1e2d",
surface: "#12293b",
text: "#e6f1f7",
primary: "#38bdf8",
primaryText: "#04222f",
accent: "#34d399",
radius: 16,
}}
/>;
```
`theme="dark"` ships a full dark palette. You can also override the
`--rk-*` variables (or the `rk-widget` / `rk-quote` / `rk-deposit` / `rk-done`
classes) from your own CSS. Translate the copy with `labels`:
```tsx
<RampWidget
{...props}
locale="pt-BR"
labels={{
steps: { amount: "Valor", deposit: "Transferência", done: "Pronto" },
youPay: "Você paga",
youReceive: "Você recebe",
continueButton: "Continuar",
}}
/>;
```
### Sell flow (offramp) with Freighter

@@ -87,5 +136,49 @@

Styling: neutral inline styles plus `rk-` class names (`rk-widget`,
`rk-quote`, `rk-deposit`, `rk-done`) so you can theme it from your own CSS.
Styling: theme tokens via the `theme` prop or `--rk-*` CSS variables, plus
`rk-` class hooks (`rk-widget`, `rk-quote`, `rk-deposit`, `rk-done`).
## Going to production (testnet → mainnet)
Once you hold **production credentials** (see the checklist below), flipping to
mainnet is a single value used in two places — the provider and the widget:
```tsx
import { EtherfuseProvider } from "@ramp-kit/core";
// One flag drives everything. "production" and "mainnet" are equivalent here.
const environment = "production";
const provider = new EtherfuseProvider({
apiKey: process.env.ETHERFUSE_API_KEY!, // production key
environment, // flips the API base URL to mainnet
baseUrl: "https://api.myapp.com/ramp/etherfuse", // your @ramp-kit/server
});
<RampWidget
provider={provider}
environment={environment} // derives mainnet Horizon + passphrase + explorer
customerId={realCustomerId}
fiatCurrency="BRL"
walletAddress={userWallet}
assets={await provider.listAssets("stellar")}
/>;
```
Pass the **same** `environment` to the provider and the widget. If they differ,
the widget logs a console warning so a testnet UI never signs against mainnet
funds by accident. Omit `environment` and it stays on testnet (default).
**The switch is code; it doesn't create the credentials.** Working on mainnet
also requires, per provider (one-time, outside the SDK):
- **Etherfuse:** production KYB approval → `api_prod_…` key; real registered
bank accounts (real CLABE/RFC/PIX); real end-user KYC (no sandbox auto-approve).
- **Manteca:** commercial onboarding → production `md-api-key`, per-country
permissions, real onboarded users.
- **Stellar:** the wallet must be on the Public network with real XLM for fees
and reserves. The kit already prices fees dynamically and fee-bumps under
congestion, so mainnet submission is handled.
Full operational checklist: `skills/ramp-kit/references/production.md` in the repo.
## Hooks (build your own UI)

@@ -92,0 +185,0 @@