https://api.finrock.io.
Before you begin: add an API user
To use the Finrock API, you need an API user in your Finrock workspace. The API user is what gives your application API access, and it controls which sub-accounts your application can use.1
Add a new user
In the Finrock dashboard, go to Users, click Add new user, and select API User.
2
Enter a title
Give the API user a name you’ll recognise, such as the name of your app or environment (for example
Production backend).3
Add your public key
Under Public Key (RSA 4096), add your public key. You have two options:
- Generate keys on your own machine, then paste or Upload your public key. The Generate Your RSA Key Pair tab below shows how.
- Generate keys in Finrock: click Generate and the Finrock dashboard creates the key pair for you.
4
Choose sub-accounts
Under Sub Accounts, select the sub-accounts this API user can access, such as Main Account.
5
Save and get approval
Click Save. The owner, or at least 2 admins, must approve the new API user before it can make API requests. Once approved, the API user shows as Active in your users list.
6
Copy your API key
In your users list, find the API user and click the key icon. Copy the API key using the copy button next to it. It looks like
4466c45a-7b28-4c50-a0f7-198f8d7f34c5.In the same window, you can add your server’s IP addresses under IP Whitelist so only those addresses can use this API user. See Whitelist IPs.- Generate Your RSA Key Pair
- Get Your API Key
- Build and Sign Your JWT
Finrock authenticates API requests using JWT tokens signed with your RSA-4096 private key. You share the public key with Finrock; your private key never leaves your infrastructure.Run the following commands to generate a 4096-bit RSA key pair:This produces two files:
private_key.pem: your signing key. Store it securely and never commit it to source control. Do not share it with anyone, not even with Finrock.public_key.pem: paste this key in Finrock when adding an API user.
Make Your First Requests
1
Create a Wallet
With your credentials ready, create your first MPC wallet by posting an asset identifier to the Create Wallet endpoint. Finrock provisions the wallet and distributes key shares across your configured MPC nodes.Replace
<JWT> with a token generated for the URI /dac/v1/wallet and the body {"asset":"BTC"}. Replace <your-api-key> with your API Key UUID.On success you receive a 200 response containing the wallet ID and asset details. Save the wallet ID — you will reference it when generating addresses and submitting transactions.The
asset value must match an entry from the supported assets list. Use the exact asset identifier string shown there, for example BTC, ETH, or SOL.2
Generate a Deposit Address
Generate a blockchain address under your new wallet to start receiving funds. Each address can be labelled to track its purpose and optionally configured for automatic gas refills.The
label field helps you identify the address’s purpose later. Setting omnibus: false creates an isolated address dedicated to a single wallet. Set auto_refill: true if you want Finrock to automatically fund gas from your Gas Tank when this address initiates EVM transactions.The response includes the generated blockchain address string that you can share with depositors or use in your payment flows.3
Send a Transaction
Submit an outbound transaction from your wallet using the transaction endpoint. Finrock coordinates the MPC signing ceremony across your nodes and broadcasts the signed transaction to the network.Key fields in the transaction request:
The response returns a transaction ID and initial status. Transaction signing and network broadcast happen asynchronously; use webhooks to track completion.
Next Steps
You have completed the core integration flow. Explore these topics to build out the rest of your integration:Authentication Deep Dive
Understand every JWT field, see multi-language code snippets, and review security best practices.
Gas Tanks
Learn how to fund and manage gas tanks so EVM transactions always have enough gas.
AML Controls
Integrate address screening and automatic transaction blocking for compliance.
Webhooks
Subscribe to transaction and wallet events for real-time updates in your application.
Connect Claude to Finrock MCP
Building with an AI agent? Connect Claude to the Finrock MCP server to generate working integrations.

