Notabene Flow — Developer Introduction

Notabene Flow is a compliant stablecoin payment network that enables businesses to send and receive funds with blockchain speed while retaining full regulatory and operational controls. Instead of custom integrations with each PSP, wallet, or banking partner, Flow provides a unified network where any participant can transact with any other through a standard, open, authorization protocol.
Under the hood, Flow uses the open source Transaction Authorization Protocol (TAP) to securely coordinate identity, compliance, authorization, and settlement across all parties involved in a payment. This ensures interoperability across providers while maintaining the trust, transparency, and routing flexibility needed for modern payments.

How Flow Works (Simplified)

A pay-in is a pull payment: a merchant asks to get paid, and their customer pays using an existing stablecoin account, wallet, or fiat bank account. A pay-out is a push payment: the sending side initiates the transfer, and the receiving side decides where and in what asset to receive the funds.
For every payment, Flow coordinates:

  • Who represents the merchant — the Payment Initiating Agent (PIA)
  • Who represents the payer or payee — the Payment Responding Agent (PRA)
  • Which wallets, banks, and liquidity rails are used — Infrastructure Providers (IPs)
  • How identity and Travel Rule data are exchanged
  • How the transaction is authorized and settled

Core Concepts

ConceptWhat it means
Pay-inA pull payment. The merchant requests payment (like an invoice).
Pay-outA push payment. The merchant or business sends funds.
PIA (Payment Initiating Agent)Pay-in: Represents the merchant/payee. Creates the payment request.
Pay-out: Represents the payer. Creates the transfer request.
PRA (Payment Responding Agent)Responding Agent)Pay-in: Represents the payer/customer. Authorizes and settles the payment.
Pay-out: Represents the payee. Authorizes receipt.
IP (Infrastructure Provider)Optional supporting service handling custody, wallets, FX, fiat rails
AgentAny service participating in the network, identified by a DID
TAPTransaction Authorization Protocol — the open-source messaging layer coordinating identity, compliance, and settlement

Flow is a coordination and authorization layer. It does not:

  • Hold funds or act as a custodian
  • Replace your KYC/KYB process
  • Own end-customer relationships

PIAs, PRAs, and IPs retain full ownership of their customer relationships, compliance processes, and settlement infrastructure.


What You Can Build

Depending on your role in the network, you integrate with one or more of these payment flows:

  • Pay-in: Create payment requests (including invoice-based requests) on behalf of your merchant customers. Counterparties receive a payment link, authorize the transaction, and settle through their preferred wallet or provider.
  • Payout:
    • Initiate transfers to recipients who select their wallet through a payment link. Used for supplier payments, refunds, and treasury movements.
    • Respond to transfers: The customer opens the payment link, connects your wallet, and authorizes the payment through your normal withdrawal/payment flow.

All flows support batch processing, webhook notifications, policy-based auto-approval, and embedded UI components.


API Structure

Flow APIs are organized by your role as an agent:

  • Payment Initiating Agents: Manage customers, create payment requests (receivables, payouts, payins), and track settlement status.
  • Payment Responding Agents: Receive and process incoming payment requests on behalf of their customers. Handle authorization and settlement coordination.
  • Infrastructure Providers: Provide custody, wallet operations, liquidity, and on-chain settlement execution.

Authentication uses entity-scoped and customer-scoped tokens.

All endpoints follow RESTful conventions under /entities/:entityDID/flow/


Did this page help you?