> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cdp.coinbase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Commit Convert Trade

> Commits a convert trade with a specified trade id, source account, and target account



## OpenAPI

````yaml POST /api/v3/brokerage/convert/trade/{trade_id}
openapi: 3.0.0
info:
  title: Coinbase Advanced Trade API
  version: '0.1'
servers:
  - url: https://api.coinbase.com
security:
  - apiKeyAuth: []
paths:
  /api/v3/brokerage/convert/trade/{trade_id}:
    post:
      tags:
        - Converts
      summary: Commit Convert Trade
      description: >-
        Commits a convert trade with a specified trade id, source account, and
        target account
      operationId: RetailBrokerageApi_CommitConvertTrade
      parameters:
        - name: trade_id
          description: The ID of the trade to commit.
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/coinbase.retail.rest.proxy.convert.CommitConvertTradeRequest
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/coinbase.retail.rest.proxy.convert.CommitConvertTradeResponse
            text/event-stream:
              schema:
                $ref: >-
                  #/components/schemas/coinbase.retail.rest.proxy.convert.CommitConvertTradeResponse
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
            text/event-stream:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
components:
  schemas:
    coinbase.retail.rest.proxy.convert.CommitConvertTradeRequest:
      type: object
      properties:
        from_account:
          type: string
          description: The currency of the account to convert from (e.g. USD).
        to_account:
          type: string
          description: The currency of the account to convert to (e.g. USDC).
    coinbase.retail.rest.proxy.convert.CommitConvertTradeResponse:
      type: object
      properties:
        trade:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.retail.rest.proxy.convert.RatConvertTrade
    grpc.gateway.runtime.Error:
      type: object
      properties:
        error:
          type: string
        code:
          type: integer
          format: int32
        message:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/google.protobuf.Any'
    coinbase.retail.rest.proxy.convert.RatConvertTrade:
      type: object
      properties:
        id:
          type: string
          description: The trade ID used to get and commit the trade.
        status:
          allOf:
            - $ref: '#/components/schemas/coinbase.simple_trade.TradeStatus'
        user_entered_amount:
          allOf:
            - $ref: '#/components/schemas/coinbase.consumer.shared.common.Amount'
        amount:
          allOf:
            - $ref: '#/components/schemas/coinbase.consumer.shared.common.Amount'
        subtotal:
          allOf:
            - $ref: '#/components/schemas/coinbase.consumer.shared.common.Amount'
        total:
          allOf:
            - $ref: '#/components/schemas/coinbase.consumer.shared.common.Amount'
        fees:
          type: array
          items:
            $ref: '#/components/schemas/coinbase.simple_trade.models.Fee'
          description: List of fees associated with the trade
        total_fee:
          allOf:
            - $ref: '#/components/schemas/coinbase.simple_trade.models.Fee'
        source:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.PaymentMethod
        target:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.PaymentMethod
        unit_price:
          allOf:
            - $ref: '#/components/schemas/coinbase.simple_trade.models.UnitPrice'
        user_warnings:
          type: array
          items:
            $ref: '#/components/schemas/coinbase.simple_trade.models.UserWarning'
        user_reference:
          type: string
        source_currency:
          type: string
          description: The currency of the source account
        target_currency:
          type: string
          description: The currency of the target account
        cancellation_reason:
          allOf:
            - $ref: '#/components/schemas/coinbase.simple_trade.models.Error'
        source_id:
          type: string
        target_id:
          type: string
        subscription_info:
          allOf:
            - $ref: '#/components/schemas/coinbase.simple_trade.SubscriptionInfo'
        exchange_rate:
          allOf:
            - $ref: '#/components/schemas/coinbase.consumer.shared.common.Amount'
        tax_details:
          type: array
          items:
            $ref: '#/components/schemas/coinbase.simple_trade.TaxInfo'
        trade_incentive_info:
          allOf:
            - $ref: '#/components/schemas/coinbase.simple_trade.TradeIncentiveInfo'
        total_fee_without_tax:
          allOf:
            - $ref: '#/components/schemas/coinbase.simple_trade.models.Fee'
        fiat_denoted_total:
          allOf:
            - $ref: '#/components/schemas/coinbase.consumer.shared.common.Amount'
      title: ''
    google.protobuf.Any:
      type: object
      properties:
        type_url:
          type: string
          description: >-
            A URL/resource name that uniquely identifies the type of the
            serialized

            protocol buffer message. This string must contain at least

            one "/" character. The last segment of the URL's path must represent

            the fully qualified name of the type (as in

            `path/google.protobuf.Duration`). The name should be in a canonical
            form

            (e.g., leading "." is not accepted).


            In practice, teams usually precompile into the binary all types that
            they

            expect it to use in the context of Any. However, for URLs which use
            the

            scheme `http`, `https`, or no scheme, one can optionally set up a
            type

            server that maps type URLs to message definitions as follows:


            * If no scheme is provided, `https` is assumed.

            * An HTTP GET on the URL must yield a [google.protobuf.Type][]
              value in binary format, or produce an error.
            * Applications are allowed to cache lookup results based on the
              URL, or have them precompiled into a binary to avoid any
              lookup. Therefore, binary compatibility needs to be preserved
              on changes to types. (Use versioned type names to manage
              breaking changes.)

            Note: this functionality is not currently available in the official

            protobuf release, and it is not used for type URLs beginning with

            type.googleapis.com. As of May 2023, there are no widely used type
            server

            implementations and no plans to implement one.


            Schemes other than `http`, `https` (or the empty scheme) might be

            used with implementation specific semantics.
        value:
          type: string
          format: byte
          description: >-
            Must be a valid serialized protocol buffer of the above specified
            type.
      description: >-
        `Any` contains an arbitrary serialized protocol buffer message along
        with a

        URL that describes the type of the serialized message.


        Protobuf library provides support to pack/unpack Any values in the form

        of utility functions or additional generated methods of the Any type.


        Example 1: Pack and unpack a message in C++.

            Foo foo = ...;
            Any any;
            any.PackFrom(foo);
            ...
            if (any.UnpackTo(&foo)) {
              ...
            }

        Example 2: Pack and unpack a message in Java.

            Foo foo = ...;
            Any any = Any.pack(foo);
            ...
            if (any.is(Foo.class)) {
              foo = any.unpack(Foo.class);
            }
            // or ...
            if (any.isSameTypeAs(Foo.getDefaultInstance())) {
              foo = any.unpack(Foo.getDefaultInstance());
            }

         Example 3: Pack and unpack a message in Python.

            foo = Foo(...)
            any = Any()
            any.Pack(foo)
            ...
            if any.Is(Foo.DESCRIPTOR):
              any.Unpack(foo)
              ...

         Example 4: Pack and unpack a message in Go

             foo := &pb.Foo{...}
             any, err := anypb.New(foo)
             if err != nil {
               ...
             }
             ...
             foo := &pb.Foo{}
             if err := any.UnmarshalTo(foo); err != nil {
               ...
             }

        The pack methods provided by protobuf library will by default use

        'type.googleapis.com/full.type.name' as the type URL and the unpack

        methods only use the fully qualified type name after the last '/'

        in the type URL, for example "foo.bar.com/x/y.z" will yield type

        name "y.z".


        JSON

        ====

        The JSON representation of an `Any` value uses the regular

        representation of the deserialized, embedded message, with an

        additional field `@type` which contains the type URL. Example:

            package google.profile;
            message Person {
              string first_name = 1;
              string last_name = 2;
            }

            {
              "@type": "type.googleapis.com/google.profile.Person",
              "firstName": <string>,
              "lastName": <string>
            }

        If the embedded message type is well-known and has a custom JSON

        representation, that representation will be embedded adding a field

        `value` which holds the custom JSON in addition to the `@type`

        field. Example (for message [google.protobuf.Duration][]):

            {
              "@type": "type.googleapis.com/google.protobuf.Duration",
              "value": "1.212s"
            }
    coinbase.simple_trade.TradeStatus:
      type: string
      enum:
        - TRADE_STATUS_UNSPECIFIED
        - TRADE_STATUS_CREATED
        - TRADE_STATUS_STARTED
        - TRADE_STATUS_COMPLETED
        - TRADE_STATUS_CANCELED
      default: TRADE_STATUS_UNSPECIFIED
      title: TradeStatus
    coinbase.consumer.shared.common.Amount:
      type: object
      properties:
        value:
          type: string
        currency:
          type: string
        cbrn:
          type: string
          title: >-
            CBRN Format: version:type:network:sub-network:id:sub-id

            Example:
            v1:token:solana:mainnet:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v:
      title: Message that represents the monetary amount.
    coinbase.simple_trade.models.Fee:
      type: object
      properties:
        title:
          type: string
        description:
          type: string
        amount:
          allOf:
            - $ref: '#/components/schemas/coinbase.consumer.shared.common.Amount'
        label:
          type: string
        disclosure:
          allOf:
            - $ref: '#/components/schemas/coinbase.simple_trade.models.Disclosure'
        waived_details:
          allOf:
            - $ref: '#/components/schemas/coinbase.simple_trade.models.WaivedDetails'
        metadata:
          allOf:
            - $ref: '#/components/schemas/coinbase.simple_trade.models.FeeMetadata'
      description: Fee represents a single fee type. A single trade may have multiple fees.
    coinbase.payments.common.payment_methods.PaymentMethod:
      type: object
      properties:
        type:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.PaymentMethod.Type
        network:
          type: string
        payment_method_id:
          type: string
        payment_method_type_string:
          type: string
        blockchain_address:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.BlockchainAddress
        coinbase_account:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.CoinbaseAccount
        blockchain_transaction:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.BlockchainTransaction
        fedwire:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Fedwire
        swift:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Swift
        card:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Card
        zengin:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Zengin
        uk:
          allOf:
            - $ref: '#/components/schemas/coinbase.payments.common.payment_methods.Uk'
        sepa:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Sepa
        paypal:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Paypal
        ledger_account:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.LedgerAccount
        external_payment_method:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.ExternalPaymentMethod
        pro_account:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.ProAccount
        rtp:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Rtp
        venue:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Venue
        ledger_named_account:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.LedgerNamedAccount
        custodial_pool:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.CustodialPool
        apple_pay:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.ApplePay
        default_account:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.DefaultAccount
        remitly:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Remitly
        pro_internal_account:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.ProInternalAccount
        dapp_wallet_account:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.DAppWalletAccount
        google_pay:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.GooglePay
        dapp_wallet_blockchain_address:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.DAppWalletBlockchainAddress
        zaakpay_mobikwik:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.ZaakpayMobikwik
        deneb_upi:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.DenebUPI
        bank_account:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.BankAccount
        identity_contract_call:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.IdentityContractCall
        deneb_imps:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.DenebIMPS
        allocation:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Allocation
        liquidity_pool:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.LiquidityPool
        zengin_v2:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.ZenginV2
        direct_deposit:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.DirectDeposit
        sepa_v2:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.SepaV2
        zepto:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Zepto
        pix_ebanx:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.PixEbanx
        signet:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Signet
        derivative_settlement:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.DerivativeSettlement
        user:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.User
        sg_fast:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.SgFast
        interac:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Interac
        intra_bank:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.IntraBank
        cbit:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Cbit
        ideal:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Ideal
        sofort:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Sofort
        sg_paynow:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.SgPayNow
        checkout_payment_link:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.CheckoutPaymentLink
        email_address:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.EmailAddress
        phone_number:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.PhoneNumber
        vendor_payment:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.VendorPayment
        ctn:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.CTN
        bancomat_pay:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.BancomatPay
        hot_wallet:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.HotWallet
        nova_account:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.NovaAccount
        magic_spend_blockchain_address:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.MagicSpendBlockchainAddress
        transfer_pointer:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.TransferPointer
        eft:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Eft
        wallace_account:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.WallaceAccount
        manual:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Manual
        argentine_bank_account:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.ArgentineBankAccountDetails
        representment:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Representment
        banking_circle_now:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.BankingCircleNowDetails
        trustly:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.TrustlyDetails
        blik:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.BlikDetails
        mb_way:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.MbWayDetails
        pix:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.PixDetails
        magic_wallet:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.MagicWallet
        samsung_pay:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.SamsungPay
        cad_wire:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.CadWireDetails
        wab_intra_bank:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.WabIntraBankDetails
        india_bank_account:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.IndiaBankAccountDetails
        jpmorgan_kinexys:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.JpmorganKinexysDetails
        sic:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.SicDetails
        spei:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.SpeiDetails
      title: |-
        PaymentMethod is a wrapper describing a specific type of payment method.
         this is probably the only type you need to modify (and possibly VerificationRequest/Response)
    coinbase.simple_trade.models.UnitPrice:
      type: object
      properties:
        target_to_fiat:
          description: e.g. for a BTC-ETH trade $3K / ETH.
          allOf:
            - $ref: '#/components/schemas/coinbase.simple_trade.models.ScaledAmount'
        target_to_source:
          description: |-
            e.g. for a BTC-ETH trade 25 ETH / BTC.
            Only set for C2C trades.
          allOf:
            - $ref: '#/components/schemas/coinbase.simple_trade.models.ScaledAmount'
        source_to_fiat:
          description: |-
            e.g. for a BTC-ETH trade $6K / BTC
            Only set for C2C trades.
          allOf:
            - $ref: '#/components/schemas/coinbase.simple_trade.models.ScaledAmount'
      title: >-
        UnitPrice represents the price of a currency to fiat and to the source
        of trade. For fiat trades target_to_fiat may be equivalent to
        target_to_source
    coinbase.simple_trade.models.UserWarning:
      type: object
      properties:
        id:
          type: string
        link:
          allOf:
            - $ref: '#/components/schemas/coinbase.consumer.shared.common.Link'
        context:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.simple_trade.models.UserWarningContext
        code:
          type: string
        message:
          type: string
      title: >-
        UserWarning provides context on the user warning and if it should be
        visible to the user
    coinbase.simple_trade.models.Error:
      type: object
      properties:
        message:
          type: string
        code:
          type: string
        error_code:
          allOf:
            - $ref: '#/components/schemas/coinbase.simple_trade.models.ErrorCodes'
        error_cta:
          allOf:
            - $ref: '#/components/schemas/coinbase.simple_trade.models.ErrorCta'
        error_metadata:
          allOf:
            - $ref: '#/components/schemas/coinbase.simple_trade.models.ErrorMetadata'
        title:
          type: string
      description: >-
        these are errors which prevent us from creating trades. Ie, BlackListed
        card
      title: |-
        Error is a generic message/code response used for cancellation reasons.
        These include a CTA
    coinbase.simple_trade.SubscriptionInfo:
      type: object
      properties:
        free_trading_reset_date:
          type: string
          format: RFC3339 Timestamp
        used_zero_fee_trading:
          allOf:
            - $ref: '#/components/schemas/coinbase.consumer.shared.common.Amount'
        remaining_free_trading_volume:
          allOf:
            - $ref: '#/components/schemas/coinbase.consumer.shared.common.Amount'
        max_free_trading_volume:
          allOf:
            - $ref: '#/components/schemas/coinbase.consumer.shared.common.Amount'
        has_benefit_cap:
          type: boolean
        applied_subscription_benefit:
          type: boolean
        fee_without_subscription_benefit:
          allOf:
            - $ref: '#/components/schemas/coinbase.consumer.shared.common.Amount'
        payment_method_fee_without_subscription_benefit:
          allOf:
            - $ref: '#/components/schemas/coinbase.consumer.shared.common.Amount'
      title: >-
        SubscriptionInfo is the user's coinbase one subscription info for the
        trade
    coinbase.simple_trade.TaxInfo:
      type: object
      properties:
        name:
          type: string
        amount:
          allOf:
            - $ref: '#/components/schemas/coinbase.consumer.shared.common.Amount'
      title: >-
        TaxInfo contains all the information of any tax which is applicable for
        a trade
    coinbase.simple_trade.TradeIncentiveInfo:
      type: object
      properties:
        applied_incentive:
          type: boolean
        user_incentive_id:
          type: string
        code_val:
          type: string
        ends_at:
          type: string
          format: RFC3339 Timestamp
        fee_without_incentive:
          allOf:
            - $ref: '#/components/schemas/coinbase.consumer.shared.common.Amount'
        redeemed:
          type: boolean
      title: >-
        TradeIncentiveInfo contains the user's simple trade incentive info for
        the trade
    coinbase.simple_trade.models.Disclosure:
      type: object
      properties:
        title:
          type: string
        description:
          type: string
        link:
          allOf:
            - $ref: '#/components/schemas/coinbase.consumer.shared.common.Link'
      title: Disclosure represents a localized disclosure for a fee
    coinbase.simple_trade.models.WaivedDetails:
      type: object
      properties:
        amount:
          allOf:
            - $ref: '#/components/schemas/coinbase.consumer.shared.common.Amount'
        source:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.simple_trade.models.WaivedFeeSource
      title: WaivedDetails contains details when the fee is waived
    coinbase.simple_trade.models.FeeMetadata:
      type: object
      properties:
        netburn:
          title: Netburn fee metadata (optional)
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.simple_trade.models.NetBurnFeeMetadata
      title: FeeMetadata provides mongo-compatible fee metadata (avoids oneof issues)
    coinbase.payments.common.payment_methods.PaymentMethod.Type:
      type: string
      enum:
        - INVALID
        - UNSET
        - BLOCKCHAIN_ADDRESS
        - COINBASE_ACCOUNT
        - BLOCKCHAIN_TRANSACTION
        - FEDWIRE
        - SWIFT
        - CARD
        - ZENGIN
        - UK
        - SEPA
        - PAYPAL
        - LEDGER_ACCOUNT
        - EXTERNAL_PAYMENT_METHOD
        - PRO_ACCOUNT
        - RTP
        - CARD_REPRESENTMENT
        - VENUE
        - LEDGER_NAMED_ACCOUNT
        - CUSTODIAL_POOL
        - APPLE_PAY
        - DEFAULT_ACCOUNT
        - REMITLY
        - PRO_INTERNAL_ACCOUNT
        - DAPP_WALLET_ACCOUNT
        - GOOGLE_PAY
        - DAPP_WALLET_BLOCKCHAIN_ADDRESS
        - ZAAKPAY_MOBIKWIK
        - DENEB_UPI
        - BANK_ACCOUNT
        - IDENTITY_CONTRACT_CALL
        - DENEB_IMPS
        - ALLOCATION
        - LIQUIDITY_POOL
        - ZENGIN_V2
        - DIRECT_DEPOSIT
        - SEPA_V2
        - ZEPTO
        - PIX_EBANX
        - SIGNET
        - DERIVATIVE_SETTLEMENT
        - USER
        - SG_FAST
        - INTERAC
        - INTRA_BANK
        - CBIT
        - IDEAL
        - SOFORT
        - SG_PAYNOW
        - CHECKOUT_PAYMENT_LINK
        - EMAIL_ADDRESS
        - PHONE_NUMBER
        - VENDOR_PAYMENT
        - CTN
        - BANCOMAT_PAY
        - HOT_WALLET
        - NOVA_ACCOUNT
        - MAGIC_SPEND_BLOCKCHAIN_ADDRESS
        - TRANSFER_POINTER
        - EFT
        - WALLACE_ACCOUNT
        - MANUAL
        - ARGENTINE_BANK_ACCOUNT
        - REPRESENTMENT
        - BANKING_CIRCLE_NOW
        - TRUSTLY
        - BLIK
        - MB_WAY
        - PIX
        - MAGIC_WALLET
        - SAMSUNG_PAY
        - CAD_WIRE
        - WAB_INTRA_BANK
        - INDIA_BANK_ACCOUNT
        - OPEN_BANKING
        - SPEI
        - JPMORGAN_KINEXYS
        - SIC
        - PIX_DEPOSIT
        - PIX_WITHDRAWAL
        - FAKE_ACH
      default: INVALID
      title: >-
        - CAD_WIRE: Canada Wire payment type
         - WAB_INTRA_BANK: WAB Intra Bank Transfer payment type
         - INDIA_BANK_ACCOUNT: India Bank Account payment type
         - OPEN_BANKING: While OB is a facilitator and not an indepedent payment method, it can be displayed
        to the user as an available payment method. Concrete payment method will
        be UK

        or SEPA_V2 which hold open banking details.
         - SPEI: Mexico SPEI payment type
         - JPMORGAN_KINEXYS: JPMorgan Kinexys is a 24x7 real-time cross-border network for clients of JPMorgan.
         - SIC: CHF SIC payment type for Swiss users
         - PIX_DEPOSIT: Used by PMSvc for legacy PIX deposit while it's being deprecated
         - PIX_WITHDRAWAL: Used by PMSvc for legacy PIX withdrawal while it's being deprecated
         - FAKE_ACH: Test PMs (9001-9999); prefix all pm types with FAKE_
        Fake implementation of an ACH payment method
    coinbase.payments.common.payment_methods.BlockchainAddress:
      type: object
      properties:
        address:
          type: string
        destination_tag:
          type: string
    coinbase.payments.common.payment_methods.CoinbaseAccount:
      type: object
      properties:
        account_id:
          type: string
      title: uniquely identifies a user's Coinbase account
    coinbase.payments.common.payment_methods.BlockchainTransaction:
      type: object
      properties:
        hsh:
          type: string
        height:
          type: integer
          format: int32
        normalized_hash:
          type: string
          description: >-
            optional, for cases such as Scot asset deposit/withdrawal, needed
            for Nova & Wallets data stream.
    coinbase.payments.common.payment_methods.Fedwire:
      type: object
      properties:
        routing_number:
          type: string
          title: 'AIDoc: The routing number for the fedwire payment method'
        account_holder:
          title: 'AIDoc: The account holder information'
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.FedwireAccount
        bank:
          title: 'AIDoc: The primary bank institution details'
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.FedwireInstitution
        intermediary_bank:
          title: 'AIDoc: The intermediary bank institution details, if applicable'
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.FedwireInstitution
        currency:
          type: string
          title: 'AIDoc: The currency code for the payment method'
        fiat_id:
          type: string
          title: >-
            AIDoc: ONLY used by prime admin - Venue Entity Type reference code
            onboarding
        rejection_count_v2:
          type: integer
          format: int32
          title: 'AIDoc: The number of rejections for this fedwire payment method'
      title: >-
        Fedwire contains all information necessary to initiate a payment to/from
        a fedwire eligible bank account.

        Format based on the Fedwire Format Reference Guide Nov 2014
    coinbase.payments.common.payment_methods.Swift:
      type: object
      properties:
        account_holder:
          title: 'AIDoc: The account holder information'
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.SwiftAccount
        institution:
          title: 'AIDoc: The primary financial institution details'
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.SwiftInstitution
        intermediary:
          title: >-
            AIDoc: The intermediary bank details (populated if intermediary bank
            is used)
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.SwiftInstitution
        currency:
          type: string
          title: 'AIDoc: The currency code for the payment method'
        rejection_count:
          type: integer
          format: int32
          title: 'AIDoc: The number of rejections for this SWIFT payment method'
      title: 'AIDoc: Represents details for a SWIFT payment method'
    coinbase.payments.common.payment_methods.Card:
      type: object
      properties:
        first_data_token:
          title: Vendor-Specific Tokens and Parameters
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.FirstDataToken
        merchant:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Merchant
        vault_token:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.VaultToken
        worldpay_params:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.WorldpayParams
        checkout_token:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.CheckoutToken
        stripe_params:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.StripeParams
        six_digit_bin:
          type: string
          title: Card Identification
        last_four:
          type: string
        eight_digit_bin:
          type: string
        card_sub_brand:
          type: string
        card_brand:
          type: string
        obfuscated_pan:
          type: string
        bin_info:
          allOf:
            - $ref: '#/components/schemas/coinbase.bin_check.CardInfo'
        scheme:
          title: Card Network and Issuer Information
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Card.Scheme
        issuer:
          type: string
        issuer_country_code:
          type: string
        address:
          title: Customer Information
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Address
        phone_number:
          type: string
        user_id:
          type: string
        postal_code:
          type: string
        customer_info:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.CustomerInfo
        expiry_date:
          title: Card Expiration and Timestamps
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.ExpiryDate
        cdv_method:
          type: string
          title: Card Debit Verification (CDV)
        cdv_amount_1:
          allOf:
            - $ref: '#/components/schemas/coinbase.payments.shared.Money'
        cdv_amount_2:
          allOf:
            - $ref: '#/components/schemas/coinbase.payments.shared.Money'
        worldpay_card_cdv_status:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.WorldpayCardCdvStatus
        previous_scheme_tx_id:
          type: string
          title: Transaction and Scheme References
        initial_scheme_tx_id:
          type: string
        rejected:
          type: boolean
          title: Rejection Status
        rejected_at:
          type: string
          format: RFC3339 Timestamp
        rejection_count:
          type: integer
          format: int32
        rejected_via_purchase:
          type: boolean
        account_updater_updated_at:
          type: string
          format: RFC3339 Timestamp
          title: Account Updater
        account_updater_reason:
          type: string
        account_updater_status:
          type: string
        almost_expired_notified:
          type: boolean
          title: Migration and Notification Status
        is_migrated_card:
          type: boolean
        migrated_created_at:
          type: string
          format: RFC3339 Timestamp
        card_source:
          title: Metadata
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.CardSource
        added_via_buy_widget:
          type: boolean
        encrypted_data:
          type: string
        verification_method:
          type: string
        coinbase_credit_card_params:
          title: Coinbase Credit Card
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.CoinbaseCreditCardParams
        address_verification_info:
          title: Risk Verification
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.AddressVerificationInfo
        account_name_inquiry:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.AccountNameInquiryDetails
        customer_name:
          type: string
          title: Deprecated Fields
        customer_first_name:
          type: string
        customer_last_name:
          type: string
        customer_dob:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Card.Dob
      title: |-
        The card as a payment method source or target
        Next available field number: 52
    coinbase.payments.common.payment_methods.Zengin:
      type: object
      properties:
        account_holder:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.ZenginAccount
        institution:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.ZenginInstitution
      description: >-
        For withdrawals: contains all info to initiate payment to a Zengin
        eligible bank account. (MUFG-only)

        For deposits: contains info to initiate payment to a Coinbase Fiat
        account.
    coinbase.payments.common.payment_methods.Uk:
      type: object
      properties:
        account_holder:
          title: 'AIDoc: The account holder information'
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.UkAccount
        institution:
          title: 'AIDoc: The financial institution details'
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.UkInstitution
        customer_first_name:
          type: string
          title: 'AIDoc: The customer''s first name'
        customer_last_name:
          type: string
          title: 'AIDoc: The customer''s last name'
        email:
          type: string
          title: 'AIDoc: The customer''s email address'
        phone_number:
          type: string
          title: 'AIDoc: The customer''s phone number'
        currency:
          type: string
          title: 'AIDoc: The currency code for the payment method'
        open_banking_details:
          title: 'AIDoc: Open Banking details for bank identification'
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.OpenBankingDetails
      title: 'AIDoc: Represents details for a UK bank transfer'
    coinbase.payments.common.payment_methods.Sepa:
      type: object
      properties:
        account_holder:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.SepaAccount
        institution:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.SepaInstitution
        customer_first_name:
          type: string
        customer_last_name:
          type: string
        email:
          type: string
        phone_number:
          type: string
    coinbase.payments.common.payment_methods.Paypal:
      type: object
      properties:
        account_holder:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.PaypalAccount
        merchant:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.PaypalMerchant
        metadata:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.PaypalMetadata
        email:
          type: string
        owner_name:
          type: string
        birth_date:
          type: string
        phone_number:
          type: string
        phone_type:
          type: string
        billing_address:
          allOf:
            - $ref: '#/components/schemas/coinbase.payments.common.Address'
        braintree_customer_id:
          type: string
        payment_method_nonce:
          type: string
        payer_id:
          type: string
    coinbase.payments.common.payment_methods.LedgerAccount:
      type: object
      properties:
        account_id:
          type: string
        currency:
          type: string
        owner:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Owner
        account_uuid:
          type: string
        account_name:
          type: string
      title: uniquely identifies an account in the Ledger Service
    coinbase.payments.common.payment_methods.ExternalPaymentMethod:
      type: object
      properties:
        payment_method_id:
          type: string
      title: >-
        uniquely identifies am external payment method in the Payment Method
        Service
    coinbase.payments.common.payment_methods.ProAccount:
      type: object
      properties:
        account_id:
          type: string
        coinbase_account_id:
          type: string
        user_id:
          type: string
        currency:
          type: string
        portfolio_id:
          type: string
      title: uniquely identifies an account on Pro
    coinbase.payments.common.payment_methods.Rtp:
      type: object
      properties:
        account_holder:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.RtpAccount
        institution:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.RtpInstitution
        currency:
          type: string
      description: >-
        For withdrawals: contains all info to initiate payment to eligible bank
        account.

        For deposits: contains info to initiate payment to a Coinbase Fiat
        account.
    coinbase.payments.common.payment_methods.Venue:
      type: object
      properties:
        name:
          type: string
    coinbase.payments.common.payment_methods.LedgerNamedAccount:
      type: object
      properties:
        name:
          type: string
        currency:
          type: string
        foreign_network:
          type: string
      title: uniquely identifies a named account in the Ledger Service
    coinbase.payments.common.payment_methods.CustodialPool:
      type: object
      properties:
        name:
          type: string
        network:
          type: string
        fiat_id:
          type: string
      title: >-
        note this is to support transaction logs where everything is expected to
        be a pm for a transfers source and target
    coinbase.payments.common.payment_methods.ApplePay:
      type: object
      properties:
        braintree:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.ApplePay.BraintreeData
        apple_pay:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.DigitalWalletDetails
        user_id:
          type: string
        postal_code:
          type: string
          title: >-
            The following fields can be populated on the PM after an order

            is submitted in the InstructionResponse. They should not be filled
            in

            a normal order Instruction though
        customer_name:
          type: string
        address:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Address
        six_digit_bin:
          type: string
        last_four:
          type: string
        issuing_country:
          type: string
        issuing_bank:
          type: string
        product_id:
          type: string
        customer_dob:
          type: string
          title: Date of birth in YYYY-MM-DD format
        billing_address_id:
          type: string
          title: Users address id
        currency:
          type: string
          title: Currency of the transaction
        scheme:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.ApplePay.Scheme
        prepaid:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.ApplePay.Result
        debit:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.ApplePay.Result
      title: uniquely identifies a user's Coinbase account
    coinbase.payments.common.payment_methods.DefaultAccount:
      type: object
      properties:
        user_uuid:
          type: string
        currency:
          type: string
    coinbase.payments.common.payment_methods.Remitly:
      type: object
      properties:
        account_holder:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.RemitlyAccount
    coinbase.payments.common.payment_methods.ProInternalAccount:
      type: object
      properties:
        user_id:
          type: string
        currency:
          type: string
      title: uniquely identifies an internal account on Pro
    coinbase.payments.common.payment_methods.DAppWalletAccount:
      type: object
      properties:
        user_uuid:
          type: string
        network:
          type: string
        cohort_id:
          type: string
        signing_backend:
          type: string
        currency:
          type: string
      title: uniquely identifies a user's dapp wallet account/address
    coinbase.payments.common.payment_methods.GooglePay:
      type: object
      properties:
        braintree:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.GooglePay.BraintreeData
        google_pay:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.DigitalWalletDetails
        user_id:
          type: string
        postal_code:
          type: string
          title: >-
            The following fields can be populated on the PM after an order

            is submitted in the InstructionResponse. They should not be filled
            in

            a normal order Instruction though
        customer_name:
          type: string
        address:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Address
        six_digit_bin:
          type: string
        last_four:
          type: string
        issuing_country:
          type: string
        issuing_bank:
          type: string
        product_id:
          type: string
        customer_dob:
          type: string
          title: Date of birth in YYYY-MM-DD format
        billing_address_id:
          type: string
          title: Users address id
        currency:
          type: string
          title: Currency of the transaction
        scheme:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.GooglePay.Scheme
        prepaid:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.GooglePay.Result
        debit:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.GooglePay.Result
      title: uniquely identifies a user's Coinbase account
    coinbase.payments.common.payment_methods.DAppWalletBlockchainAddress:
      type: object
      properties:
        network:
          type: string
        address:
          type: string
        cohort_id:
          type: string
        user_uuid:
          type: string
        pool:
          type: string
    coinbase.payments.common.payment_methods.ZaakpayMobikwik:
      type: object
      properties:
        phone_number:
          type: string
      description: Represents a customer's mobikwik account.
    coinbase.payments.common.payment_methods.DenebUPI:
      type: object
      properties:
        vpa_id:
          type: string
        customer_first_name:
          type: string
        customer_last_name:
          type: string
        email:
          type: string
        phone_number:
          type: string
        pan:
          type: string
        address:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Address
    coinbase.payments.common.payment_methods.BankAccount:
      type: object
      properties:
        customer_account_type:
          type: string
        customer_account_number:
          type: string
        customer_routing_number:
          type: string
        customer_name:
          type: string
        currency:
          type: string
          title: default USD in code
        bank_name:
          type: string
          title: This is called 'name' in PMSvc ACH proto
        ach_entry_class:
          type: string
        verification_method:
          type: string
          title: default 'cdv' in code
        cdv_amount_1:
          allOf:
            - $ref: '#/components/schemas/coinbase.payments.shared.Money'
        cdv_amount_2:
          allOf:
            - $ref: '#/components/schemas/coinbase.payments.shared.Money'
        ach_invalid_account:
          type: boolean
        ach_bad_account:
          type: boolean
        received_non_nsf_return:
          type: boolean
        giactInfo:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.GiactInfo
        vendor_verification_status:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.VendorVerificationStatus
        plaid_verification_info:
          description: Information about the Plaid Info linked through Plaid.
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.PlaidInfo
        stripe_verification_info:
          description: Information about the financial connections linked through Stripe.
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.StripeFinancialConnectionsInfo
    coinbase.payments.common.payment_methods.IdentityContractCall:
      type: object
      properties:
        network:
          type: string
        address:
          type: string
    coinbase.payments.common.payment_methods.DenebIMPS:
      type: object
      properties:
        ifsc_code:
          type: string
        account_number:
          type: string
        customer_first_name:
          type: string
        customer_last_name:
          type: string
        email:
          type: string
        phone_number:
          type: string
        pan:
          type: string
        address:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Address
    coinbase.payments.common.payment_methods.Allocation:
      type: object
      properties:
        id:
          type: string
        legs:
          type: array
          items:
            $ref: >-
              #/components/schemas/coinbase.payments.common.payment_methods.AllocationLeg
        is_netted:
          type: boolean
    coinbase.payments.common.payment_methods.LiquidityPool:
      type: object
      properties:
        network:
          type: string
        pool:
          type: string
        currency:
          type: string
        account_id:
          type: string
        from_address:
          type: string
      title: For the purpose of Liquidity Management
    coinbase.payments.common.payment_methods.ZenginV2:
      type: object
      properties:
        account_holder:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.ZenginV2Account
        institution:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.ZenginV2Institution
      description: >-
        For withdrawals: contains all info to initiate payment to a Zengin
        eligible bank account (non-MUFG).

        For deposits: contains info to initiate payment to a Coinbase Fiat
        account.
    coinbase.payments.common.payment_methods.DirectDeposit:
      type: object
      properties:
        direct_deposit_account:
          type: string
    coinbase.payments.common.payment_methods.SepaV2:
      type: object
      properties:
        account:
          description: The SEPA account details.
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.SepaAccountDetail
        customer_first_name:
          type: string
          title: 'AIDoc: The customer''s first name'
        customer_last_name:
          type: string
          title: 'AIDoc: The customer''s last name'
        email:
          type: string
          title: 'AIDoc: The customer''s email address'
        phone_number:
          type: string
          title: 'AIDoc: The customer''s phone number'
        customer_country:
          type: string
          description: Customer's country in ISO-3166-1 ALPHA-2.
        address:
          description: 'Deprecated. Address was required for Banking Circle '
          allOf:
            - $ref: '#/components/schemas/coinbase.payments.common.Address'
        supports_open_banking:
          type: boolean
          description: Meant to be used for routing in PGS.
        banking_circle_token:
          description: Used for SEPA Direct Debit payments.
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.BankingCircleToken
        institution:
          title: 'AIDoc: The financial institution details'
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.SepaInstitution
        currency:
          type: string
          title: 'AIDoc: The currency code for the payment method'
        fiat_id:
          type: string
          title: >-
            ONLY used by prime admin - Venue Entity Type reference code
            onboarding
        direct_debit_ineligible:
          type: boolean
          description: >-
            If the user's bank account does not support this flow,
            direct_debit_ineligible will be marked explicitly as true.

            So that users will be refrained from attempting with this payment
            method again.
        open_banking_details:
          title: 'AIDoc: Open Banking details for bank identification'
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.OpenBankingDetails
      description: SepaV2 identifies for the payment method SEPA_V2
    coinbase.payments.common.payment_methods.Zepto:
      type: object
      properties:
        account:
          title: 'AIDoc: The Zepto account information'
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.ZeptoAccount
        institution:
          title: 'AIDoc: The Zepto institution information'
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.ZeptoInstitution
      title: Zepto identifies the ZEPTO payment method
    coinbase.payments.common.payment_methods.PixEbanx:
      type: object
      properties:
        payment_method_id:
          type: string
        user_uuid:
          type: string
        deposit:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.PixEbanx.PixDeposit
        withdrawal:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.PixEbanx.PixWithdrawal
    coinbase.payments.common.payment_methods.Signet:
      type: object
      properties:
        signet_wallet_id:
          type: string
    coinbase.payments.common.payment_methods.DerivativeSettlement:
      type: object
      properties:
        account_settlements:
          type: array
          items:
            $ref: >-
              #/components/schemas/coinbase.payments.common.payment_methods.DerivativeSettlement.AccountSettlement
          title: derivative EOD settlement can involve one or more fund movements
        equity_reset:
          title: optionally reset CFM equity account
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.DerivativeSettlement.EquityReset
    coinbase.payments.common.payment_methods.User:
      type: object
      properties:
        user_uuid:
          type: string
    coinbase.payments.common.payment_methods.SgFast:
      type: object
      properties:
        account:
          title: 'AIDoc: The account details for the FAST transfer'
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.SgFastAccount
        institution:
          title: 'AIDoc: The financial institution details'
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.SgFastInstitution
        direct_debit_auth_state:
          title: 'AIDoc: The current state of direct debit authorisation'
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.SgFastDirectDebitAuthorisationState
        direct_debit_token:
          type: string
          title: 'AIDoc: Token for direct debit authorisation'
      title: SgFast identifies the FAST Bank Transfer payment method in Singapore
    coinbase.payments.common.payment_methods.Interac:
      type: object
      properties:
        account:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Interac.Account
        pmsvc_id:
          type: string
        withdrawal_only:
          type: boolean
        coinbase_email:
          type: string
    coinbase.payments.common.payment_methods.IntraBank:
      type: object
      properties:
        currency:
          type: string
        account_number:
          type: string
        routing_number:
          type: string
        customer_name:
          type: string
        fiat_id:
          type: string
    coinbase.payments.common.payment_methods.Cbit:
      type: object
      properties:
        cbit_wallet_address:
          type: string
          title: 'AIDoc: The wallet address for the CBIT payment method'
        customers_bank_account_id:
          type: string
          title: 'AIDoc: The customer''s bank account identifier'
        currency:
          type: string
          title: 'AIDoc: The currency code for the payment method'
      title: 'AIDoc: Represents details for a CBIT payment method'
    coinbase.payments.common.payment_methods.Ideal:
      type: object
      properties:
        currency:
          type: string
        iban:
          type: string
        bic:
          type: string
        bank_name:
          type: string
        customer_payment_name:
          type: string
        customer_country_code:
          type: string
      title: ''
    coinbase.payments.common.payment_methods.Sofort:
      type: object
      properties:
        currency:
          type: string
        iban:
          type: string
        bic:
          type: string
        bank_name:
          type: string
        customer_payment_name:
          type: string
        customer_country_code:
          type: string
      title: ''
    coinbase.payments.common.payment_methods.SgPayNow:
      type: object
      properties:
        identifier_type:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.SgPayNow.IdentifierType
        identifier:
          type: string
        customer_name:
          type: string
      description: SgPayNow identifies the PayNow Transfer payment method in Singapore.
    coinbase.payments.common.payment_methods.CheckoutPaymentLink:
      type: object
      properties:
        payment_link_id:
          type: string
      title: unique identifier for a checkout.com payment link
    coinbase.payments.common.payment_methods.EmailAddress:
      type: object
      properties:
        value:
          type: string
    coinbase.payments.common.payment_methods.PhoneNumber:
      type: object
      properties:
        value:
          type: string
    coinbase.payments.common.payment_methods.VendorPayment:
      type: object
      properties:
        vendor_name:
          type: string
        vendor_payment_id:
          type: string
      title: vendor payment is currenly only used by coinbase pay guest checkout
    coinbase.payments.common.payment_methods.CTN:
      type: object
      properties:
        id:
          type: string
    coinbase.payments.common.payment_methods.BancomatPay:
      type: object
      properties:
        customer_name:
          type: string
        account:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.BancomatPayAccount
    coinbase.payments.common.payment_methods.HotWallet:
      type: object
      properties:
        network:
          type: string
        address:
          type: string
    coinbase.payments.common.payment_methods.NovaAccount:
      type: object
      properties:
        network:
          type: string
        nova_account_id:
          type: string
        pool_name:
          type: string
        account_idempotency_key:
          type: string
    coinbase.payments.common.payment_methods.MagicSpendBlockchainAddress:
      type: object
      properties:
        address:
          type: string
        destination_tag:
          type: string
      title: >-
        MagicSpendBlockchainAddress is specific object of type
        blockchain_address

        which is used to uniquely identifies if a user is using magic spend
        feature

        to send funds to a smart contract wallet
    coinbase.payments.common.payment_methods.TransferPointer:
      type: object
      properties:
        idem:
          type: string
    coinbase.payments.common.payment_methods.Eft:
      type: object
      properties:
        account:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Eft.Account
    coinbase.payments.common.payment_methods.WallaceAccount:
      type: object
      properties:
        wallace_account_id:
          type: string
        pool_name:
          type: string
    coinbase.payments.common.payment_methods.Manual:
      type: object
      properties:
        settlement_bank_name:
          type: string
        settlement_account_number:
          type: string
        reference:
          type: string
      title: >-
        ManualDeposit as a payment method source or target for manual fiat
        deposits
    coinbase.payments.common.payment_methods.ArgentineBankAccountDetails:
      type: object
      properties:
        tax_id:
          type: string
        cbu:
          type: string
    coinbase.payments.common.payment_methods.Representment:
      type: object
      properties:
        currency:
          type: string
      title: Representment debit won to overturn a card chargeback
    coinbase.payments.common.payment_methods.BankingCircleNowDetails:
      type: object
      properties:
        iban:
          type: string
        currency:
          type: string
        customer_payment_name:
          type: string
    coinbase.payments.common.payment_methods.TrustlyDetails:
      type: object
      properties:
        country:
          type: string
          description: >-
            The country where the payer's bank account is located. Populated for
            all Trustly payments in the PMSvc API response.
        iban:
          type: string
          description: >-
            IBAN of the payer. This field is optional and may not be populated
            for all Trustly payments in the PMSvc API response.
        account_holder:
          type: string
          description: >-
            Account holder names. This field is optional and may not be
            populated for all Trustly payments in the PMSvc API response.
        bank_code:
          type: string
          description: >-
            Bank code of the payer's bank account. This field is optional and
            may not be populated for all Trustly payments in the PMSvc API
            response.
        account_number:
          type: string
          description: >-
            Bank account number belonging to the payer. This field is optional
            and may not be populated for all Trustly payments in the PMSvc API
            response.
        partial_account_number:
          type: string
          description: >-
            Partial Account Number belonging to the payer. Populated for all
            Trustly payments in the PMSvc API response.
        bank_name:
          type: string
          description: >-
            Bank name of the payer. Populated for all Trustly payments in the
            PMSvc API response.
        email:
          type: string
          description: >-
            Consumer Email. Populated for all Trustly payments in the PMSvc API
            response.
      description: >-
        https://developerhub.ppro.com/simple-api/docs/trustly#specific-input-parameters-for-the-transaction-call.
    coinbase.payments.common.payment_methods.BlikDetails:
      type: object
      properties:
        email:
          type: string
          title: The RFC-compliant email address of the account holder. (Optional)
        country:
          type: string
          description: >-
            The country where the payer's bank account is located. Populated for
            all Blik payments in the PMSvc API response.
        account_holder:
          type: string
          description: >-
            Account holder names. This field is optional and may not be
            populated for all Blik payments in the PMSvc API response.
      title: >-
        https://developerhub.ppro.com/simple-api/docs/blik-redirect#specific-input-parameters-for-the-transaction-call
    coinbase.payments.common.payment_methods.MbWayDetails:
      type: object
      properties:
        account_holder:
          type: string
          description: Account holder name linked to this MB Way account.
        country:
          type: string
          description: The country where the payer's bank account is located.
        phone_number:
          type: string
          description: |-
            Phone number linked to this MB Way account.
            Country code followed by hash symbol (#) followed by rest of number.
      title: >-
        MB Way payment method details.

        https://developerhub.ppro.com/simple-api/docs/mb-way#specific-input-parameters-for-the-transaction-call
    coinbase.payments.common.payment_methods.PixDetails:
      type: object
      properties:
        account_number:
          type: string
          title: The account number for the PIX transaction
        account_type:
          type: string
          title: The type of account (e.g., checking, savings)
        bank_code:
          type: string
          title: The code of the bank involved in the transaction
        bank_name:
          type: string
          title: The name of the bank
        branch_number:
          type: string
          title: >-
            The branch number of the bank, do not use this field, use
            branch_code instead
        customer_payment_name:
          type: string
          title: The name of the customer making the payment
        sender_document:
          type: string
          title: >-
            The sender document for the transaction. It is really the tax_id of
            the sender: CPF for individual) or CNPJ for business in Brazil
        pix_key:
          type: string
          description: >-
            The PIX key for the transaction. Only used for withdraw. For
            deposit, it is not used.
        pix_account_type:
          description: The type of account.
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.PixAccountType
        branch_code:
          type: string
          title: The branch code of the bank
      title: Represents details for a PIX transaction
    coinbase.payments.common.payment_methods.MagicWallet:
      type: object
      properties:
        user_uuid:
          type: string
        network_name:
          type: string
          description: >-
            Specifies the blockchain and network. Similar to `chain_id` but more
            extensible (e.g. it can be `solana-mainnet` or `base-mainnet`).
        wallet_name:
          type: string
          title: >-
            The wallet name is mapped to a wallet address for a user and
            network. Stored in FAS right now. This should match

            names defined in
            https://buf.cbhq.net/retail/dex/docs/main:coinbase.magic_wallet.common#coinbase.magic_wallet.common.MagicWalletName
    coinbase.payments.common.payment_methods.SamsungPay:
      type: object
      properties:
        samsung_pay:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.DigitalWalletDetails
        user_id:
          type: string
          title: uniquely identifies a user's Coinbase account
        postal_code:
          type: string
          title: >-
            The following fields can be populated on the PM after an order

            is submitted in the InstructionResponse. They should not be filled
            in

            A normal order Instruction though

            Billing postal code for the card
        customer_name:
          type: string
        address:
          title: Billing address for the card
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Address
        six_digit_bin:
          type: string
        last_four:
          type: string
        issuing_country:
          type: string
        issuing_bank:
          type: string
        product_id:
          type: string
        customer_dob:
          type: string
          title: Date of birth in YYYY-MM-DD format
        currency:
          type: string
          title: Currency of the transaction
        billing_address_id:
          type: string
          title: Users address id
        scheme:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.SamsungPay.Scheme
        prepaid:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.SamsungPay.Result
        debit:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.SamsungPay.Result
    coinbase.payments.common.payment_methods.CadWireDetails:
      type: object
      properties:
        account_number:
          type: string
        customer_payment_name:
          type: string
        account_address:
          type: string
        institution_number:
          type: string
          title: >-
            Part of the financial institution's routing information: the 3-digit
            Canadian financial institution number
        transit_number:
          type: string
          title: >-
            Part of the financial institution's routing information: the 5-digit
            branch transit number
        bank_address1:
          type: string
          title: The address of the customer's bank, required for outbound payments
        institution_name:
          type: string
          title: >-
            Name of the user's institution that was used for the CAD Wire
            transaction
    coinbase.payments.common.payment_methods.WabIntraBankDetails:
      type: object
      properties:
        account_id:
          type: string
          description: >-
            The account ID of the customer's WAB account for Intra Bank
            Transfer.
        customer_name:
          type: string
          description: The name of the customer.
      description: >-
        WabIntraBankDetails is the details of the customer's WAB account for
        Intra Bank Transfer.
    coinbase.payments.common.payment_methods.IndiaBankAccountDetails:
      type: object
      properties:
        account_number:
          type: string
          title: >-
            Beneficiary bank account number (9 - 18 alphanumeric character
            limit)
        ifsc_code:
          type: string
          title: >-
            An alphanumeric code used to uniquely identify every bank branch
            participating in online fund transfers (IMPS, NEFT, RTGS) within
            India. The format is typically XXXX0YYYYYY, where the first four
            characters represent the bank's name, the fifth character is always
            a zero, and the last six characters represent the specific branch
            code
        bank_name:
          type: string
          title: Beneficiary bank name
        customer_first_name:
          type: string
          title: >-
            First name of the customer

            Not used when interacting with vendors (e.g., Neokred) that return
            full name in account verification flow
        customer_last_name:
          type: string
          title: >-
            Last name of the customer

            Not used when interacting with vendors (e.g., Neokred) that return
            full name in account verification flow
        email:
          type: string
          title: Beneficiary email address, string in email Id format
        phone_number:
          type: string
          title: >-
            Beneficiary phone number registered in India (only digits, 10
            characters after stripping +91)
        pan_number:
          type: string
          title: >-
            The Indian Permanent Account Number (PAN) is a unique, 10-character
            alphanumeric identifier issued by the Income Tax Department
        customer_payment_name:
          type: string
          description: >-
            Full name of the owner of this account

            Used when the full name is provided in the response during account
            verification.
      title: Represents India Bank Account PM details
    coinbase.payments.common.payment_methods.JpmorganKinexysDetails:
      type: object
      properties:
        account_number:
          type: string
          description: >-
            The account number of the customer's Blockchain Deposit Account
            (BDA) for Kinexys transfers.
        bic:
          type: string
          description: The JPMorgan BIC for the branch servicing the user's BDA account.
      description: >-
        The details of the customer's Blockchain Deposit Account (BDA) enabled
        for Kinexys transfers.
    coinbase.payments.common.payment_methods.SicDetails:
      type: object
      properties:
        legal_name:
          type: string
          title: >-
            The legal name of the account holder (same as customer_payment_name
            in PMSvc definition)
        iban:
          type: string
          title: The International Bank Account Number
        swift:
          type: string
          title: Bank Identification SWIFT
        customer_payment_address1:
          type: string
          title: The first line of the customer payment address
        customer_payment_address2:
          type: string
          title: The second line of the customer payment address
        customer_payment_address3:
          type: string
          title: The third line of the customer payment address
        bank_name:
          type: string
          title: The name of the bank
        bank_address1:
          type: string
          title: The first line of the bank address
        bank_address2:
          type: string
          title: The second line of the bank address
        bank_address3:
          type: string
          title: The third line of the bank address
        bank_country_code:
          type: string
          title: The country code for the bank
    coinbase.payments.common.payment_methods.SpeiDetails:
      type: object
      properties:
        account_number:
          type: string
          title: The account number (CLABE)
        customer_name:
          type: string
          title: The name of the account holder
      description: >-
        *

        Contains all information necessary to process SPEI transactions
        including account number (CLABE) and customer name.

        SPEI is a real-time gross settlement system developed and operated by
        Banco de México, the country's central bank.

        It supports 24/7 electronic fund transfers between all major banks and
        can process transactions within seconds.
    coinbase.simple_trade.models.ScaledAmount:
      type: object
      properties:
        amount:
          allOf:
            - $ref: '#/components/schemas/coinbase.consumer.shared.common.Amount'
        scale:
          type: integer
          format: int32
      title: ScaledAmount provides a scale for reference with the common amount
    coinbase.consumer.shared.common.Link:
      type: object
      properties:
        text:
          type: string
        url:
          type: string
      title: |-
        In-app hyperlink, commonly used to reference support pages.
        e.g. Link(text: "Learn More", url: "https://help.coinbase.com/...")
    coinbase.simple_trade.models.UserWarningContext:
      type: object
      properties:
        details:
          type: array
          items:
            type: string
        title:
          type: string
        link_text:
          type: string
      title: >-
        UserWarningContext provides details into the user warning. Used for
        certain payment warnings
    coinbase.simple_trade.models.ErrorCodes:
      type: string
      enum:
        - ERROR_CODES_UNSPECIFIED
        - ERROR_CODES_AUTHENTICATION_ERROR
        - ERROR_CODES_PERMISSION_DENIED
        - ERROR_CODES_NOT_FOUND
        - ERROR_CODES_INTERNAL_SERVER_ERROR
        - ERROR_CODES_SERVICE_UNAVAILABLE
        - ERROR_CODES_INVALID
        - ERROR_CODES_REJECTED
        - ERROR_CODES_LIMIT_ERROR
        - ERROR_CODES_LIMIT_ERROR_INCREASE_ELIGIBLE
        - HIGH_RISK_SCORE_CANCELED
        - ERROR_CODES_DEPOSIT_CHECK_QUESTIONNAIRE_REQUIRED
        - ERROR_CODES_DEPOSIT_CHECK_FACEMATCH_REQUIRED
        - ERROR_CODES_DEPOSIT_CHECK_FACEMATCH_AND_QUESTIONNAIRE_REQUIRED
        - ERROR_CODES_INSUFFICIENT_BALANCE
        - ERROR_CODES_RATE_LIMITED
        - ERROR_CODES_ADDRESS_MISMATCH
        - ERROR_CODES_TRANSACTION_NOT_ALLOWED
        - DEPOSIT_NOT_AUTHORIZED
        - PLAID_INSUFFICIENT_FUNDS
        - ERROR_CODES_LIMIT_ERROR_IDV_MISSING
        - ERROR_CODES_PAYMENT_REJECTED_BY_PROVIDER
        - ERROR_CODES_MISSING_3DS_AUTHENTICATION
        - ERROR_CODES_AUTH_OR_WITHDRAWAL_LIMIT
        - ERROR_CODES_ACCOUNT_TOKEN_EXPIRY
        - ERROR_CODES_UNIMPLEMENTED
        - ERROR_CODES_ZERO_BALANCE
        - ERROR_CODES_IN_LIQUIDATION
        - ERROR_CODES_HIGH_RISK_TRANSFER_REJECTED
        - ERROR_CODES_INSUFFICIENT_FIAT_BUT_SUFFICIENT_SAVINGS
        - ERROR_CODES_TRADE_BLOCKED
        - ERROR_CODES_TRANSFER_UNKNOWN_ERROR
        - ERROR_CODES_TRANSFER_INVALID
        - ERROR_CODES_TRANSFER_REJECTED
        - ERROR_CODES_TRANSFERS_INTERNAL_ERROR
        - ERROR_CODES_TRANSFERS_HEDGER_ERROR
        - ERROR_CODES_BANK_ACCOUNT_VENDOR_CONNECTION_ISSUE
        - ERROR_CODES_CARD_EXPIRED
        - ERROR_CODES_FAILED_PAYMENT
        - ERROR_CODES_PAYMENT_NOT_AUTHORIZED
        - ERROR_CODES_PAYMENT_REJECTED
      default: ERROR_CODES_UNSPECIFIED
      description: ''
      title: ErrorCodes
    coinbase.simple_trade.models.ErrorCta:
      type: string
      enum:
        - ERROR_CTA_UNSPECIFIED
        - ERROR_CTA_BUY_MINIMUM
        - ERROR_CTA_BUY_MAXIMUM
        - ERROR_CTA_BUY_INSUFFICIENT_BALANCE
        - ERROR_CTA_SELL_MINIMUM
        - ERROR_CTA_SELL_ALL
        - ERROR_CTA_SWITCH_PAYMENT
        - ERROR_CTA_SELL_MAXIMUM
        - ERROR_CTA_MAINTENANCE
        - ERROR_CTA_INCREASE_POSITION_LIMIT
        - ERROR_CTA_SWITCH_HIGHER_LIMIT_PAYMENT_METHOD
        - ERROR_CTA_SG_PAYNOW_FAST_BANK_DEPOSIT
        - ERROR_CTA_US_LINK_BANK_ACCOUNT
        - ERROR_CTA_UK_BANK_ACCOUNT_DEPOSIT
        - ERROR_CTA_US_WIRE_TRANSFER_DEPOSIT
        - ERROR_CTA_UNTRADABLE_PRODUCT
        - ERROR_CTA_NO_LIQUIDITY
        - ERROR_CTA_DEPOSIT_INTO_PERPETUAL_PORTFOLIO
        - ERROR_CTA_TRANSFER_INTO_PERPETUAL_FROM_PRIMARY
        - ERROR_CTA_BANK_ACCOUNT_DEPOSIT
        - ERROR_CTA_LINK_BANK_ACCOUNT
      default: ERROR_CTA_UNSPECIFIED
      description: >-
        ErrorCTA indicates the call-to-action that should be shown to users when
        errors occur during trading flows.

        Used to guide users on how to resolve specific error conditions like
        insufficient funds,

        exceeded limits, or invalid payment methods.

         - ERROR_CTA_BANK_ACCOUNT_DEPOSIT: ERROR_CTA_BANK_ACCOUNT_DEPOSIT is used to promote deposit with bank account for Limit smart redirects feature.
        This is shared for UK, DE, NL, AU. The client needs to get user country
        code to render countries specific bank deposit instructions.
         - ERROR_CTA_LINK_BANK_ACCOUNT: ERROR_CTA_LINK_BANK_ACCOUNT is used for CA smart redirects when the user already has an EFT payment method linked,
        prompting them to use their bank account to increase their purchase
        limit.
    coinbase.simple_trade.models.ErrorMetadata:
      type: object
      properties:
        limit_amount:
          allOf:
            - $ref: '#/components/schemas/coinbase.consumer.shared.common.Amount'
        suggested_pm_uuid:
          type: string
        suggested_pm_obfuscated_name:
          type: string
        suggested_pm_category:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.simple_trade.models.SuggestedPaymentMethodCategory
      title: >-
        ErrorMetadata represents error metadata. ie: limit amount either from
        insufficient fund or payment method limit
    coinbase.simple_trade.models.WaivedFeeSource:
      type: string
      enum:
        - WAIVED_FEE_SOURCE_UNSPECIFIED
        - WAIVED_FEE_SOURCE_TRADE_INCENTIVE
        - WAIVED_FEE_SOURCE_COINBASE_ONE
        - WAIVED_FEE_SOURCE_FEE_REDUCTION_BADGE
        - WAIVED_FEE_SOURCE_TRADE_PROMOTION
      default: WAIVED_FEE_SOURCE_UNSPECIFIED
    coinbase.simple_trade.models.NetBurnFeeMetadata:
      type: object
      properties:
        threshold:
          allOf:
            - $ref: '#/components/schemas/coinbase.consumer.shared.common.Amount'
        netburn_value:
          allOf:
            - $ref: '#/components/schemas/coinbase.consumer.shared.common.Amount'
      title: NetBurnFeeMetadata contains metadata for net burn fee calculations
    coinbase.payments.common.payment_methods.FedwireAccount:
      type: object
      properties:
        legal_name:
          type: string
          title: 'AIDoc: The legal name of the account holder'
        account_number:
          type: string
          title: 'AIDoc: The account number at the financial institution'
        address:
          title: 'AIDoc: The address associated with the account'
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.FedwireAddress
      title: >-
        FedwireAccount represents an account at a financial institution eligible
        for Fedwire
    coinbase.payments.common.payment_methods.FedwireInstitution:
      type: object
      properties:
        name:
          type: string
          title: 'AIDoc: The name of the financial institution (must be present)'
        address:
          title: >-
            AIDoc: The address of the financial institution (must be present for
            Fedwire payments)
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.FedwireAddress
        identifier:
          type: string
          title: >-
            Required field that will be populated with a value according to the
            identifier_code.

            1. When identifier_code is 'F', this field represents a 9 digit ABA
            code and is likely to match

            the value of the `routing_number` field.

            Ex: "026009593"

            2. When identifier_code is 'B', this field represents an 8-11
            character SWIFT code, it *should* identify the same bank as the ABA
            code in

            `routing_number`. Some implementations (Crossriver) provide the
            Swift here instead

            Ex: "BOFAUS3N"

            3. When identifier_code is 'D', this field represents an account
            number. This usually means it is a "For Further Credit" (FFC) to the

            account number and there is an intermediary bank involved.

            Ex: "000004121345797"
        type:
          title: 'AIDoc: The type of institution identifier'
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.FedwireInstitution.Type
        identifier_code:
          type: string
          title: >-
            The beneficiary bank id code is a standard identifier which tells us
            what the beneficiary bank id value represents.

            B - SWIFT Bank Identifier Code (BIC)

            C - CHIPS Participant

            D - Demand Deposit Account (DDA) Number

            F - Fed Routing Number

            T - SWIFT BIC or Bank Entity Identifier (BEI) and Account Number

            U - CHIPS Identifier
      description: >-
        FedwireInstitution is usually a bank, but can also be credit unions or
        other financial institutions.
    coinbase.payments.common.payment_methods.SwiftAccount:
      type: object
      properties:
        legal_name:
          type: string
          title: >-
            AIDoc: The legal name of the account holder (same as
            customer_payment_name in PMSvc definition)
        iban:
          type: string
          title: 'AIDoc: The International Bank Account Number'
        bban:
          type: string
          title: >-
            AIDoc: The Basic Bank Account Number

            This field is populated using the Swift value for Swift payment
            method
        domestic_account_id:
          type: string
          title: 'AIDoc: The domestic account identifier'
        customer_payment_address1:
          type: string
          title: 'AIDoc: The first line of the customer payment address'
        customer_payment_address2:
          type: string
          title: 'AIDoc: The second line of the customer payment address'
        customer_payment_address3:
          type: string
          title: 'AIDoc: The third line of the customer payment address'
        customer_payment_country_code:
          type: string
          title: 'AIDoc: The country code for the customer payment address'
        iban_generated:
          type: boolean
          title: 'AIDoc: Whether the IBAN was generated automatically'
      title: 'AIDoc: Represents a SWIFT bank account'
    coinbase.payments.common.payment_methods.SwiftInstitution:
      type: object
      properties:
        bic:
          type: string
          title: 'AIDoc: The Bank Identifier Code'
        name:
          type: string
          title: 'AIDoc: The name of the financial institution'
        bank_address1:
          type: string
          title: 'AIDoc: The first line of the bank address'
        bank_address2:
          type: string
          title: 'AIDoc: The second line of the bank address'
        bank_address3:
          type: string
          title: 'AIDoc: The third line of the bank address'
        bank_country_code:
          type: string
          title: 'AIDoc: The country code for the bank'
        domestic_bank_id:
          type: string
          title: 'AIDoc: The domestic bank identifier'
        international_bank_id:
          type: string
          title: 'AIDoc: The international bank identifier'
      title: 'AIDoc: Represents a SWIFT financial institution'
    coinbase.payments.common.payment_methods.FirstDataToken:
      type: object
      properties:
        value:
          type: string
        store_id:
          type: string
        id:
          type: string
      title: Vendor Tokens
    coinbase.payments.common.payment_methods.Merchant:
      type: object
      properties:
        mid:
          type: string
    coinbase.payments.common.payment_methods.VaultToken:
      type: object
      properties:
        value:
          type: string
        vault_id:
          type: string
        attempted_at:
          type: string
          format: RFC3339 Timestamp
        encrypted_data:
          type: string
        encrypted_cvv:
          type: string
    coinbase.payments.common.payment_methods.WorldpayParams:
      type: object
      properties:
        token_value:
          type: string
        token_event:
          type: string
        uses_merchant_token:
          type: boolean
        accept_header:
          type: string
        user_agent_header:
          type: string
        shopper_ip:
          type: string
        shopper_session_id:
          type: string
      title: Vendor-Specific Parameters
    coinbase.payments.common.payment_methods.CheckoutToken:
      type: object
      properties:
        source_id:
          type: string
          title: >-
            A payment source identifier from Checkout with format
            ^(src)_(\w{26})$

            Example: src_nwd3m4in3hkuddfpjsaevunhdy
    coinbase.payments.common.payment_methods.StripeParams:
      type: object
      properties:
        stripe_id:
          type: string
          title: >-
            Stripe payment method ID used to retrive the card and initiate the
            payment

            Example: pm_1QxbXIHUb191ZnmcL8TqLfIM
        radar_session_id:
          type: string
          title: >-
            Stripe Radar provides real-time fraud protection

            radar session ID collected by FE SDK is required for the payment
            method creation call with Stripe

            Ex: "rse_1234567890abcdef"
        address_line1_check:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.StripeCardCheckStatus
        address_postal_code_check:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.StripeCardCheckStatus
        cvc_check:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.StripeCardCheckStatus
      title: Stripe Integration
    coinbase.bin_check.CardInfo:
      type: object
      properties:
        match_found:
          type: boolean
          title: >-
            used to check for an empty result without throwing an error
            clientside

            if false, then all other fields are left blank
        type:
          title: Card's Type
          allOf:
            - $ref: '#/components/schemas/coinbase.bin_check.CardInfo.Type'
        issuer:
          type: string
          title: Card's issuer
        issuer_country_code:
          type: string
          title: Card's country
        prepaid:
          type: boolean
          title: Flag to check if is a prepaid card or not
        corporate:
          type: boolean
          title: Flag to check if is corporate card or not
        consumer:
          type: boolean
        visa:
          allOf:
            - $ref: '#/components/schemas/coinbase.bin_check.VisaInfo'
        mastercard:
          allOf:
            - $ref: '#/components/schemas/coinbase.bin_check.MastercardInfo'
        use_3ds:
          type: boolean
          title: Flag to check if card uses 3D Secure
      title: CardInfo message
    coinbase.payments.common.payment_methods.Card.Scheme:
      type: string
      enum:
        - UNKNOWN
        - VISA
        - MASTERCARD
      default: UNKNOWN
    coinbase.payments.common.payment_methods.Address:
      type: object
      properties:
        address1:
          type: string
        address2:
          type: string
        city:
          type: string
        state:
          type: string
        postal_code:
          type: string
        country:
          type: string
        uuid:
          type: string
        id:
          type: string
    coinbase.payments.common.payment_methods.CustomerInfo:
      type: object
      properties:
        full_name:
          type: string
        first_name:
          type: string
        last_name:
          type: string
        dob:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Dob
        nationality:
          type: string
          description: >-
            The 2-letter ISO country code representing the nationality of the
            customer initiating the card payment.

            Primarily used by our Checkout.com processor to reduce the number of
            RFIs (requests for information) needed to verify transactions.
        email:
          type: string
          title: email address that will be sent in payins by checkout processor
    coinbase.payments.common.payment_methods.ExpiryDate:
      type: object
      properties:
        month:
          type: string
        year:
          type: string
      title: Basic Card Information
    coinbase.payments.shared.Money:
      type: object
      properties:
        amount:
          type: string
          description: >-
            The quantity in string.


            For fiat, its unit is the corresponding fractional currency unit.
            For example, "1" means 1 JPY or 0.01 USD when

            currency is JPY or USD respectively. The source of truth for ratio
            to main unit is in http://go/money-fractional.


            Stored as a string because some cryptocurrencies, namely ETH
            supports up to 19 digits of precision which would

            exceed the capacity of storing the value as an int64.
        currency:
          type: string
          description: >-
            Currency in 3-letter ISO4217 code.


            For example, USD, GBP or EUR or in the case of cryptocurrencies its
            3-letter ticker BTC, ETH, XLM etc.


            As of 2019-09-16 there are _no_ clashes between ISO4217 and crypto
            currency abbreviations.
      description: >-
        A quantity of money.


        Note that a few places refer to this file for documentation using Github
        URL. Please search and modify those URLs if

        this file is moved.
    coinbase.payments.common.payment_methods.WorldpayCardCdvStatus:
      type: object
      properties:
        cdv_required:
          type: boolean
        cdv_failed:
          type: boolean
      title: Card Verification and Status
    coinbase.payments.common.payment_methods.CardSource:
      type: string
      enum:
        - SOURCE_UNKNOWN
        - CARD_IO_SCAN
        - MANUAL_ENTRY
        - DYNETI_SCAN
        - DYNETI_SCAN_AND_MANUAL
        - AUTO_ASSIGNED
      default: SOURCE_UNKNOWN
      title: Card Source Identification
    coinbase.payments.common.payment_methods.CoinbaseCreditCardParams:
      type: object
      properties:
        credit_card_account_id:
          type: string
          title: Account ID for the CB card account in CardService
      title: >-
        Card params for CB cards which will be used to charge CB1 subscription
        fees through the cb credit card processor
    coinbase.payments.common.payment_methods.AddressVerificationInfo:
      type: object
      properties:
        source:
          type: string
        avs_street_address:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.AddressVerificationStatus
        avs_postal_code:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.AddressVerificationStatus
      title: Address Verification
    coinbase.payments.common.payment_methods.AccountNameInquiryDetails:
      type: object
      properties:
        first_name_match:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.MatchResult
        middle_name_match:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.MatchResult
        last_name_match:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.MatchResult
        name_match_indicator:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.NameMatchIndicator
      description: |-
        Results from Visa Account Name Inquiry, which verifies cardholder name
        components against the name on file at the issuing bank.
      title: Account Name Inquiry (ANI)
    coinbase.payments.common.payment_methods.Card.Dob:
      type: object
      properties:
        month:
          type: string
        day:
          type: string
        year:
          type: string
    coinbase.payments.common.payment_methods.ZenginAccount:
      type: object
      properties:
        legal_name:
          type: string
        identifier:
          type: string
        type:
          type: string
      title: >-
        ZenginAccount represents an account at a financial institution eligible
        for Zengin
    coinbase.payments.common.payment_methods.ZenginInstitution:
      type: object
      properties:
        bank_code:
          type: string
        branch_code:
          type: string
      title: ZenginInstitution is financial institution eligible for Zengin
    coinbase.payments.common.payment_methods.UkAccount:
      type: object
      properties:
        legal_name:
          type: string
          title: 'AIDoc: The legal name of the account holder'
        bban:
          type: string
          title: 'AIDoc: The Basic Bank Account Number'
        sort_code:
          type: string
          title: 'AIDoc: The UK bank sort code'
        account_number:
          type: string
          title: 'AIDoc: The account number'
        address:
          title: 'AIDoc: The address associated with the account'
          allOf:
            - $ref: '#/components/schemas/coinbase.payments.common.Address'
        account_type:
          title: 'AIDoc: The type of UK bank account (savings, etc.)'
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.UkAccountType
      title: 'AIDoc: Represents a UK bank account'
    coinbase.payments.common.payment_methods.UkInstitution:
      type: object
      properties:
        name:
          type: string
          title: 'AIDoc: The name of the financial institution'
      title: 'AIDoc: Represents a UK financial institution'
    coinbase.payments.common.payment_methods.OpenBankingDetails:
      type: object
      properties:
        true_layer_bank_provider_id:
          type: string
          description: An ID used by TrueLayer to identify the bank.
        open_banking_provider_id:
          type: string
          title: >-
            A universal ID used to identify the Open Banking bank, see
            go/universal-ob-provider-id for details
      title: 'AIDoc: Represents Open Banking details for bank identification'
    coinbase.payments.common.payment_methods.SepaAccount:
      type: object
      properties:
        legal_name:
          type: string
        iban:
          type: string
        bban:
          type: string
    coinbase.payments.common.payment_methods.SepaInstitution:
      type: object
      properties:
        bic:
          type: string
          title: >-
            AIDoc: The Bank Identifier Code

            Required field that conforms to the 8-11 character ISO 9362 SWIFT
            format. Used to identify

            the bank for international processing:

            Ex: "BOFAUS3N"
        name:
          type: string
          title: 'AIDoc: The name of the financial institution'
        bank_country_code:
          type: string
          title: 'AIDoc: The country code for the bank'
        bank_country_name:
          type: string
          title: 'AIDoc: The country name for the bank'
        bank_address:
          type: string
          title: 'AIDoc: The address of the bank'
      title: 'AIDoc: Represents a SEPA financial institution'
    coinbase.payments.common.payment_methods.PaypalAccount:
      type: object
      properties:
        paypal_id:
          type: string
        paypal_pm_id:
          type: string
        paypal_verified:
          type: boolean
        account_type:
          type: string
        account_age:
          type: string
      title: Represents a customer's paypal account
    coinbase.payments.common.payment_methods.PaypalMerchant:
      type: object
      properties:
        merchant_account_id:
          type: string
      title: |-
        Represents coinbase's merchant account
        For payouts, this is the source of funds
    coinbase.payments.common.payment_methods.PaypalMetadata:
      type: object
      properties:
        paypal_correlation_id:
          type: string
        authorization_code:
          type: string
    coinbase.payments.common.Address:
      type: object
      properties:
        address1:
          type: string
        address2:
          type: string
        city:
          type: string
        state:
          type: string
        postal_code:
          type: string
        country:
          type: string
        uuid:
          type: string
        id:
          type: string
    coinbase.payments.common.payment_methods.Owner:
      type: object
      properties:
        id:
          type: string
        uuid:
          type: string
        user_uuid:
          type: string
        type:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Owner.Type
    coinbase.payments.common.payment_methods.RtpAccount:
      type: object
      properties:
        legal_name:
          type: string
        identifier:
          type: string
        bank_account_id:
          type: string
      title: >-
        RtpAccount represents an account at a financial institution eligible for
        RTP network payments
    coinbase.payments.common.payment_methods.RtpInstitution:
      type: object
      properties:
        routing_number:
          type: string
      title: >-
        RtpInstitution is financial institution eligible for RTP network
        payments
    coinbase.payments.common.payment_methods.ApplePay.BraintreeData:
      type: object
      properties:
        nonce:
          type: string
        correlation_id:
          type: string
    coinbase.payments.common.DigitalWalletDetails:
      type: object
      properties:
        nonce:
          type: string
        correlation_id:
          type: string
        version:
          type: string
          title: 3ds version from samsung pay ex `100`
    coinbase.payments.common.payment_methods.ApplePay.Scheme:
      type: string
      enum:
        - UNKNOWN
        - VISA
        - MASTERCARD
      default: UNKNOWN
    coinbase.payments.common.payment_methods.ApplePay.Result:
      type: string
      enum:
        - UNCERTAIN
        - 'TRUE'
        - 'FALSE'
      default: UNCERTAIN
    coinbase.payments.common.payment_methods.RemitlyAccount:
      type: object
      properties:
        recipient_id:
          type: string
        payout_method_type:
          type: string
        recipient_version:
          type: string
        currency:
          type: string
      title: Represents a customer in remitly
    coinbase.payments.common.payment_methods.GooglePay.BraintreeData:
      type: object
      properties:
        nonce:
          type: string
        correlation_id:
          type: string
    coinbase.payments.common.payment_methods.GooglePay.Scheme:
      type: string
      enum:
        - UNKNOWN
        - VISA
        - MASTERCARD
      default: UNKNOWN
    coinbase.payments.common.payment_methods.GooglePay.Result:
      type: string
      enum:
        - UNCERTAIN
        - 'TRUE'
        - 'FALSE'
      default: UNCERTAIN
    coinbase.payments.common.payment_methods.GiactInfo:
      type: object
      properties:
        giact_item_id:
          type: string
        giact_bank_result:
          type: string
        giact_customer_result:
          type: string
        giact_status:
          type: string
        giact_last_updated_at:
          type: string
          format: RFC3339 Timestamp
        giact_account_added_date:
          type: string
          format: RFC3339 Timestamp
        giact_account_last_updated_date:
          type: string
          format: RFC3339 Timestamp
    coinbase.payments.common.payment_methods.VendorVerificationStatus:
      type: object
      properties:
        iav_status:
          type: string
          description: The status of the IAV (Instant Account Verification) process.
        md_status:
          type: string
          description: The status of the MD (Micro Deposit) process.
        email_verification_status:
          type: string
          description: The status of the email verification process.
      description: >-
        VendorVerificationStatus is used to store the verification status of the
        vendor.
    coinbase.payments.common.payment_methods.PlaidInfo:
      type: object
      properties:
        plaid_bank_name:
          type: string
        plaid_access_token:
          type: string
        plaid_item_id:
          type: string
        plaid_old_access_token:
          type: string
        plaid_response:
          type: string
        plaid_info:
          type: string
        plaid_account_id:
          type: string
        plaid_test_account:
          type: boolean
        plaid_link_account:
          type: boolean
        plaid_link_bank_name:
          type: string
        balance:
          allOf:
            - $ref: '#/components/schemas/coinbase.payments.shared.Money'
        balance_updated_at:
          type: string
          format: RFC3339 Timestamp
        plaid_name_check:
          type: boolean
        plaid_public_token:
          type: string
        account_number_mask:
          type: string
        plaid_persistent_account_id:
          type: string
          title: >-
            plaid_persistent_account_id is a stable identifier that persists
            across re-links for TAN banks.

            Only available for TAN banks (Chase, PNC, US Bank).

            See:
            https://plaid.com/docs/api/accounts/#accounts-get-response-accounts-persistent-account-id
        is_tokenized_account_number:
          type: boolean
          title: >-
            is_tokenized_account_number indicates if the account uses tokenized
            account numbers (TAN).

            When true, use plaid_persistent_account_id for matching; when false,
            use plaid_account_id.

            See:
            https://plaid.com/docs/api/products/auth/#auth-get-response-numbers-ach-is-tokenized-account-number
        is_plaid_supported:
          type: boolean
          description: >-
            is_plaid_supported indicates whether the bank account's routing
            number supports Plaid.

            Computed from routing number lookup at request time and used for
            risk evaluation.
    coinbase.payments.common.payment_methods.StripeFinancialConnectionsInfo:
      type: object
      properties:
        stripe_response:
          type: string
          description: The response data returned by Stripe for the financial connection.
        stripe_info:
          type: string
          description: Additional information about the Stripe financial connection.
        stripe_financial_connections_id:
          type: string
          description: The unique identifier for the Stripe financial connection.
        stripe_payment_method_id:
          type: string
          description: The unique identifier for the Stripe payment method.
        stripe_test_account:
          type: boolean
          description: Indicates whether the account is a test account in Stripe.
        stripe_link_account:
          type: boolean
          description: Indicates whether the account is linked through Stripe.
        stripe_link_bank_name:
          type: string
          description: The name of the bank linked through Stripe.
        stripe_institution_id:
          type: string
          description: The unique identifier for the institution linked through Stripe.
        balance:
          description: The balance of the account, represented as a Money object.
          allOf:
            - $ref: '#/components/schemas/coinbase.payments.shared.Money'
        balance_updated_at:
          type: string
          format: RFC3339 Timestamp
          description: The timestamp of the last balance update.
        stripe_name_check:
          type: boolean
          description: Indicates whether the name check passed for the Stripe account.
    coinbase.payments.common.payment_methods.AllocationLeg:
      type: object
      properties:
        id:
          type: string
        movements:
          type: array
          items:
            $ref: >-
              #/components/schemas/coinbase.payments.common.payment_methods.FundMovement
        is_netted:
          type: boolean
    coinbase.payments.common.payment_methods.ZenginV2Account:
      type: object
      properties:
        legal_name:
          type: string
        identifier:
          type: string
        type:
          type: string
      title: >-
        ZenginV2Account represents an account at a financial institution
        eligible for Zengin (non-MUFG)
    coinbase.payments.common.payment_methods.ZenginV2Institution:
      type: object
      properties:
        bank_code:
          type: string
        branch_code:
          type: string
      title: >-
        ZenginV2Institution is financial institution eligible for Zengin
        (non-MUFG)
    coinbase.payments.common.payment_methods.SepaAccountDetail:
      type: object
      properties:
        legal_name:
          type: string
          description: Required. Legal name of the account holder.
        iban:
          type: string
          description: Required. The IBAN number identifies the account.
        bban:
          type: string
          title: 'AIDoc: The Basic Bank Account Number'
        account_address:
          type: string
          title: 'AIDoc: The address associated with the account'
      description: The detailed SEPA account information.
    coinbase.payments.common.payment_methods.BankingCircleToken:
      type: object
      properties:
        mandate_id:
          type: string
          description: >-
            mandate_id is a 32 char long unique identifier of the account token
            (mandate) on Banking Circle side.
        active:
          type: boolean
          title: 'AIDoc: Whether the mandate is active'
        balance_check_supported:
          type: boolean
          title: 'AIDoc: Whether balance check is supported for this mandate'
        hosted_page_id:
          type: string
          description: >-
            hosted_page_id is the unique identifier for the hosted page used for
            creating the mandate object.

            It is updated when a new mandate is created (i.e. when the
            mandate_id is updated).
      description: >-
        AIDoc: BankingCircleToken is used to embed information related to an
        account token for SEPA Direct Debit payments with Banking Circle.
    coinbase.payments.common.payment_methods.ZeptoAccount:
      type: object
      properties:
        contact_id:
          type: string
          description: It is "Contact.data.id" in Zepto API (https://docs.zepto.money)
          title: 'AIDoc: The Zepto contact ID (UUID) of the account'
        bank_account_id:
          type: string
          description: >-
            It is "contact.data.bank_account.id" in Zepto API
            (https://docs.zepto.money)
          title: 'AIDoc: The Zepto bank account ID (UUID) of contact'
        account_number:
          type: string
          title: 'AIDoc: The account number'
        customer_payment_name:
          type: string
          title: 'AIDoc: The name of the customer making the payment'
      title: 'AIDoc: Zepto account information'
    coinbase.payments.common.payment_methods.ZeptoInstitution:
      type: object
      properties:
        branch_code:
          type: string
          title: 'AIDoc: The branch code for the bank'
      title: 'AIDoc: Zepto institution information'
    coinbase.payments.common.payment_methods.PixEbanx.PixDeposit:
      type: object
      properties:
        transaction_id:
          type: string
        account_id:
          type: string
        account_number:
          type: string
        account_type:
          type: string
        bank_code:
          type: string
        bank_name:
          type: string
        branch_number:
          type: string
        customer_payment_name:
          type: string
        sender_document:
          type: string
    coinbase.payments.common.payment_methods.PixEbanx.PixWithdrawal:
      type: object
      properties:
        account_number:
          type: string
        account_type:
          type: string
        bank_code:
          type: string
        branch_number:
          type: string
        pix_key:
          type: string
        customer_payment_name:
          type: string
        sender_document:
          type: string
        bank_name:
          type: string
    coinbase.payments.common.payment_methods.DerivativeSettlement.AccountSettlement:
      type: object
      properties:
        amount:
          allOf:
            - $ref: '#/components/schemas/coinbase.payments.common.Money'
        source_ledger_account:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.LedgerAccount
        source_ledger_named_account:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.LedgerNamedAccount
        target_ledger_account:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.LedgerAccount
        target_ledger_named_account:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.LedgerNamedAccount
        hold_id_to_replace:
          type: string
          title: Deprecated, use existing_hold_id instead
        new_hold_id:
          type: string
          title: |-
            account settlement can optionally replace an existing hold with
            `hold_id_to_replace` to a new hold with `new_hold_id` and amount
            of `new_hold_amount`
        new_hold_amount:
          allOf:
            - $ref: '#/components/schemas/coinbase.payments.common.Money'
        existing_hold_id:
          type: string
    coinbase.payments.common.payment_methods.DerivativeSettlement.EquityReset:
      type: object
      properties:
        amount:
          allOf:
            - $ref: '#/components/schemas/coinbase.payments.common.Money'
        equity_account:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.LedgerAccount
    coinbase.payments.common.payment_methods.SgFastAccount:
      type: object
      properties:
        customer_name:
          type: string
          title: 'AIDoc: The name of the customer'
        account_number:
          type: string
          title: 'AIDoc: The account number (e.g. 1201231231)'
      title: 'AIDoc: Represents a Singapore FAST bank account'
    coinbase.payments.common.payment_methods.SgFastInstitution:
      type: object
      properties:
        bank_code:
          type: string
          title: 'AIDoc: The SWIFT Code of the bank (e.g. DBSSGSG)'
      title: 'AIDoc: Represents a Singapore FAST financial institution'
    coinbase.payments.common.payment_methods.SgFastDirectDebitAuthorisationState:
      type: string
      enum:
        - STATE_UNSPECIFIED
        - STATE_PENDING
        - STATE_AUTHORIZED
        - STATE_REJECTED
        - STATE_EXPIRED
      default: STATE_UNSPECIFIED
      description: |-
        - STATE_UNSPECIFIED: AIDoc: Default state when SG FAST PM is created
         - STATE_PENDING: AIDoc: Authorisation is pending approval
         - STATE_AUTHORIZED: AIDoc: Authorisation has been approved
         - STATE_REJECTED: AIDoc: Authorisation has been rejected
         - STATE_EXPIRED: AIDoc: Authorisation has expired
      title: 'AIDoc: Represents the possible states of direct debit authorisation'
    coinbase.payments.common.payment_methods.Interac.Account:
      type: object
      properties:
        account_name:
          type: string
          title: Name of the account fulfilling the Request Money Transaction
        institution_number:
          type: string
          description: >-
            Institution Number: a 3-digit code that tells you which bank the
            account belongs to — unique for every Canadian bank.
        transit_number:
          type: string
          description: >-
            Transit Number: a 5-digit code that tells which branch of the bank
            the account was created at — it is unique to each bank branch.
        account_number:
          type: string
          description: >-
            Account Number: a 7-digit code that identifies the account within
            the branch and bank entered.
    coinbase.payments.common.payment_methods.SgPayNow.IdentifierType:
      type: string
      enum:
        - TYPE_UNSPECIFIED
        - TYPE_NRIC
        - TYPE_PHONE
      default: TYPE_UNSPECIFIED
    coinbase.payments.common.payment_methods.BancomatPayAccount:
      type: object
      properties:
        phone_number:
          type: string
    coinbase.payments.common.payment_methods.Eft.Account:
      type: object
      properties:
        account_name:
          type: string
          title: Name of the account fulfilling the Request Money Transaction
        account_phone_number:
          type: string
          title: Phone number of the account fulfilling the Request Money Transaction
        account_email:
          type: string
          title: Email of the account fulfilling the Request Money Transaction
        institution_number:
          type: string
          description: >-
            Institution Number: a 3-digit code that tells you which bank the
            account belongs to — unique for every Canadian bank.
        transit_number:
          type: string
          description: >-
            Transit Number: a 5-digit code that tells which branch of the bank
            the account was created at — it is unique to each bank branch.
        account_number:
          type: string
          description: >-
            Account Number: a 7-digit code that identifies the account within
            the branch and bank entered.
        provider_id:
          type: string
        provider_name:
          type: string
        trustly_account_token_status:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.Eft.TrustlyAccountTokenStatus
        account_type:
          type: string
    coinbase.payments.common.payment_methods.PixAccountType:
      type: string
      enum:
        - ACCOUNT_TYPE_UNSPECIFIED
        - ACCOUNT_TYPE_CHECKING
        - ACCOUNT_TYPE_SALARY
        - ACCOUNT_TYPE_SAVINGS
        - ACCOUNT_TYPE_TRANSACTION
      default: ACCOUNT_TYPE_UNSPECIFIED
      description: |2-
         - ACCOUNT_TYPE_CHECKING: Checking account.
         - ACCOUNT_TYPE_SALARY: Salary account.
         - ACCOUNT_TYPE_SAVINGS: Savings account.
         - ACCOUNT_TYPE_TRANSACTION: Transaction account.
    coinbase.payments.common.payment_methods.SamsungPay.Scheme:
      type: string
      enum:
        - UNKNOWN
        - VISA
        - MASTERCARD
      default: UNKNOWN
      title: Field to store scheme of the card
    coinbase.payments.common.payment_methods.SamsungPay.Result:
      type: string
      enum:
        - UNCERTAIN
        - 'TRUE'
        - 'FALSE'
      default: UNCERTAIN
      title: Flag to mark card as prepaid or debit
    coinbase.simple_trade.models.SuggestedPaymentMethodCategory:
      type: string
      enum:
        - UNKNOWN
        - ASSET
        - ON_PLATFORM_FIAT
        - OFF_PLATFORM_FIAT
      default: UNKNOWN
    coinbase.payments.common.payment_methods.FedwireAddress:
      type: object
      properties:
        lines:
          type: array
          items:
            type: string
          description: >-
            AIDoc: The address lines passed onto the Fedwire network. Must be at
            least 2 non-empty lines. Only 3 lines will be passed on.
        country_code:
          type: string
          description: >-
            AIDoc: A 2-letter country code ISO-3166-1 Alpha 2. For example US,
            CA or SE.
        city:
          type: string
          title: 'AIDoc: The city associated with the Fedwire address'
        state:
          type: string
          title: 'AIDoc: The state or province associated with the Fedwire address'
        postal_code:
          type: string
          title: >-
            AIDoc: The postal code or ZIP code associated with the Fedwire
            address
      title: FedwireAddress is an address for Fedwire payment methods
    coinbase.payments.common.payment_methods.FedwireInstitution.Type:
      type: string
      enum:
        - CHIPS_IDENTIFIER
        - CHIPS_PARTICIPANT
        - DDA
        - FEDWIRE
        - SWIFT_BIC
        - SWIFT_BIC_OR_BEI_AND_ACCOUNT
        - PASSPORT_NUMBER
        - TAX_IDENTIFICATION_NUMBER
        - DRIVERS_LICENSE_NUMBER
        - ALIEN_REGISTRATION_NUMBER
        - CORPORATE_IDENTIFICATION_NUMBER
        - OTHER_IDENTIFICATION
        - UNKNOWN
      default: CHIPS_IDENTIFIER
    coinbase.payments.common.payment_methods.StripeCardCheckStatus:
      type: string
      enum:
        - STRIPE_CARD_CHECK_STATUS_UNKNOWN
        - STRIPE_CARD_CHECK_STATUS_PASS
        - STRIPE_CARD_CHECK_STATUS_FAIL
        - STRIPE_CARD_CHECK_STATUS_UNAVAILABLE
        - STRIPE_CARD_CHECK_STATUS_UNCHECKED
      default: STRIPE_CARD_CHECK_STATUS_UNKNOWN
      title: >-
        stripe card check status result is one of pass, fail, unavailable, or
        unchecked
    coinbase.bin_check.CardInfo.Type:
      type: string
      enum:
        - UNKNOWN
        - CREDIT
        - DEBIT
      default: UNKNOWN
      title: Card Type enum
    coinbase.bin_check.VisaInfo:
      type: object
      properties:
        oct_supported:
          type: boolean
          title: >-
            Are Original Credit Transactions (OCTs) supported by this card?

            An OCT is a method to transfer funds directly to a cardholder's
            account.

            In other words, can this card receive payouts?
        fast_funds_supported:
          type: boolean
          title: >-
            Are fast funds supported by this card?

            If a card is "fast fund supported" the cardholder can access
            incoming funds almost instantly.

            In other words, will this card receive instant payouts?
      title: VisaInfo message
    coinbase.bin_check.MastercardInfo:
      type: object
      properties:
        fast_funds_supported:
          type: boolean
          title: >-
            Are fast funds supported by this card?

            If a card is "fast fund supported" the cardholder can access
            incoming funds almost instantly.

            In other words, will this card receive instant payouts?
      title: MastercardInfo info
    coinbase.payments.common.payment_methods.Dob:
      type: object
      properties:
        month:
          type: string
        day:
          type: string
        year:
          type: string
      title: Customer Information
    coinbase.payments.common.payment_methods.AddressVerificationStatus:
      type: string
      enum:
        - ADDRESS_VERIFICATION_STATUS_UNSPECIFIED
        - ADDRESS_VERIFICATION_STATUS_MATCH
        - ADDRESS_VERIFICATION_STATUS_NO_MATCH
      default: ADDRESS_VERIFICATION_STATUS_UNSPECIFIED
    coinbase.payments.common.payment_methods.MatchResult:
      type: string
      enum:
        - MATCH_RESULT_UNSPECIFIED
        - MATCH_RESULT_MATCH
        - MATCH_RESULT_NO_MATCH
        - MATCH_RESULT_PARTIAL_MATCH
      default: MATCH_RESULT_UNSPECIFIED
      description: |-
        MatchResult represents the result of matching a single component
        against external data (e.g. name on file at the issuer via Visa ANI).
    coinbase.payments.common.payment_methods.NameMatchIndicator:
      type: string
      enum:
        - NAME_MATCH_INDICATOR_UNSPECIFIED
        - NAME_MATCH_INDICATOR_PERFORMED
        - NAME_MATCH_INDICATOR_NOT_SUPPORTED
        - NAME_MATCH_INDICATOR_NOT_PERFORMED
      default: NAME_MATCH_INDICATOR_UNSPECIFIED
      description: >-
        NameMatchIndicator represents whether the ANI lookup was performed by
        the issuer.
    coinbase.payments.common.payment_methods.UkAccountType:
      type: string
      enum:
        - UK_ACCOUNT_TYPE_UNSPECIFIED
        - UK_ACCOUNT_TYPE_SAVINGS
      default: UK_ACCOUNT_TYPE_UNSPECIFIED
      description: >-
        - UK_ACCOUNT_TYPE_UNSPECIFIED: Default value when the UK account type is
        not known
         - UK_ACCOUNT_TYPE_SAVINGS: Represents a UK savings account
      title: Represents the types of UK bank accounts
    coinbase.payments.common.payment_methods.Owner.Type:
      type: string
      enum:
        - UNKNOWN
        - INVESTMENT_VEHICLE
        - RETAIL
        - VENUE
        - PORTFOLIO
      default: UNKNOWN
    coinbase.payments.common.payment_methods.FundMovement:
      type: object
      properties:
        id:
          type: string
        source_account:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.LedgerAccount
        destination_account:
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.payments.common.payment_methods.LedgerAccount
        source_currency:
          type: string
        target_currency:
          type: string
        amount:
          allOf:
            - $ref: '#/components/schemas/coinbase.payments.common.Money'
        fee:
          allOf:
            - $ref: '#/components/schemas/coinbase.payments.common.Money'
    coinbase.payments.common.Money:
      type: object
      properties:
        amount:
          type: string
        currency:
          type: string
      description: This is a clone of
      title: A quantity of money
    coinbase.payments.common.payment_methods.Eft.TrustlyAccountTokenStatus:
      type: string
      enum:
        - TRUSTLY_TOKEN_STATUS_UNSPECIFIED
        - TRUSTLY_TOKEN_STATUS_ACTIVE
        - TRUSTLY_TOKEN_STATUS_RELINK_NEEDED
      default: TRUSTLY_TOKEN_STATUS_UNSPECIFIED
  securitySchemes:
    apiKeyAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        A JWT signed using your CDP API Key Secret, encoded in base64. Refer to
        the [Creating API
        Keys](/coinbase-app/authentication-authorization/api-key-authentication)
        section of our Coinbase App Authentication docs for information on how
        to generate your Bearer Token.

````