자금 흐름 분석은 꽤 골치 아픈 일입니다. 누구나 하긴 하지만, 각자 방식이 다르고, 설령 직접 분석한다고 해도 형식을 수시로 바꾸게 마련이죠.

스테이블코인이 모든 분야에 점점 더 깊이 뿌리내리면서, 저는 하루에 한두 번씩 자금 흐름 분석을 하고 있는 것 같습니다. 핀테크 기업이 생겨나서 자금 흐름 분석을 요청할 때, 그들이 진짜로 원하는 건 바로 이 다이어그램입니다. 글로벌 지급 옵션으로 스테이블코인을 추가하는 경우라면 다음과 같은 형태가 되겠죠:

sequenceDiagram
    title: Funds Flow (Medium, CSF v1.4.5) – USD to USDC with Exchange (Modern Treasury + Brale)
    participant Business as Modern Treasury Customer
    participant MT as Modern Treasury (Instructions Only)
    participant Brale as Brale (Exchange & Settlement)
    participant Solana as Solana Blockchain
    participant Recipient as Recipient Wallet

    Business-->>MT: [DATA] Instruction: Pay ,000 to Recipient (USD)
    MT-->>Brale: [DATA] Instruction Forwarded
    Brale->>Brale: [EXCHANGE] USD to USDC
    Brale->>Solana: Transfer USDC Solana ,000
    Solana->>Recipient: Confirm Receipt

저희는 Brale에서 사용할 프레임워크를 고안해 냈는데, 꽤 유용하게 쓰이고 있습니다. ‘커먼스 스테이블코인 포맷(Commons Stablecoin Format, CSF)’이라고 불리는 이 프레임워크는, 대규모 언어 모델(LLM)이 어떤 형식을 써야 할지 고민할 필요 없이 바로 작업할 수 있도록 하는 일련의 규칙 세트입니다. CSF JSON를 GPT에 붙여넣고 다음과 같은 프롬프트를 입력하면 됩니다: ‘USD 전신환 입금을 솔라나(Solana)상의 스테이블코인(USDC)으로 전환하는 자금 흐름도를 생성해 주세요.’ 그러면 매번 정해진 형식을 따릅니다.

모든 자금 흐름(funds flow)은 매우 가볍고 빠른 Mermaid를 사용하여 생성됩니다. 제가 자금 흐름을 생성하는 모습을 여기에서 확인하실 수 있습니다:

자금 흐름도는 단순히 요소들이 어떻게 연결되는지 보여줄 뿐입니다. 하지만 각자 고유의 사고방식을 가지고 있어, 이는 대개 또 다른 맞춤형 형식으로 이어지기 마련입니다. 그래서 Brale 팀은 어떤 LLM(대규모 언어 모델)에나 적용해 stablecoin 자금 흐름도를 빠르게 생성할 수 있는 표준을 고안해 냈습니다. 새로운 stablecoin API을 개발하는 과정에서, 이 표준은 수많은 논의에 큰 도움이 되었습니다.

우리는 이것이 일종의 초능력이라는 것을 금방 깨달았고, 일부 표준(솔직히 말해 브레이얼(Brale) 중심적인 면이 강하지만)을 커먼스 스테이블코인 포맷(Commons Stablecoin Format)에 통합했습니다. 이 포맷은 위와 같은 자금 흐름을 생성하기 위한 표준 규칙 세트로 설계되었습니다. 여기 전체 세트가 있습니다.

이 표준을 사용하면 복사-붙여넣기만 하면 머메이드 다이어그램이 거의 즉시 생성됩니다. 이는 정말 훌륭한 점입니다. 왜냐하면 핀테크 기업이나 은행 등에서 10년을 보내지 않아도 제대로 된 자금 흐름을 만들 수 있게 되었기 때문입니다. 또한 일반적으로 다른 자금 흐름의 스크린샷을 찍어 즐겨 사용하는 LLM(대규모 언어 모델)에게 CSF 형식으로 변환해 달라고 요청할 수 있으며, 사실 이 모델들은 이를 꽤 잘 수행합니다.

흐름의 표준화

여기에는 밸류 레이어(Value Layer) 개념(1,2)을 바탕으로 자금 흐름도를 좀 더 읽기 쉽게 만드는 몇 가지 매우 기본적인 사항들이 있습니다.

  1. ValueType – 전송되는 대상 (예: USD, USDC, SBC)
  2. TransferType – 이동 방식 (예: ACH, Wire, Ethereum, Canton)
  3. Exchange – 하나의 ValueType+TransferType을 입력으로 받고, 하나의 ValueType+TransferType을 출력합니다.

저는 과거에 이 아이디어에 대해 많이 글을 썼지만, Brale API 업데이트의 마지막 버전 이전까지는 실제로 제품에 적용한 사람이 없었습니다. 이 표준은 CSF에 통합되어 전송 시 항상 ValueType, TransferType, Amount가 표시됩니다. 즉, SBC Base 100, USDC Ethereum 100, 또는 USD Wire 100과 같은 형태입니다.

회로도처럼, 라벨링이 일관되면 읽기가 훨씬 쉬워집니다.

표준 내 세부 정보의 다양한 수준:

  • Light – 핵심 단계에 초점을 맞춘 간소화된 거래 흐름.
  • 중간 – 자금 최종 확정, 규정 준수 추적 및 거래소 검증 포함.
  • 상세 – 오류 처리를 포함한 포괄적인 흐름 추적.

시작하기

은행 자금 지원형 스테이블코인(stablecoin) 발행이든, 여러 블록체인에 걸친 온체인(on-chain) 결제이든, CSF를 통해 더 잘 이해할 수 있습니다. 다음은 스테이블코인으로 온체인 분배를 지원하는 오프체인(off-chain) 전송에 대한 또 다른 예시입니다:

"A third-party fintech initiates an offchain USD transfer to fund an onchain stablecoin distribution (e.g., USDC on Solana) to a recipient wallet."
sequenceDiagram
    title: Funds Flow (Medium, CSF v1.4.5) – Third-Party Fintech USD to USDC Distribution
    participant Business as Fintech Customer
    participant Fintech as Fintech Platform (Instructions Only)
    participant Exchange as Stablecoin Issuer / Settlement Platform
    participant Solana as Solana Blockchain
    participant Recipient as Recipient Wallet

    Business-->>Fintech: [DATA] Instruction: Pay ,000 to Recipient (USD)
    Fintech-->>Exchange: [DATA] Instruction Forwarded
    Business->>Exchange: Transfer USD Wire ,000
    Exchange->>Exchange: [EXCHANGE] USD to USDC
    Exchange->>Solana: Transfer USDC Solana ,000
    Solana->>Recipient: Confirm Receipt

그리고 그 반대의 경우, 온체인에서 오프체인으로 이동하는 또 다른 예시입니다.

sequenceDiagram
    title: Funds Flow (Medium, CSF v1.4.5) – Onchain USDC Funding to Offchain USD Wire Distribution
    participant Business as Customer Wallet
    participant Fintech as Fintech Platform (Instructions + Compliance)
    participant Exchange as Stablecoin Platform / Settlement Partner
    participant Bank as Bank Network
    participant Recipient as Recipient Bank Account

    Business->>Exchange: Transfer USDC Solana ,000
    Exchange-->>Fintech: [DATA] Receipt Confirmation + Payout Instruction
    Fintech-->>Exchange: [DATA] Instruction: Convert & Wire USD
    Exchange->>Exchange: [EXCHANGE] USDC to USD
    Exchange->>Bank: Transfer USD Wire ,000
    Bank->>Recipient: Confirm Receipt

이 프레임워크는 오픈소스이며 GitHub에서 채택 및 기여가 가능합니다. 저는 이미 Brale에서 매일 사용하고 있으며, 여러분의 팀에도 시간 절약에 도움이 되기를 바랍니다.

GitHub에서 CSF 사양과 예제 프롬프트를 확인하실 수 있습니다. 자유롭게 포크하거나, 사용하거나, 기여해 주시기 바랍니다.