Sandbox Live — v1.0

Build with Serbia's
Banking Infrastructure

One API key. Serbian banks. Account data, transactions, and identity verification — free sandbox today, live bank data coming soon.

6 Serbian banks planned at launch
6 API products
1 API key to connect them all
< 5 min Time to first sandbox call

Serbia's leading banks — coming soon

Everything you need to build
with financial data

Six API products that give your app access to Serbian bank accounts — from balances to enriched transaction history. All six run today against sandbox data; live bank data unlocks once our NBS licence is granted.

Transactions

Full transaction history with cursor-based sync. Merchant names are automatically enriched — raw codes become clean, readable names.

Balance

Account balances across all connected accounts. Current and available balances, updated whenever your user's bank reports changes.

Identity

Verified account holder information — name, phone, email, and address — directly from the bank. Perfect for KYC and onboarding flows.

Auth

Bank-verified IBAN and BIC codes. Confirm that an account really belongs to your user, without asking them to type it in.

Recurring

Automatically detect recurring payments — subscriptions, rent, salary, utility bills. Categorized and tracked across all connected accounts.

Webhooks

Real-time event notifications. Get alerted when transactions sync, connections change, or auth completes — no polling required.

Built for developers
who ship fast

Clean REST API, predictable responses, detailed error codes. Get from zero to your first sandbox call in a single afternoon.

API Reference Try Link Widget
fetch-transactions.sh
# Fetch enriched transactions
curl https://api.opendinar.com/accounts/{account_id}/transactions \
  -H "Authorization: Bearer $OPENDINAR_KEY" \
  -H "Content-Type: application/json"

# Response — merchant names auto-enriched:
# {
#   "amount": -2450.00,
#   "currency": "RSD",
#   "merchant": "Amazon",
#   "category": "Shopping",
#   "date": "2026-04-03"
# }
fetch-transactions.js
// Fetch enriched transactions
const response = await fetch(
  'https://api.opendinar.com/accounts'
    + '/{account_id}/transactions',
  {
    headers: {
      'Authorization': `Bearer ${apiKey}`,
      'Content-Type': 'application/json'
    }
  }
);

const { transactions } = await response.json();

// Each transaction is enriched
// "AMZN*5G7K2" → "Amazon"
console.log(transactions[0]);
// { amount: -2450.00, currency: "RSD", merchant: "Amazon" }
fetch_transactions.py
import requests

headers = {"Authorization": f"Bearer {api_key}"}
url = f"https://api.opendinar.com/accounts/{account_id}/transactions"

res = requests.get(url, headers=headers)
transactions = res.json()["transactions"]

# Each transaction is enriched automatically
print(transactions[0])
# {"amount": -2450.00, "currency": "RSD",
#  "merchant": "Amazon", "category": "Shopping"}

Three steps to financial data

No bank partnerships needed. No months of integration. Just an API key and a few lines of code.

1

Get your API key

Sign up on the dashboard, create a project, and get your sandbox API key in under a minute.

2

User connects their bank

Embed our Link Widget in your app. Your users select their bank and securely authorize access.

3

Access financial data

Call our API to read balances, transactions, identity, and more. Clean, structured, ready to use.

Infrastructure you can rely on

Bank-grade security, real-time data, and intelligent enrichment — built specifically for the Serbian financial ecosystem.

Transaction Enrichment

Raw bank codes are automatically cleaned and enriched. Every transaction gets a human-readable merchant name, category, and logo — out of the box, no extra work needed.

Recurring Detection

Subscriptions, rent, salary, and utility bills are automatically identified and tracked. Build budgeting tools, spending insights, or cash flow projections with zero manual tagging.

Real-Time Webhooks

No polling. Webhooks fire the moment something changes — new transactions, completed auth, revoked connections. Every payload is HMAC-signed for verification.

Security by Default

HMAC-signed webhook payloads, hashed API keys, per-user consent with expiry, and TLS-encrypted connections. Read exactly what is and is not in place on our Security page.

Built for every fintech vertical

Whether you're building a budgeting app, a lending platform, or a payroll tool — OpenDinar gives you the bank data layer you need.

Personal Finance

Build budgeting apps, spending trackers, and financial dashboards. Pull transactions, detect subscriptions, and categorize spending automatically.

Transactions Balance Recurring

Lending & Credit

Assess creditworthiness with real bank data. Verify income, analyze cash flow, and make smarter underwriting decisions — faster than traditional methods.

Transactions Identity Recurring

Accounting & Invoicing

Auto-import bank transactions into accounting software. Match invoices against incoming transactions, reconcile accounts, and eliminate manual data entry.

Transactions Balance Auth

Payroll & HR

Verify employee bank accounts before you pay them. Confirm IBAN ownership and validate account details so your own payroll run does not bounce.

Auth Identity Balance

Identity Verification

Verify customer identity using bank-held data. Confirm names, addresses, and account ownership for KYC compliance — no document uploads needed.

Identity Auth

Account Verification

Confirm an account belongs to your user before you rely on it. Bank-verified IBAN and BIC data removes typos and cuts failed transfers — without you handling the money.

Auth Balance Webhooks

One afternoon vs. months of work

Building direct bank integrations yourself means months of negotiations, maintenance, and compliance overhead. OpenDinar collapses that into a single API key.

Without OpenDinar
Months of bank partnership negotiations
6 separate bank integrations to build and maintain
Different auth flows and formats per bank
You handle user consent, revocation, and compliance
Breaking changes every time a bank updates their API
Raw, unreadable transaction codes to parse yourself
With OpenDinar
API key in 60 seconds, sandbox immediately
One unified API — all 6 Serbian banks on one integration
One Link Widget handles all bank auth flows
Consent, revocation, and audit trails built in
We maintain all bank integrations — you just call the API
Enriched merchant names and categories out of the box

Start building in minutes

Get your API key and build against sandbox data today. Live bank connections open once our NBS licence is granted — join the waitlist and we will tell you the day it happens.

quickstart.sh
# 1. Get your API key from the dashboard
export OPENDINAR_KEY="od_test_sk_..."

# 2. List connected accounts
curl https://api.opendinar.com/accounts \
  -H "Authorization: Bearer $OPENDINAR_KEY"

# 3. That's it. You're connected.