LATAM fiat ramps on Stellar for AI agents: live quotes, sandbox orders, PIX/SPEI simulation, docs
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Drop-in SDK + React components to add fiat on/off-ramps to any app in Latin America, built for the Stellar Brazil Ramps and Regional Kits sub-lane.
For AI agents:
BRL in and out, proven on Stellar Testnet (Etherfuse sandbox):
signAndSubmit signed and submitted it
(burn tx),
and the PIX payout processed provider-side. The widget ships the full
Sell flow with in-widget signing and automatic tx_too_late recovery.One provider interface, two direct backends plus any SEP-compliant Stellar anchor (and a mock for instant dev):
| Provider | Rails | Networks | Role in the kit |
|---|---|---|---|
| Etherfuse | BRL (PIX) + MXN (SPEI) | Stellar (native), Solana, Base, Polygon | Stellar-native settlement: automatic trustlines, sponsored onboarding via claimable balances |
| Manteca | In: BRL (PIX), ARS, MXN, CLP Β· Out: those + COP, PEN, GTQ, CRC, BOB, PUSD, PHP | Stellar, EVM chains, Tron | Broadest LATAM payout coverage β 11 countries β behind the same interface. Verified live: BRLβPIXβUSDC delivered on Stellar Testnet |
SepProvider | any the anchor serves | Stellar | Fronts any SEP-compliant anchor (SEP-1/10/38/24): the end user authenticates with their own wallet, no partner key. One adapter, the whole anchor ecosystem |
MockProvider | any | Stellar | Instant local dev + integration tests, realistic order lifecycle |
Swapping providers is one line (new MantecaProvider({ apiKey }),
new MockProvider()), or let the router pick per country and compare live
quotes:
@ramp-kit/core β framework-agnostic TypeScript SDK
RampProvider interface: listAssets β getQuote β createOrder β getOrdercreated β awaiting_deposit β awaiting_signature β processing β settled | failed | cancelledEtherfuseProvider (incl. registerWallet, listBankAccounts,
sandbox simulateFiatReceived), MantecaProvider, MockProviderRampRouter: provider selection per country/currency + live quote comparisongetAccountState (trustline/reserve checks),
getPendingBalances / claimPendingBalances (sponsored-onramp claims),
signAndSubmit (handles tx_too_late β regenerate), parseAssetIdentifier@ramp-kit/react β <RampWidget /> embeddable stepper flow (live quote
countdown, PIX/SPEI deposit instructions, status tracking), useQuote
(auto-refresh on expiry), useOrder (polls until terminal state)@ramp-kit/server β zero-dependency production backend: API-key proxy
with a strict endpoint allowlist, plus webhook receivers with HMAC-SHA256
signature verification (RFC 8785 canonicalization for Etherfuse)apps/demo β full BRLΒ·PIX / MXNΒ·SPEI onramp on Stellar Testnet:
built-in test wallet, live Horizon balance panel, one-click claimapps/second-app β the same widget dropped into a different app
(the sub-lane's "works in a second app" criterion)Manteca has the broadest LATAM fiat rails; Etherfuse is Stellar-native with
sponsored wallet onboarding. Both settle USDC on Stellar (Manteca added
Stellar support recently β verified live by this kit), which makes real
multi-anchor comparison possible on the same corridor:
RampRouter.compareQuotes fans one request out to both and returns live
rates sorted (verified: 100 BRL β 19.49 USDC Etherfuse vs 19.23 USDC Manteca).
They still expose completely different mental models (quote/order vs.
multi-stage synthetics + price locks) β the kit hides that behind one
interface, which is exactly the pain an app integrating ramps in the region
hits first.
| Etherfuse | Manteca | Kit exposes | |
|---|---|---|---|
| Pricing | quote (2 min expiry) | price lock (expireAt) | RampQuote.expiresAt + auto-refresh |
| Execution | order | ramp synthetic (stages) | RampOrder.status (one lifecycle) |
| Deposit info | CLABE / PIX charge on order | details.depositAddress | DepositInstructions |
| Stellar | trustlines, claimable balances, tx expiry | β | stellar.ts helpers |
Zero-setup path: pick "Mock provider" and walk the full flow immediately.
Real sandbox path (Stellar Testnet):
api_sand⦠key into the demo and connect Freighter (your
own wallet signs everything β or generate a throwaway test wallet; the
provider registration happens automatically). Run an onramp: quote β
order β simulate the incoming PIX β watch it settle on Stellar Testnet β
claim the delivered claimable balance with one click. Then flip to
Sell to go the other way: USDC β BRL with in-wallet signing, both
transactions linked to Stellar Expert for public verification.Manteca sandbox (https://sandbox.manteca.dev/crypto/v2) requires credentials
from the Manteca team; the adapter is implemented from their public docs and
ships with the same normalized lifecycle.
Note on API keys: a provider key identifies your business (its KYB, fees and settlement accounts) β there is one per app, held server-side, and end users never see it. They are customers under it, identified by
customerId. The demo asks you to paste a key only because whoever opens it is playing the role of the integrating developer.
You get partner keys from Etherfuse and/or Manteca once. Your users just click buy β they never see a key or an API.
Runnable in examples/backend-integration β
verified end to end against the real sandboxes with an empty client key:
quote β order β deposit β settled, while privileged endpoints (user
onboarding, company config, accounting) return 403 through the proxy.
The one piece that stays yours: onboarding each user with the provider
(KYC) to get their customerId. That's inherent to operating a ramp β from
quote onward the kit handles it.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/ramp-kit)<a href="https://allmcps.com/mcp/ramp-kit"><img src="https://allmcps.com/api/badge/ramp-kit?style=directory" alt="Ramp Kit on AllMCPs" /></a>