Account, and sent your first Transfer. The examples cover Mexico and Chile. Pick the tab for the country your organization operates in.
Step 1: Get your test API keys
In the dashboard, go to Developers → API Keys. You’ll see keys fortest (sk_test_...) and live (sk_live_...) modes. Copy the test secret key.
Step 2: Register JWS keys
Money-moving endpoints require signed requests. These endpoints create transfers, return transfers, or verify a standardized Mexican bank account number. Follow Generate JWS keys to create a key pair and upload the public key. Return to this page when you’re done.Step 3: List your accounts
Every organization starts with a rootAccount. In Mexico, a root Account is also known as Centro de Costos. Fetch the root account with a GET request to /v2/accounts:
cURL
currency and the shape of root_account_number depend on the country of your organization:
Use an SDK
If you’re using Node or Python, install the Node SDK or Python SDK to call the API. The SDK signs each request with JWS and handles pagination. Install an SDK:id (acc_...) and root_account_number_id (acno_...) from the response. Use root_account_number_id to fund the test Account. Use id to create the outbound Transfer.
Step 4: Fund your test account
Your testAccount starts empty. Simulate an inbound transfer so you have money to send:
Transfer that funds your Account:
Step 5: Send your first transfer
Create an outboundTransfer from the test Account you funded.
In Mexico, the counterparty needs only the recipient’s standardized Mexican bank account number (CLABE). In Chile, the counterparty also needs the recipient’s Chilean tax ID (RUT), name, account type, and institution:
Transfer you created:
Step 6: Create a webhook endpoint
Webhooks notify your server when a transfer settles, so you don’t need to poll for status. Go to Developers → Webhooks in the dashboard. Add your URL, then subscribe totransfer.inbound.succeeded and transfer.outbound.succeeded.
Test the integration
Confirm the full flow worked end to end:- After Step 4, list your accounts again and confirm
available_balanceincreased by59013. - Confirm the Step 5 transfer returns
"status": "succeeded". - After Step 6, repeat Steps 4 and 5. Confirm your endpoint receives a
transfer.outbound.succeededwebhook for the new outbound transfer.