Know of an official OpenAPI document? Contribute it →
For Agents
Programmatically connect user to bringin or onboard new users, get user's kyc onboarding status. Covers 9 operations with apiKey, bearer authentication.
Use for: I need to connect user to bringin or onboard new users, I want to user's kyc onboarding status, Search for add beneficiary bank details, Find all all beneficiaries
Not supported: Does not handle payments, communications, or developer tools - use for crm only.
Bringin APIs Bringin APIs enable you to make Bitcoin on and off-ramp services available for your European customers. We provide a simple yet best-in-class crypto on and off-ramp solution with SEPA instant support at the best rates in the market. Use Cases 1. Offramp to bank directly This option is ideal if you want users to add a "Sell to bank" button - allowing users to offramp their Bitcoin to E. The API exposes 9 endpoints secured with apiKey, bearer authentication.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Bringin APIs, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fswaggerhub.bringin-a9e%2Fbringin-offramp" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fswaggerhub.bringin-a9e%2Fbringin-offramp" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Bringin APIs.
Connect user to Bringin or onboard new users
Get user's KYC onboarding status
Add beneficiary bank details
Create Offramp order
Monitor # Bringin APIs Bringin APIs enable you to make Bitcoin on and off-ramp services available for your European customers. We provide a simple yet best-in-class crypto on and off-ramp solution with SEPA instant support at the best rates in the market. ## Use Cases ### 1. Offramp to bank directly This option is ideal if you want users to add a "Sell to bank" button - allowing users to offramp their Bitcoin to Euros in their bank without any issues. A set of APIs to create an offramp order to convert incoming Bitcoin deposits into Euros into Bringin's IBAN for users to withdraw anytime. **For this use case, you only need to focus on the User Onboarding and Offramp sections.** #### Key Features: - Create an offramp order by providing IP, amount, beneficiary details. API returns a Bitcoin Address and a lightning invoice - Once we receive Bitcoin to the provided address or invoice, we swap BTC to Euros at market rate - You initiate a bank transfer to users bank ### 2. Offramp to Bringin (2 days integration) Connect to the Bringin account to offer Bringin vIBAN and debit cards. Please contact us at support@bringin.xyz for detailed documentation and integration support for this option. ## Authentication While the APIs are available to the public to build with, we provide an `api-key` and `api-secret` for each company to make secure API calls. ### Request Headers All API requests must be accompanied by the following headers: | Header Parameter | Description | |------------------|-------------| | `api-key` | Contact us at info@bringin.xyz to obtain API key | | `Authorization` | A signature generated using the API Secret. Contact us at info@bringin.xyz to obtain the API secret. More information is below on generating a signature | | `Content-Type` | `application/json` | ### Environments The sandbox and production environments mirror each other, except for the base URL and your API keys. Please contact us at info@bringin.xyz to elevate your application to production. ### Request Signature Calculation You can calculate the value of the `Authorization` header by creating a SHA256HMAC digest of your request body, signed with your `API Secret`, in the following manner: #### Step 1: Get current UNIX timestamp ```javascript const time = Date.now().toString(); ``` #### Step 2: Stringify request body ```javascript const bodyString = JSON.stringify(body); // For a GET request, please use an empty body such as: // const bodyString = JSON.stringify({}); ``` #### Step 3: Calculate MD5 digest of request body Calculate the hex encoded MD5 digest of your request body exactly as it will be sent. For GET requests, please include an empty body `'{}'` that evaluates to an MD5 of `99914b932bd37a50b983c5e7c90ae93b`. ```javascript const requestContentHexString = CryptoJS.MD5(bodyString).toString(CryptoJS.enc.Hex); // For a GET request, the bodyString above for example would just be '{}' // and the calculated MD5 is 99914b932bd37a50b983c5e7c90ae93b ``` #### Step 4: Concatenate signature components ```javascript const signatureRawData = time + 'POST' + '/card/create' + requestContentHexString; ``` #### Step 5: Create SHA256 HMAC digest Use your API Secret to create a SHA256 HMAC digest in hex: ```javascript const apiSecret = ''; const requestSignatureHexString = CryptoJS.HmacSHA256(signatureRawData, apiSecret).toString(CryptoJS.enc.Hex); ``` #### Step 6: Create authorization header Finally, create your authorization header as follows, using the verb `'HMAC '` concatenated with the timestamp and the `requestSignatureHexString`, separated by a `:` ```javascript const authorizationHeader = 'HMAC ' + time + ':' + requestSignatureHexString; ``` ### Complete Example ```javascript import crypto from 'crypto'; const hmac = crypto.createHmac('sha256', ''); const time = Date.now().toString(); hmac.update(time); hmac.update('POST'); hmac.update('/ping'); const contentHash = crypto.createHash('md5'); contentHash.update(JSON.stringify({ "dummy": 1, "data": 2 })); hmac.update(contentHash.digest('hex')); console.log(`HMAC ${time}:${hmac.digest('hex')}`); ``` operational status and events
Patterns agents use Bringin APIs for, with concrete tasks.
★ CRM Operations
Use the # Bringin APIs Bringin APIs enable you to make Bitcoin on and off-ramp services available for your European customers. We provide a simple yet best-in-class crypto on and off-ramp solution with SEPA instant support at the best rates in the market. ## Use Cases ### 1. Offramp to bank directly This option is ideal if you want users to add a "Sell to bank" button - allowing users to offramp their Bitcoin to Euros in their bank without any issues. A set of APIs to create an offramp order to convert incoming Bitcoin deposits into Euros into Bringin's IBAN for users to withdraw anytime. **For this use case, you only need to focus on the User Onboarding and Offramp sections.** #### Key Features: - Create an offramp order by providing IP, amount, beneficiary details. API returns a Bitcoin Address and a lightning invoice - Once we receive Bitcoin to the provided address or invoice, we swap BTC to Euros at market rate - You initiate a bank transfer to users bank ### 2. Offramp to Bringin (2 days integration) Connect to the Bringin account to offer Bringin vIBAN and debit cards. Please contact us at support@bringin.xyz for detailed documentation and integration support for this option. ## Authentication While the APIs are available to the public to build with, we provide an `api-key` and `api-secret` for each company to make secure API calls. ### Request Headers All API requests must be accompanied by the following headers: | Header Parameter | Description | |------------------|-------------| | `api-key` | Contact us at info@bringin.xyz to obtain API key | | `Authorization` | A signature generated using the API Secret. Contact us at info@bringin.xyz to obtain the API secret. More information is below on generating a signature | | `Content-Type` | `application/json` | ### Environments The sandbox and production environments mirror each other, except for the base URL and your API keys. Please contact us at info@bringin.xyz to elevate your application to production. ### Request Signature Calculation You can calculate the value of the `Authorization` header by creating a SHA256HMAC digest of your request body, signed with your `API Secret`, in the following manner: #### Step 1: Get current UNIX timestamp ```javascript const time = Date.now().toString(); ``` #### Step 2: Stringify request body ```javascript const bodyString = JSON.stringify(body); // For a GET request, please use an empty body such as: // const bodyString = JSON.stringify({}); ``` #### Step 3: Calculate MD5 digest of request body Calculate the hex encoded MD5 digest of your request body exactly as it will be sent. For GET requests, please include an empty body `'{}'` that evaluates to an MD5 of `99914b932bd37a50b983c5e7c90ae93b`. ```javascript const requestContentHexString = CryptoJS.MD5(bodyString).toString(CryptoJS.enc.Hex); // For a GET request, the bodyString above for example would just be '{}' // and the calculated MD5 is 99914b932bd37a50b983c5e7c90ae93b ``` #### Step 4: Concatenate signature components ```javascript const signatureRawData = time + 'POST' + '/card/create' + requestContentHexString; ``` #### Step 5: Create SHA256 HMAC digest Use your API Secret to create a SHA256 HMAC digest in hex: ```javascript const apiSecret = ''; const requestSignatureHexString = CryptoJS.HmacSHA256(signatureRawData, apiSecret).toString(CryptoJS.enc.Hex); ``` #### Step 6: Create authorization header Finally, create your authorization header as follows, using the verb `'HMAC '` concatenated with the timestamp and the `requestSignatureHexString`, separated by a `:` ```javascript const authorizationHeader = 'HMAC ' + time + ':' + requestSignatureHexString; ``` ### Complete Example ```javascript import crypto from 'crypto'; const hmac = crypto.createHmac('sha256', ''); const time = Date.now().toString(); hmac.update(time); hmac.update('POST'); hmac.update('/ping'); const contentHash = crypto.createHash('md5'); contentHash.update(JSON.stringify({ "dummy": 1, "data": 2 })); hmac.update(contentHash.digest('hex')); console.log(`HMAC ${time}:${hmac.digest('hex')}`); ``` to perform crm operations programmatically. The API provides 9 endpoints covering core functionality including connect user to bringin or onboard new users, get user's kyc onboarding status, add beneficiary bank details.
Call POST /api/v0/application/connect to connect user to bringin or onboard new users
Automated User Onboarding Management
Automate user onboarding operations by combining multiple # Bringin APIs Bringin APIs enable you to make Bitcoin on and off-ramp services available for your European customers. We provide a simple yet best-in-class crypto on and off-ramp solution with SEPA instant support at the best rates in the market. ## Use Cases ### 1. Offramp to bank directly This option is ideal if you want users to add a "Sell to bank" button - allowing users to offramp their Bitcoin to Euros in their bank without any issues. A set of APIs to create an offramp order to convert incoming Bitcoin deposits into Euros into Bringin's IBAN for users to withdraw anytime. **For this use case, you only need to focus on the User Onboarding and Offramp sections.** #### Key Features: - Create an offramp order by providing IP, amount, beneficiary details. API returns a Bitcoin Address and a lightning invoice - Once we receive Bitcoin to the provided address or invoice, we swap BTC to Euros at market rate - You initiate a bank transfer to users bank ### 2. Offramp to Bringin (2 days integration) Connect to the Bringin account to offer Bringin vIBAN and debit cards. Please contact us at support@bringin.xyz for detailed documentation and integration support for this option. ## Authentication While the APIs are available to the public to build with, we provide an `api-key` and `api-secret` for each company to make secure API calls. ### Request Headers All API requests must be accompanied by the following headers: | Header Parameter | Description | |------------------|-------------| | `api-key` | Contact us at info@bringin.xyz to obtain API key | | `Authorization` | A signature generated using the API Secret. Contact us at info@bringin.xyz to obtain the API secret. More information is below on generating a signature | | `Content-Type` | `application/json` | ### Environments The sandbox and production environments mirror each other, except for the base URL and your API keys. Please contact us at info@bringin.xyz to elevate your application to production. ### Request Signature Calculation You can calculate the value of the `Authorization` header by creating a SHA256HMAC digest of your request body, signed with your `API Secret`, in the following manner: #### Step 1: Get current UNIX timestamp ```javascript const time = Date.now().toString(); ``` #### Step 2: Stringify request body ```javascript const bodyString = JSON.stringify(body); // For a GET request, please use an empty body such as: // const bodyString = JSON.stringify({}); ``` #### Step 3: Calculate MD5 digest of request body Calculate the hex encoded MD5 digest of your request body exactly as it will be sent. For GET requests, please include an empty body `'{}'` that evaluates to an MD5 of `99914b932bd37a50b983c5e7c90ae93b`. ```javascript const requestContentHexString = CryptoJS.MD5(bodyString).toString(CryptoJS.enc.Hex); // For a GET request, the bodyString above for example would just be '{}' // and the calculated MD5 is 99914b932bd37a50b983c5e7c90ae93b ``` #### Step 4: Concatenate signature components ```javascript const signatureRawData = time + 'POST' + '/card/create' + requestContentHexString; ``` #### Step 5: Create SHA256 HMAC digest Use your API Secret to create a SHA256 HMAC digest in hex: ```javascript const apiSecret = ''; const requestSignatureHexString = CryptoJS.HmacSHA256(signatureRawData, apiSecret).toString(CryptoJS.enc.Hex); ``` #### Step 6: Create authorization header Finally, create your authorization header as follows, using the verb `'HMAC '` concatenated with the timestamp and the `requestSignatureHexString`, separated by a `:` ```javascript const authorizationHeader = 'HMAC ' + time + ':' + requestSignatureHexString; ``` ### Complete Example ```javascript import crypto from 'crypto'; const hmac = crypto.createHmac('sha256', ''); const time = Date.now().toString(); hmac.update(time); hmac.update('POST'); hmac.update('/ping'); const contentHash = crypto.createHash('md5'); contentHash.update(JSON.stringify({ "dummy": 1, "data": 2 })); hmac.update(contentHash.digest('hex')); console.log(`HMAC ${time}:${hmac.digest('hex')}`); ``` endpoints. Agents can get user's kyc onboarding status and then add beneficiary bank details in a single workflow.
Call GET /api/v0/user/kyc-status/{userId} to get user's kyc onboarding status, then verify the result
AI Agent Integration via Jentic
AI agents discover and call # Bringin APIs Bringin APIs enable you to make Bitcoin on and off-ramp services available for your European customers. We provide a simple yet best-in-class crypto on and off-ramp solution with SEPA instant support at the best rates in the market. ## Use Cases ### 1. Offramp to bank directly This option is ideal if you want users to add a "Sell to bank" button - allowing users to offramp their Bitcoin to Euros in their bank without any issues. A set of APIs to create an offramp order to convert incoming Bitcoin deposits into Euros into Bringin's IBAN for users to withdraw anytime. **For this use case, you only need to focus on the User Onboarding and Offramp sections.** #### Key Features: - Create an offramp order by providing IP, amount, beneficiary details. API returns a Bitcoin Address and a lightning invoice - Once we receive Bitcoin to the provided address or invoice, we swap BTC to Euros at market rate - You initiate a bank transfer to users bank ### 2. Offramp to Bringin (2 days integration) Connect to the Bringin account to offer Bringin vIBAN and debit cards. Please contact us at support@bringin.xyz for detailed documentation and integration support for this option. ## Authentication While the APIs are available to the public to build with, we provide an `api-key` and `api-secret` for each company to make secure API calls. ### Request Headers All API requests must be accompanied by the following headers: | Header Parameter | Description | |------------------|-------------| | `api-key` | Contact us at info@bringin.xyz to obtain API key | | `Authorization` | A signature generated using the API Secret. Contact us at info@bringin.xyz to obtain the API secret. More information is below on generating a signature | | `Content-Type` | `application/json` | ### Environments The sandbox and production environments mirror each other, except for the base URL and your API keys. Please contact us at info@bringin.xyz to elevate your application to production. ### Request Signature Calculation You can calculate the value of the `Authorization` header by creating a SHA256HMAC digest of your request body, signed with your `API Secret`, in the following manner: #### Step 1: Get current UNIX timestamp ```javascript const time = Date.now().toString(); ``` #### Step 2: Stringify request body ```javascript const bodyString = JSON.stringify(body); // For a GET request, please use an empty body such as: // const bodyString = JSON.stringify({}); ``` #### Step 3: Calculate MD5 digest of request body Calculate the hex encoded MD5 digest of your request body exactly as it will be sent. For GET requests, please include an empty body `'{}'` that evaluates to an MD5 of `99914b932bd37a50b983c5e7c90ae93b`. ```javascript const requestContentHexString = CryptoJS.MD5(bodyString).toString(CryptoJS.enc.Hex); // For a GET request, the bodyString above for example would just be '{}' // and the calculated MD5 is 99914b932bd37a50b983c5e7c90ae93b ``` #### Step 4: Concatenate signature components ```javascript const signatureRawData = time + 'POST' + '/card/create' + requestContentHexString; ``` #### Step 5: Create SHA256 HMAC digest Use your API Secret to create a SHA256 HMAC digest in hex: ```javascript const apiSecret = ''; const requestSignatureHexString = CryptoJS.HmacSHA256(signatureRawData, apiSecret).toString(CryptoJS.enc.Hex); ``` #### Step 6: Create authorization header Finally, create your authorization header as follows, using the verb `'HMAC '` concatenated with the timestamp and the `requestSignatureHexString`, separated by a `:` ```javascript const authorizationHeader = 'HMAC ' + time + ':' + requestSignatureHexString; ``` ### Complete Example ```javascript import crypto from 'crypto'; const hmac = crypto.createHmac('sha256', ''); const time = Date.now().toString(); hmac.update(time); hmac.update('POST'); hmac.update('/ping'); const contentHash = crypto.createHash('md5'); contentHash.update(JSON.stringify({ "dummy": 1, "data": 2 })); hmac.update(contentHash.digest('hex')); console.log(`HMAC ${time}:${hmac.digest('hex')}`); ``` endpoints through Jentic without managing credentials directly. An agent searches for the required operation by intent, receives the matching endpoint schema, and executes the call with Jentic-managed authentication. This eliminates the need to read API documentation or handle apiKey, bearer tokens manually.
Search Jentic for 'connect user to bringin or onboard new users', load the operation schema, and execute with Jentic-managed credentials
9 endpoints — bringin apis bringin apis enable you to make bitcoin on and off-ramp services available for your european customers.
METHOD
PATH
DESCRIPTION
/api/v0/application/connect
Connect user to Bringin or onboard new users
/api/v0/user/kyc-status/{userId}
Get user's KYC onboarding status
/api/v0/user/beneficiary
Add beneficiary bank details
/api/v0/user/beneficiary/{userId}
Get all beneficiaries
/api/v0/offramp/rates
Get offramp exchange rates
/api/v0/offramp/
Create Offramp order
/api/v0/offramp/order/get-details
Get offramp order status
/api/v0/offramp/transfer/initiate
Initiate bank transfer
/api/v0/application/connect
Connect user to Bringin or onboard new users
/api/v0/user/kyc-status/{userId}
Get user's KYC onboarding status
/api/v0/user/beneficiary
Add beneficiary bank details
/api/v0/user/beneficiary/{userId}
Get all beneficiaries
/api/v0/offramp/rates
Get offramp exchange rates
/api/v0/offramp/
Create Offramp order
/api/v0/offramp/order/get-details
Get offramp order status
/api/v0/offramp/transfer/initiate
Initiate bank transfer
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the Bringin offramp API by hand means learning its HMAC api-key signature plus JWT bearer auth, choosing among the API and sandbox bringin.xyz hosts, and handling retries yourself. Through Jentic you install once, import the Bringin offramp API from the API Directory, store the key once, and your agent calls it.
Permission scoping
The API puts the user id in the URL path (/api/v0/user/kyc-status/{userId}, /api/v0/user/beneficiary/{userId}), so a rule can pin your agent to one user's KYC and beneficiary reads. You choose the operations it may call, so initiating a transfer with POST /api/v0/offramp/transfer/initiate is not included unless you add it.
Credential isolation
Your Bringin API key and token are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'get offramp rates' or 'add a beneficiary', and Jentic returns the matching Bringin offramp operation with its input schema so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using Bringin APIs through Jentic.
What authentication does the Bringin APIs use?
The Bringin APIs uses apiKey, bearer authentication. Through Jentic, these credentials are stored encrypted in your Jentic One instance and injected at execution time, so raw secrets never enter the agent context.
Can I connect user to bringin or onboard new users with the Bringin APIs?
Yes. Use the POST /api/v0/application/connect endpoint. The API returns structured JSON responses that agents can parse and act on directly.
What are the rate limits for the Bringin APIs?
Rate limits are not specified in the OpenAPI spec. Check the vendor documentation for current limits. Through Jentic, rate limiting is handled automatically with retry logic built into the execution layer.
How do I integrate Bringin APIs through Jentic?
Install the Jentic SDK with pip install jentic, authenticate through Jentic One, the self-hosted execution layer, then search for the operation you need. Jentic returns the matching Bringin APIs operation with its input schema. Load the schema and execute the call - credentials are injected automatically.
How many endpoints does the Bringin APIs have?
The Bringin APIs exposes 9 endpoints covering user onboarding, bank beneficiaries, offramp operations.
Can I limit what my agent is allowed to do with the Bringin APIs?
Yes. Because you run Jentic One yourself, your own rules decide which Bringin operations and credentials the agent may use. Since the API carries the user id in the URL path, such as /api/v0/user/kyc-status/{userId} and /api/v0/user/beneficiary/{userId}, you can pin the agent to one user's KYC and beneficiary reads. Write actions like POST /api/v0/offramp/transfer/initiate are only available if you explicitly add them, so an agent cannot move funds unless you allow it.
GET STARTED