Scotiabank · Capability

Scotiabank Banking and Payments

Unified capability for banking and payments workflows using Scotiabank's Scotia TranXact APIs. Enables corporate treasury teams, ERP systems, and financial applications to initiate wire payments, send real-time INTERAC transfers, manage EFT batches, retrieve account balances and transaction history, and track payment status.

Run with Naftiko BankingPaymentsWire TransferEFTINTERACTreasury ManagementCanada

What You Can Do

POST
Initiate wire payment — Initiate a domestic or international wire transfer
/v1/payments/wire
GET
Get wire payment — Get wire payment status
/v1/payments/wire
POST
Initiate realtime payment — Send real-time payment via INTERAC e-Transfer
/v1/payments/realtime
POST
Create eft payment — Create and submit EFT payment
/v1/payments/eft
GET
List accounts — List eligible deposit accounts
/v1/accounts
GET
Get account balance — Get current or prior-day balance
/v1/accounts/{account_id}/balance
GET
List transactions — List account transactions (up to 2 years)
/v1/accounts/{account_id}/transactions
POST
Validate account — Validate account number and ownership
/v1/accounts/validate
GET
Track payment — Track wire payment by UETR
/v1/payments/track/{reference_id}

MCP Tools

initiate-wire-transfer

Initiate a domestic or international wire transfer (CAD or USD). Powered by SWIFT GPI for real-time tracking.

get-wire-payment-status

Get the current status of a wire payment by payment ID

read-only
send-interac-payment

Send a real-time business payment via INTERAC e-Transfer (up to $25,000). Recipient receives payment at their email address.

create-eft-payment

Create and submit an Electronic Funds Transfer (EFT) payment for debit or credit transactions.

list-bank-accounts

List all eligible Scotiabank deposit accounts for the customer

read-only
get-account-balance

Get current or prior-day account balance including opening and closing balances.

read-only
list-account-transactions

List enriched transaction history for an account (up to 2 years). Returns transaction date, amount, credit/debit indicator, and description.

read-only
validate-bank-account

Validate a Scotiabank account number format and check ownership match likelihood.

read-only
track-wire-payment

Track the real-time status of a wire payment using its Unique End-to-End Transaction Reference (UETR).

read-only

APIs Used

scotiabank-tranxact

Capability Spec

Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "Scotiabank Banking and Payments"
  description: >-
    Unified capability for banking and payments workflows using Scotiabank's
    Scotia TranXact APIs. Enables corporate treasury teams, ERP systems, and
    financial applications to initiate wire payments, send real-time INTERAC
    transfers, manage EFT batches, retrieve account balances and transaction
    history, and track payment status.
  tags:
    - Banking
    - Payments
    - Wire Transfer
    - EFT
    - INTERAC
    - Treasury Management
    - Canada
  created: "2026-05-02"
  modified: "2026-05-02"

binds:
  - namespace: env
    keys:
      SCOTIABANK_CLIENT_ID: SCOTIABANK_CLIENT_ID
      SCOTIABANK_CLIENT_SECRET: SCOTIABANK_CLIENT_SECRET
      SCOTIABANK_ACCESS_TOKEN: SCOTIABANK_ACCESS_TOKEN

capability:
  consumes:
    - import: scotiabank-tranxact
      location: ./shared/scotiabank-tranxact.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: scotiabank-banking-api
      description: "Unified REST API for Scotiabank banking and payment operations."
      resources:
        - path: /v1/payments/wire
          name: wire-payments
          description: Wire payment initiation and tracking
          operations:
            - method: POST
              name: initiate-wire-payment
              description: Initiate a domestic or international wire transfer
              call: "scotiabank-tranxact.initiate-wire-payment"
              with:
                amount: "rest.amount"
                currency: "rest.currency"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: GET
              name: get-wire-payment
              description: Get wire payment status
              call: "scotiabank-tranxact.get-wire-payment"
              with:
                payment_id: "rest.payment_id"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/payments/realtime
          name: realtime-payments
          description: Real-time INTERAC e-Transfer payments
          operations:
            - method: POST
              name: initiate-realtime-payment
              description: Send real-time payment via INTERAC e-Transfer
              call: "scotiabank-tranxact.initiate-realtime-payment"
              with:
                amount: "rest.amount"
                recipient_email: "rest.recipient_email"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/payments/eft
          name: eft-payments
          description: Electronic Funds Transfer management
          operations:
            - method: POST
              name: create-eft-payment
              description: Create and submit EFT payment
              call: "scotiabank-tranxact.create-eft-payment"
              with:
                amount: "rest.amount"
                payment_type: "rest.payment_type"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/accounts
          name: accounts
          description: Bank account management
          operations:
            - method: GET
              name: list-accounts
              description: List eligible deposit accounts
              call: "scotiabank-tranxact.list-accounts"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/accounts/{account_id}/balance
          name: account-balance
          description: Account balance retrieval
          operations:
            - method: GET
              name: get-account-balance
              description: Get current or prior-day balance
              call: "scotiabank-tranxact.get-account-balance"
              with:
                account_id: "rest.account_id"
                date: "rest.date"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/accounts/{account_id}/transactions
          name: transactions
          description: Account transaction history
          operations:
            - method: GET
              name: list-transactions
              description: List account transactions (up to 2 years)
              call: "scotiabank-tranxact.list-transactions"
              with:
                account_id: "rest.account_id"
                from_date: "rest.from_date"
                to_date: "rest.to_date"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/accounts/validate
          name: account-validation
          description: Account validation
          operations:
            - method: POST
              name: validate-account
              description: Validate account number and ownership
              call: "scotiabank-tranxact.validate-account"
              with:
                account_number: "rest.account_number"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/payments/track/{reference_id}
          name: payment-tracking
          description: Payment status tracking
          operations:
            - method: GET
              name: track-payment
              description: Track wire payment by UETR
              call: "scotiabank-tranxact.track-payment"
              with:
                reference_id: "rest.reference_id"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9090
      namespace: scotiabank-banking-mcp
      transport: http
      description: "MCP server for AI-assisted banking and payment workflows with Scotiabank."
      tools:
        - name: initiate-wire-transfer
          description: >-
            Initiate a domestic or international wire transfer (CAD or USD).
            Powered by SWIFT GPI for real-time tracking.
          hints:
            readOnly: false
          call: "scotiabank-tranxact.initiate-wire-payment"
          with:
            amount: "tools.amount"
            currency: "tools.currency"
            debit_account: "tools.debit_account"
            credit_account: "tools.credit_account"
            remittance_information: "tools.remittance_information"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-wire-payment-status
          description: Get the current status of a wire payment by payment ID
          hints:
            readOnly: true
          call: "scotiabank-tranxact.get-wire-payment"
          with:
            payment_id: "tools.payment_id"
          outputParameters:
            - type: object
              mapping: "$."

        - name: send-interac-payment
          description: >-
            Send a real-time business payment via INTERAC e-Transfer (up to $25,000).
            Recipient receives payment at their email address.
          hints:
            readOnly: false
          call: "scotiabank-tranxact.initiate-realtime-payment"
          with:
            amount: "tools.amount"
            recipient_email: "tools.recipient_email"
            message: "tools.message"
          outputParameters:
            - type: object
              mapping: "$."

        - name: create-eft-payment
          description: >-
            Create and submit an Electronic Funds Transfer (EFT) payment
            for debit or credit transactions.
          hints:
            readOnly: false
          call: "scotiabank-tranxact.create-eft-payment"
          with:
            payment_type: "tools.payment_type"
            amount: "tools.amount"
            effective_date: "tools.effective_date"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-bank-accounts
          description: List all eligible Scotiabank deposit accounts for the customer
          hints:
            readOnly: true
          call: "scotiabank-tranxact.list-accounts"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-account-balance
          description: >-
            Get current or prior-day account balance including opening
            and closing balances.
          hints:
            readOnly: true
          call: "scotiabank-tranxact.get-account-balance"
          with:
            account_id: "tools.account_id"
            date: "tools.date"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-account-transactions
          description: >-
            List enriched transaction history for an account (up to 2 years).
            Returns transaction date, amount, credit/debit indicator, and description.
          hints:
            readOnly: true
            openWorld: true
          call: "scotiabank-tranxact.list-transactions"
          with:
            account_id: "tools.account_id"
            from_date: "tools.from_date"
            to_date: "tools.to_date"
          outputParameters:
            - type: object
              mapping: "$."

        - name: validate-bank-account
          description: >-
            Validate a Scotiabank account number format and check
            ownership match likelihood.
          hints:
            readOnly: true
          call: "scotiabank-tranxact.validate-account"
          with:
            account_number: "tools.account_number"
            account_holder_name: "tools.account_holder_name"
          outputParameters:
            - type: object
              mapping: "$."

        - name: track-wire-payment
          description: >-
            Track the real-time status of a wire payment using its
            Unique End-to-End Transaction Reference (UETR).
          hints:
            readOnly: true
          call: "scotiabank-tranxact.track-payment"
          with:
            reference_id: "tools.reference_id"
          outputParameters:
            - type: object
              mapping: "$."