US Bancorp · Capability

US Bank Treasury Management

Unified treasury management capability composing US Bank Corporate Account Information and RTP Real-Time Payments APIs. Used by corporate treasury teams, ERP systems, and financial operations for account visibility, payment reconciliation, and real-time payment origination.

Run with Naftiko BankingTreasury ManagementCorporate BankingPaymentsAccount InformationReal-Time PaymentsFinance

What You Can Do

GET
List accounts — List all corporate deposit accounts
/v1/accounts
GET
Get current balances — Get current day balances for accounts
/v1/balances/current
GET
Get previous balances — Get previous day balances for accounts
/v1/balances/previous
GET
Get transactions — Get account transaction history by date range
/v1/accounts/{account-number}/transactions
GET
Check rtp eligibility — Verify if receiving bank supports RTP
/v1/rtp/eligibility
POST
Send rtp payment — Send an instant RTP payment
/v1/rtp/payments
GET
Get rtp payment status — Get RTP payment status
/v1/rtp/payments/{transaction-id}

MCP Tools

list-bank-accounts

List U.S. Bank corporate deposit accounts for cash position visibility

read-only
get-current-day-balances

Get current day account balances for up to 50 accounts for cash positioning

read-only
get-previous-day-balances

Get previous business day account balances for reporting and reconciliation

read-only
get-current-day-transactions

Get intraday transactions for an account to monitor payment activity

read-only
get-account-transactions-history

Get historical transactions for an account for reconciliation and reporting

read-only
verify-rtp-eligibility

Check if a recipient bank participates in the RTP Network before sending a payment

read-only
send-instant-payment

Send an instant RTP credit transfer payment to a recipient (irrevocable)

check-payment-status

Check the status of a previously submitted RTP payment

read-only

APIs Used

usb-accounts usb-rtp

Capability Spec

treasury-management.yaml Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "US Bank Treasury Management"
  description: >-
    Unified treasury management capability composing US Bank Corporate Account Information
    and RTP Real-Time Payments APIs. Used by corporate treasury teams, ERP systems, and
    financial operations for account visibility, payment reconciliation, and real-time
    payment origination.
  tags:
    - Banking
    - Treasury Management
    - Corporate Banking
    - Payments
    - Account Information
    - Real-Time Payments
    - Finance
  created: "2026-05-03"
  modified: "2026-05-03"

binds:
  - namespace: env
    keys:
      USB_OAUTH_TOKEN: USB_OAUTH_TOKEN
      USB_CLIENT_ID: USB_CLIENT_ID
      USB_CLIENT_SECRET: USB_CLIENT_SECRET

capability:
  consumes:
    - import: usb-accounts
      location: ./shared/corporate-account-information.yaml
    - import: usb-rtp
      location: ./shared/rtp-payments.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: treasury-management-api
      description: "Unified REST API for US Bank treasury management operations."
      resources:
        - path: /v1/accounts
          name: accounts
          description: "Corporate deposit accounts"
          operations:
            - method: GET
              name: list-accounts
              description: "List all corporate deposit accounts"
              call: "usb-accounts.list-accounts"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/balances/current
          name: current-day-balances
          description: "Current day account balances"
          operations:
            - method: GET
              name: get-current-balances
              description: "Get current day balances for accounts"
              call: "usb-accounts.get-current-day-balances"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/balances/previous
          name: previous-day-balances
          description: "Previous day account balances"
          operations:
            - method: GET
              name: get-previous-balances
              description: "Get previous day balances for accounts"
              call: "usb-accounts.get-previous-day-balances"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/accounts/{account-number}/transactions
          name: transactions
          description: "Account transaction history"
          operations:
            - method: GET
              name: get-transactions
              description: "Get account transaction history by date range"
              call: "usb-accounts.get-account-transactions"
              with:
                accountNumber: "rest.account-number"
                fromDate: "rest.fromDate"
                toDate: "rest.toDate"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/rtp/eligibility
          name: rtp-eligibility
          description: "Check RTP network eligibility"
          operations:
            - method: GET
              name: check-rtp-eligibility
              description: "Verify if receiving bank supports RTP"
              call: "usb-rtp.check-rtp-eligibility"
              with:
                routingNumber: "rest.routingNumber"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/rtp/payments
          name: rtp-payments
          description: "RTP real-time payments"
          operations:
            - method: POST
              name: send-rtp-payment
              description: "Send an instant RTP payment"
              call: "usb-rtp.initiate-rtp-credit-transfer"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/rtp/payments/{transaction-id}
          name: rtp-payment-status
          description: "RTP payment status"
          operations:
            - method: GET
              name: get-rtp-payment-status
              description: "Get RTP payment status"
              call: "usb-rtp.get-rtp-credit-transfer-status"
              with:
                transactionId: "rest.transaction-id"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9090
      namespace: treasury-management-mcp
      transport: http
      description: "MCP server for AI-assisted US Bank treasury management and payment operations."
      tools:
        - name: list-bank-accounts
          description: "List U.S. Bank corporate deposit accounts for cash position visibility"
          hints:
            readOnly: true
            openWorld: false
          call: "usb-accounts.list-accounts"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-current-day-balances
          description: "Get current day account balances for up to 50 accounts for cash positioning"
          hints:
            readOnly: true
            openWorld: false
          call: "usb-accounts.get-current-day-balances"
          with:
            accountNumbers: "tools.accountNumbers"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-previous-day-balances
          description: "Get previous business day account balances for reporting and reconciliation"
          hints:
            readOnly: true
            openWorld: false
          call: "usb-accounts.get-previous-day-balances"
          with:
            accountNumbers: "tools.accountNumbers"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-current-day-transactions
          description: "Get intraday transactions for an account to monitor payment activity"
          hints:
            readOnly: true
            openWorld: false
          call: "usb-accounts.get-current-day-transactions"
          with:
            accountNumber: "tools.accountNumber"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-account-transactions-history
          description: "Get historical transactions for an account for reconciliation and reporting"
          hints:
            readOnly: true
            openWorld: false
          call: "usb-accounts.get-account-transactions"
          with:
            accountNumber: "tools.accountNumber"
            fromDate: "tools.fromDate"
            toDate: "tools.toDate"
          outputParameters:
            - type: object
              mapping: "$."

        - name: verify-rtp-eligibility
          description: "Check if a recipient bank participates in the RTP Network before sending a payment"
          hints:
            readOnly: true
            openWorld: true
          call: "usb-rtp.check-rtp-eligibility"
          with:
            routingNumber: "tools.routingNumber"
          outputParameters:
            - type: object
              mapping: "$."

        - name: send-instant-payment
          description: "Send an instant RTP credit transfer payment to a recipient (irrevocable)"
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "usb-rtp.initiate-rtp-credit-transfer"
          with:
            payerAccountNumber: "tools.payerAccountNumber"
            payeeAccountNumber: "tools.payeeAccountNumber"
            payeeRoutingNumber: "tools.payeeRoutingNumber"
            payeeName: "tools.payeeName"
            amount: "tools.amount"
            remittanceInfo: "tools.remittanceInfo"
          outputParameters:
            - type: object
              mapping: "$."

        - name: check-payment-status
          description: "Check the status of a previously submitted RTP payment"
          hints:
            readOnly: true
            openWorld: false
          call: "usb-rtp.get-rtp-credit-transfer-status"
          with:
            transactionId: "tools.transactionId"
          outputParameters:
            - type: object
              mapping: "$."