GitHub
Back to Commons
Utility
Featured

Open Finance Data Sandbox

An interactive, client-side explorer for UAE Open Finance payloads — 38 synthetic personas across Bank Data Sharing and all 7 Insurance Data Sharing lines, an ATM Locator directory, three LFI populate-rate profiles, an MCP server, and pinnable fixture packages, with no sandbox credentials required.

Contributed by OpenFinance-OS Community · 9 June 2026

Why This Matters

API specifications tell you the schema, but not what the data actually looks like in practice. The Data Sandbox closes that gap with realistic, validated payloads across diverse personas and data-completeness profiles, so TPPs can design and test integrations against concrete examples before touching the live sandbox.

Overview

The Open Finance Data Sandbox is a zero-setup, browser-based explorer that shows what UAE Open Finance payloads actually look like — Bank Data Sharing, Insurance Data Sharing across all seven lines, and the ATM Locator directory. Every response is generated from a deterministic seeded PRNG and validated against the vendored OpenAPI specification, so what you see in the sandbox is what your integration will need to handle in production.

Key Capabilities

  • 38 synthetic UAE personas — 21 banking-only (retail, SME, and corporate archetypes from salaried expats and gig workers to free-zone SaaS startups and corporate treasury), 9 insurance-only (covering motor, home, health, life, travel, renters, and employment), and 8 multi-domain personas that emit both banking and insurance payloads. The banking view renders 29 personas; the insurance view renders 17. A 39th manifest, the ATM directory, emits a public directory of LFI-operated cash machines rather than customer data.
  • All 12 v2.1 Account Information endpoints for banking, 30 Insurance Data Sharing endpoints (GA across all 7 lines — 4 endpoints each plus 2 Insurance Consents endpoints), and the ATM Locator GET /atms directory — all generated and validated against the v2.1 OpenAPI schema, with 1,500+ spec-validation tests across the persona × LFI × endpoint matrix.
  • Multi-LFI and multi-insurer footprints — SME and retail personas whose realistic footprint spans up to four banks (salary primary, everyday card, digital sidekick, mortgage lender) and up to three insurance carriers, with role-keyed bundles and mod-97-valid IBANs. Total debt service is only legible through Open Finance aggregation across all banks — exactly the picture a TPP consent flow has to assemble.
  • Three LFI populate-rate profiles — Rich, Median, and Sparse — for testing how your application behaves against varying data completeness from different banks.
  • LFI comparison view showing the same persona’s data side-by-side across populate-rate profiles, with cell-level diff highlighting.
  • Underwriting scenario panel with illustrative financial calculations: implied monthly net income, frequency-normalised fixed commitments, implied DBR, and NSF/distress counts.
  • Full-spec search (⌘K) and an interactive 5-step walkthrough for first-time visitors.
  • Export as JSON, CSV, or tarball — drop fixtures straight into your test suite — plus pinnable fixture packages on npm (@openfinance-os/sandbox-fixtures) and PyPI (openfinance-os-sandbox-fixtures).
  • Embed mode for use in presentations, documentation, or workshops.

MCP Server

The sandbox ships an MCP server, @openfinance-os/sandbox-mcp, that exposes the whole corpus as tools, resources, and prompts — so an AI agent can act as a personal-finance assistant over a synthetic customer and answer balance, spend, obligation, and coverage questions from deterministic v2.1 JSON. Pick a curated persona, or compose a custom one with the persona builder.

  • Hosted (no install): add https://data-sandbox.fly.dev/mcp as a custom connector in Claude.ai — anonymous, no auth, no API key.
  • Local: npx -y @openfinance-os/sandbox-mcp (stdio transport for Claude Desktop / Claude Code).

TPP Integration

If you are wiring sandbox personas into a TPP demo journey, the integration guide walks through four plug points: iframe embed, npm loadJourney(), PyPI load_journey(), and raw HTTPS fixtures at /fixtures/v1/.

Tech Stack

Vanilla HTML, CSS, and JavaScript ES modules — no build chain required. The OpenAPI spec is vendored from upstream and pinned by commit SHA; every status badge and mandatory/optional flag flows from the spec, never hand-authored. Coverage is enforced by Vitest (unit), Playwright (end-to-end + accessibility), and Lighthouse-CI (performance). Anonymous analytics via PostHog.

Who It’s For

TPPs and fintechs

Design consent flows, dashboards, and analytics against representative data — including multi-bank, multi-carrier customers — before requesting sandbox credentials.

Banks and LFIs

See how your populate-rate decisions affect the TPP experience, and use the comparison view to inform implementation choices.

Insurers and insurtechs

Explore Insurance Data Sharing payload shapes across all seven lines — policies, policy detail, payment details, and quotes — without onboarding to a sandbox first.

Independent developers

Get hands-on with Open Finance payload shapes and edge cases, or wire the MCP server into an AI agent and query a synthetic customer conversationally.

Try It Now

Open data-sandbox.openfinance-os.org — no registration, no credentials, no install.

Source & License

The sandbox is open source on GitHub. Code is MIT-licensed; synthetic data and fixtures are released under CC0 (public domain). The vendored OpenAPI specification inherits its upstream license. Contributions and issue reports are welcome.

Disclaimers

  • Synthetic data only — not connected to any live bank or sandbox
  • Generated payloads are illustrative and may not capture every edge case
  • For exploration, design, and testing purposes