> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blnkfinance.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Getting Started with Blnk

> The developer-first toolkit for building compliant financial products.

## Overview

This is your guide to getting started with Blnk, pronounced as `/blank/`. If you are new to Blnk or [open-source fintech developer tools](https://blnkfinance.com), this is where you should start.

<img src="https://mintcdn.com/blnk/y5DTFdXti1lS2RbI/images/docs-banner.png?fit=max&auto=format&n=y5DTFdXti1lS2RbI&q=85&s=e6a8bc113f108c52a5d36ccf3b85cc9a" alt="" width="1920" height="886" data-path="images/docs-banner.png" />

***

## 1: Installation Guide

<Tabs>
  <Tab title="Self-hosted" icon="server">
    Manually install Blnk on your own infrastructure. This option requires Docker and Docker Compose.

    <Steps titleSize="h3">
      <Step title="Install prerequisites">
        Make sure you have [Docker](https://www.docker.com/) and [Compose](https://docs.docker.com/compose/) installed and running on your machine.
      </Step>

      <Step title="Clone the repository">
        Clone the Blnk repository into your machine:

        ```bash bash theme={"system"}
        git clone https://github.com/blnkfinance/blnk && cd blnk
        ```
      </Step>

      <Step title="Create configuration file">
        Create a configuration file, `blnk.json`:

        ```bash bash theme={"system"}
        touch blnk.json
        ```
      </Step>

      <Step title="Configure Blnk">
        Copy and save the following configuration:

        ```json blnk.json theme={"system"}
        {
          "project_name": "Blnk",
          "data_source": {
            "dns": "postgres://postgres:password@postgres:5432/blnk?sslmode=disable"
          },
          "redis": {
            "dns": "redis:6379"
          },
          "typesense": {
            "dns": "http://typesense:8108"
          },
          "server": {
            "port": "5001"
          }
        }
        ```
      </Step>

      <Step title="Start Blnk server">
        Start your Blnk server with Docker compose:

        ```bash bash theme={"system"}
        docker compose up
        ```

        <Check>
          Your Blnk server is now running! You can verify it's working by visiting `http://localhost:5001` in your browser.
        </Check>
      </Step>
    </Steps>
  </Tab>

  <Tab title="Cloud hosting" icon="cloud">
    Get started quickly with Blnk's managed cloud hosting. No infrastructure setup required—just sign up and start building.

    <Steps titleSize="h3">
      <Step title="Sign up to Blnk Cloud">
        If you don't have a Blnk Cloud account yet, sign up at [cloud.blnkfinance.com](https://cloud.blnkfinance.com) to create your workspace.

        <img src="https://mintcdn.com/blnk/uvTYMgSU3UZmOa2s/images/home/signup-login.png?fit=max&auto=format&n=uvTYMgSU3UZmOa2s&q=85&s=4c6623f75d47f7085a5b768f6758fc38" alt="Sign up to Blnk Cloud" width="3396" height="1960" data-path="images/home/signup-login.png" />
      </Step>

      <Step title="Create an instance on Cloud">
        On the homepage, click on **Deploy new Core**.

        <img src="https://mintcdn.com/blnk/uvTYMgSU3UZmOa2s/images/home/cloud-home.png?fit=max&auto=format&n=uvTYMgSU3UZmOa2s&q=85&s=8cd4dee4325381a87c76aa057cd8f0c2" alt="Settings > Instances page showing the Connect new instance button" data-og-width="3022" width="3022" data-og-height="2032" height="2032" data-path="images/home/cloud-home.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/blnk/uvTYMgSU3UZmOa2s/images/home/cloud-home.png?w=280&fit=max&auto=format&n=uvTYMgSU3UZmOa2s&q=85&s=a41ec7afb3a856da256fc225d9fbbb2f 280w, https://mintcdn.com/blnk/uvTYMgSU3UZmOa2s/images/home/cloud-home.png?w=560&fit=max&auto=format&n=uvTYMgSU3UZmOa2s&q=85&s=910b92884aee7a8275806585f5d2dd04 560w, https://mintcdn.com/blnk/uvTYMgSU3UZmOa2s/images/home/cloud-home.png?w=840&fit=max&auto=format&n=uvTYMgSU3UZmOa2s&q=85&s=f1cba755ecd44abf809f6922a196cbd4 840w, https://mintcdn.com/blnk/uvTYMgSU3UZmOa2s/images/home/cloud-home.png?w=1100&fit=max&auto=format&n=uvTYMgSU3UZmOa2s&q=85&s=71ad065a87a9b1c0f553f19ac1b45a67 1100w, https://mintcdn.com/blnk/uvTYMgSU3UZmOa2s/images/home/cloud-home.png?w=1650&fit=max&auto=format&n=uvTYMgSU3UZmOa2s&q=85&s=dec50e8be74d5b40fd8dda07fb45b5c8 1650w, https://mintcdn.com/blnk/uvTYMgSU3UZmOa2s/images/home/cloud-home.png?w=2500&fit=max&auto=format&n=uvTYMgSU3UZmOa2s&q=85&s=80d85d80979953b564fa0f5ad3cf392c 2500w" />
      </Step>

      <Step title="Provide instance details">
        Choose a descriptive name for your instance (e.g., "Production", "Staging"). Next, click on **Deploy managed Core**.

        <img src="https://mintcdn.com/blnk/uvTYMgSU3UZmOa2s/images/home/managed-instance-form.png?fit=max&auto=format&n=uvTYMgSU3UZmOa2s&q=85&s=83fd5c152bc2effb592c2a2cb72a4f19" alt="Instance creation form with Deploy managed Core option" width="3392" height="2022" data-path="images/home/managed-instance-form.png" />
      </Step>

      <Step title="Verify connection">
        It takes about 7-10 minutes to deploy your instance and get it ready for use.

        When it is ready, the connection status is updated to **Connected** and you can start using your instance.

        <Check>
          Your Blnk instance is now running! View the instance details to get your Core URL and secret key for making requests via the Core API.
        </Check>
      </Step>
    </Steps>
  </Tab>
</Tabs>

***

## 2: Create your first transaction

Now that Blnk is running, let's create your first transaction. Blnk uses the [double entry principle](/guides/double-entry) to record transactions, which means every transaction must have a source and destination.

<CodeGroup>
  ```bash cURL theme={"system"}
  curl -X POST 'http://localhost:5001/transactions' \
    -H 'X-blnk-key: <api-key>' \
    -H 'Content-Type: application/json' \
    -d '{
      "amount": 1000,
      "reference": "first_transaction_001",
      "currency": "USD",
      "precision": 100,
      "source": "@FundingPool",
      "destination": "@MyBalance",
      "description": "My first Blnk transaction",
      "allow_overdraft": true,
      "meta_data": {}
    }'
  ```

  ```json Response theme={"system"}
  {
    "id": "txn_6164573b-6cc8-45a4-ad2e-7b4ba6a60f7d",
    "source": "@FundingPool",
    "destination": "@MyBalance",
    "reference": "first_transaction_001",
    "amount": 1000,
    "precision": 100,
    "precise_amount": 100000,
    "currency": "USD",
    "description": "My first Blnk transaction",
    "allow_overdraft": true,
    "status": "QUEUED",
    "created_at": "2024-12-21T01:36:46.997063436Z",
    "meta_data": {}
  }
  ```
</CodeGroup>

<Check>
  Congratulations! You've successfully created your first transaction in Blnk.
</Check>

Finally, let's view our balances to confirm that the transaction was recorded:

<CodeGroup>
  ```bash cURL theme={"system"}
  curl -X GET 'http://localhost:5001/balances'
  ```

  ```json Response theme={"system"}
  {
    "balances": [
      {
        "balance": -1000,
        "version": 1,
        "inflight_balance": 0,
        "credit_balance": 0,
        "inflight_credit_balance": 0,
        "debit_balance": 1000,
        "inflight_debit_balance": 0,
        "queued_credit_balance": 0,
        "queued_debit_balance": 0,
        "precision": 100,
        "ledger_id": "ldg_073f7ffe-9dfd-42ce-aa50-d1dca1788adc",
        "identity_id": "",
        "balance_id": "bln_ebcd230f-6265-4d4a-a4ca-45974c47f746",
        "indicator": "@FundingPool",
        "currency": "USD",
        "created_at": "2024-12-21T01:36:46.997063436Z",
        "meta_data": null
      },
      {
        "balance": 1000,
        "version": 1,
        "inflight_balance": 0,
        "credit_balance": 1000,
        "inflight_credit_balance": 0,
        "debit_balance": 0,
        "inflight_debit_balance": 0,
        "queued_credit_balance": 0,
        "queued_debit_balance": 0,
        "precision": 100,
        "ledger_id": "ldg_073f7ffe-9dfd-42ce-aa50-d1dca1788adc",
        "identity_id": "",
        "balance_id": "bln_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "indicator": "@MyBalance",
        "currency": "USD",
        "created_at": "2024-12-21T01:36:46.997063436Z",
        "meta_data": null
      }
    ]
  }
  ```
</CodeGroup>

This will return a list of all balances in your system. You should see the `@FundingPool` balance (which will be negative since it funded the transaction) and the `@MyBalance` balance (which will show the amount we transferred).

***

## 3: View your ledger (optional)

See your new balances and transaction in your [Blnk Cloud dashboard](https://cloud.blnkfinance.com).

<iframe className="w-full aspect-video rounded-xl" src="https://www.youtube.com/embed/lRY2U0Sxakc" title="View Your Ledger on Blnk Cloud | Blnk Developer Docs" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />

<Tip> To learn more about navigating your ledger, see our [Blnk Cloud guide.](https://guide.cloud.blnkfinance.com) </Tip>

> You've successfully completed the Blnk getting started guide! You now have a working Blnk instance with your first transaction recorded.

***

## Key concepts

Now that you're set up, start with these key concepts to build your application:

<CardGroup cols={2}>
  <Card title="Ledgers" icon="book-open" href="/ledgers/introduction">
    Organize your ledger according to your business/application needs.
  </Card>

  <Card title="Balances" icon="wallet" href="/balances/introduction">
    Create and manage balances for wallets, accounts, and any store of value.
  </Card>

  <Card title="Transactions" icon="arrow-left-right" href="/transactions/introduction">
    Create any transaction workflow with Blnk.
  </Card>

  <Card title="Identities" icon="user" href="/identities/introduction">
    Create, manage and link identities securely to balances.
  </Card>
</CardGroup>

***

## Need help?

We are very happy to help you make the most of Blnk, regardless of whether it is your first time or you are switching from another tool.

To ask questions or discuss issues, please [contact us](mailto:support@blnkfinance.com) or [join our Discord community](https://discord.gg/7WNv94zPpx).

***

<Tip>
  **Tip:** Connect to Blnk Cloud to see your Core data.

  You can view your transactions, manage identities, create custom reports, invite other team members to collaborate, and perform operations on your Core — all in one dashboard.

  [Check out Blnk Cloud →](https://www.blnkfinance.com/products/cloud)
</Tip>
