First rail in production: Argentina
B2B payment rails for your system.
Payment accounts in Argentine pesos with a CVU (an Argentine virtual account number), immediate transfers through COELSA (the Argentine clearing house), holder validation, and signed events and webhooks. One API, one stable contract.
POST /v1/outgoing_transfers HTTP/1.1
Host: empresas-sandbox.fcmpayments.com
Authorization: Bearer fcm_test_…
Content-Type: application/json
Idempotency-Key: 7c1d9a54-…
Content-Digest: sha-256=:…:
Signature-Input: sig1=("@method" "@target-uri" "content-type"
"content-digest" "idempotency-key");created=…;nonce="…";keyid="ck_…";alg="ed25519"
Signature: sig1=:…:
{"account_id":"acc_…","amount":100000,"currency":"ARS",
"destination":{"type":"alias","value":"sbx.valida"},
"expected_counterparty_cuit":"27000000006"}
What Grip Rails does
Peso accounts with a CVU
Each account has its balance, read from the ledger at the time of the request, and one or more CVUs.
- GET
/v1/accounts - GET
/v1/account_numbers
- GET
Immediate transfers through COELSA
Outgoing to any Argentine bank account (CBU), virtual account (CVU) or alias, with authorization and a hold before moving a single peso. Incoming, each credit posted with its event.
- POST
/v1/outgoing_transfers - GET
/v1/incoming_transfers
- POST
Holder validation
Before sending, you confirm that the destination exists, is active and belongs to whom you expect.
- POST
/v1/counterparty_validations
- POST
Signed events and webhooks
A contiguous sequence per entity to reconcile without gaps. Webhooks signed with JWS and keys published in a JWKS.
- GET
/v1/events - GET
/.well-known/jwks.json
- GET
Idempotency on every write
Every POST carries an Idempotency-Key. If the response is lost, you repeat the same request with the same key.
- GET
/v1/idempotency_keys/{key}
- GET
Sandbox with simulations
Incoming credits, rail results and its own clock to test every path without real money.
- POST
/v1/simulations/incoming_transfers - POST
/v1/simulations/clock/advance
- POST
Before you write code
- Amounts
- Integers in cents of Argentine pesos:
150000is ARS 1,500.00. The only currency isARS. - Authentication
- An API key in
Authorization: Bearerand an HTTP signature (RFC 9421) on every request with your Ed25519 or P-256 private key. The private key never leaves your system. - Idempotency
Idempotency-Keyrequired on everyPOST. Never make up a new key to retry.- Reconciliation
GET /v1/events?after_sequence=N. The sequence is contiguous per entity: if you received 41 and then 43, you are missing 42.- Errors
- An
errorobject withtype,code,messageandretryable. Ifretryableistrue, repeat the same request with the same key.
Environments
| Environment | Base URL | |
|---|---|---|
| Production | https://api.fcmpayments.com | Production. Real money; transfers through COELSA are irreversible. Enabled per client. |
| Sandbox | https://empresas-sandbox.fcmpayments.com | Sandbox. Simulated ledger and rail; it never moves real money. |
Where to go next
- QuickstartFrom onboarding to the first credit and the first transfer in the sandbox.
- Integration guideEnvironments, signing, 201/202/422 transfers, webhooks and conformance.
- API referenceEvery endpoint, schema, error and webhook, generated from the contract.
- Webhooks and signaturesSign requests and verify webhooks in TypeScript, Python and Go.
- Agents (MCP)Connect your coding agent to the sandbox: it operates the API, helps you integrate and diagnoses errors.