- Configure JSON Web Signature (JWS) signing keys and generate a JWS signature.
- Add funds to the account’s
root_account_number. - Create a transfer from your backend using your Secret Key and a JWS signature.
- Monitor transfer status.

Step 1: Configure JWS signing keys and generate a JWS signature
Every request to a Fintoc Transfers API endpoint requires a JWS signature. JWS digitally signs data to verify its integrity and authenticity. To sign an API request, follow the JWS signature guide.Step 2: Add funds to Fintoc
Before creating transfers, deposit funds into yourAccount through its root_account_number. The deposit appears as an inbound transfer.
Step 3: Create a transfer
After you add funds to your account, create a transfer from your backend. Include your test Secret Key, JWS signature, origin account, amount, currency, and counterparty. The following examples show successful transfer responses. To test other terminal outcomes, use the table in Test the integration.Use an idempotency key
Fintoc supports idempotency so you can retry transfers without creating duplicates. Use an idempotency key when creating a transfer. If a connection error occurs, retry the request with the same key. To make an idempotent request, include theIdempotency-Key header. See Idempotent requests for details.
Create a transfer for Mexico 🇲🇽
Here is an example that creates a transfer of 590.13 is the integer59013.
curl
Node
Python
Add
institution_id for mobile numbers and debit cardsWhen transferring to a standardized Mexican bank account number (CLABE), you do not need institution_id. Fintoc determines the institution from the CLABE. For a mobile phone number or debit card, include the five-digit institution_id from the Banco de México institution list. Otherwise, the API returns a 400 Bad Request error.Counterparty object requires one attribute:
Create a transfer for Chile 🇨🇱
Here is an example that creates a transfer of $1,869 CLP. Because CLP has no minor unit, theamount field is the same integer, 1869.
curl
Node
Python
Counterparty object requires five attributes:
Step 4: Monitor transfer status
Transfer status flow
A transfer’s status is one ofpending, succeeded, failed, returned, return_pending, or rejected. For more details on transfer statuses, see the Transfers data model.
Monitor status using webhooks
Fintoc sends atransfer.outbound.succeeded event when the transfer settles. Use the webhook guide to receive these events. You can then notify your customer or log the transfer in your ERP.
We recommend handling the following events:
Webhooks may arrive out of orderFor example, a
transfer.outbound.rejected event can arrive before the same transfer’s transfer.outbound.succeeded event. The transfer still succeeded before it was rejected.Test the integration
Use your test Secret Key (sk_test_...) to run transfers in test mode without moving real money. Every response sets mode to test.
In test mode, a transfer reaches the same terminal statuses as in production. Predefined inputs do not force an outcome. The outcome depends on how the receiving party resolves the transfer. Use these three terminal statuses to confirm your webhook handling: