Manteca
Manteca is a Buenos Aires-based B2B financial-infrastructure provider whose crypto API lets fintechs embed on/off ramps across 12 LatAm markets. In Brazil it ramps Brazilian reais (BRL) to USDC on Stellar via PIX, orchestrating fiat deposit, conversion, and crypto settlement in a single "synthetic" operation.
Regions
Currency
COP
Rail
breb
Token
USDC
KYC
Required
Integration Flow
On-Ramp
- Onboard User — Create the end-user and submit their CPF; Manteca runs KYC and auto-populates personal data for Brazil.
- Get Quote — Read the USDC_BRL price and fee to estimate the conversion.
- Create Ramp-On Synthetic — Create a ramp-on synthetic with the Stellar destination; receive PIX deposit instructions.
- Pay via PIX — The user pays the PIX deposit to trigger the synthetic; the sandbox detects it automatically.
- Receive USDC — Manteca converts BRL to USDC and settles it to the user’s Stellar address; poll until COMPLETED.
Off-Ramp
- Onboard User — Create and KYC the end-user (CPF) if not already active.
- Validate PIX Key — Resolve the payout PIX key to confirm the recipient name and masked legal ID.
- Create Ramp-Off Synthetic — Create a ramp-off synthetic with the PIX key as destination; receive the Stellar deposit address.
- Send USDC — Sign and submit the USDC payment to the Manteca Stellar address with Freighter.
- Receive BRL — Manteca sells USDC and pays out BRL via PIX; poll the synthetic until COMPLETED.
Developer Onboarding
- Contact Manteca to obtain sandbox API keys (not self-serve) and an integration manager. ↗
- Authenticate every request with the static `md-api-key` header — no OAuth, no token refresh.
- Onboard end-users programmatically via POST /crypto/v2/onboarding-actions/initial with a nested personalData object. In Brazil, name, surname, phoneNumber, nationality, and address.street are enough; the CPF fills the rest. Use the missing-personal-data endpoint to check what is pending, then poll the user until ACTIVE.
- Send an externalId on every ramp. A retried create returns 409 SYNTHETIC_EXISTS, and the original is fetchable by that externalId.
Known Issues
- Argentina and Colombia sandbox onboarding only accept Manteca’s seeded test identities, each single-use. Brazil accepts any valid CPF.
- Argentina onboarding requires an identity-document upload (plus a selfie where requested) before the account can operate. Brazil and Colombia require one once cumulative amounts pass a threshold.
- Colombia off-ramp uses a structured bank destination (account number, bank, account type). Manteca’s docs list different bank codes than the live bank endpoint; the app follows the live list.
- Several request/response shapes were corrected against the live sandbox after building from the docs (pricing, onboarding, deposit instructions, and field enums).
- Competitive rates are unverified. Sandbox prices already include Manteca’s spread (USDC/BRL buy and sell ~2.4% apart), so the production spread (~50–60 bps per survey) needs a live account.
- Sandbox Brazil PIX and Colombia BRE-B deposits settle automatically. Argentina’s CVU deposit is simulated with the sandbox create-deposit action (the Simulate deposit button).
- Ramp creation is idempotent on externalId, so the app reuses one per attempt and retries safely. A failed stage is retried by Manteca for several minutes before the ramp is cancelled.
- In sandbox, the off-ramp’s fiat payout can stall at the withdraw stage after the USDC is received and sold.
- Each user gets a per-user muxed Stellar deposit address with no separate memo.
- Liquidity depth is unverified — no public volume figures, though the July 2025 Bybit partnership suggests meaningful scale.
Links
- website: https://manteca.dev
- documentation: https://developers.manteca.dev
- api reference: https://developers.manteca.dev/llms.txt