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

# Get Buy transaction

> Retrieve a transaction by id. This call will return an error if no transaction with the supplied identifier exists.



## OpenAPI

````yaml GET /v1/transactions/{transactionId}
openapi: 3.0.0
info:
  title: Ramps & Swaps
  version: 1.0.0
servers:
  - url: https://api.moonpay.com
security: []
tags:
  - name: Account details
    description: >-
      Get your account details, including the verification status and the
      current fees.
  - name: On-ramp
    description: Get quotes and transaction details for buying cryptocurrencies.
  - name: Off-ramp
    description: Get quotes and transaction details for selling cryptocurrencies.
  - name: Swaps
    description: Get quotes and transaction details for swapping cryptocurrencies.
  - name: Data
    description: >-
      Get currently supported countries, currencies, and payment methods. Also
      check the customers's IP address restrictions.
  - name: DefiToken
    description: Retrieve token data and token lists for DeFi assets.
paths:
  /v1/transactions/{transactionId}:
    get:
      tags:
        - On-ramp
      summary: Get Buy transaction
      description: >-
        Retrieve a transaction by id. This call will return an error if no
        transaction with the supplied identifier exists.
      operationId: getBuyTransaction
      parameters:
        - name: transactionId
          in: path
          schema:
            type: string
          example: a617e457-7ea6-4e29-9415-0be500d478cf
          description: A valid Buy transaction ID.
          required: true
      responses:
        '200':
          description: Successful response — Buy Transaction
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuyTransaction'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - apiKey: []
components:
  schemas:
    BuyTransaction:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the transaction.
          example: defb7c52-7bd3-422b-9052-374df50cc51a
        createdAt:
          type: string
          description: >-
            Time at which the object was created. Returned as an ISO 8601
            string.
          example: '2024-02-17T18:24:45.206Z'
        updatedAt:
          type: string
          description: >-
            Time at which the object was last updated. Returned as an ISO 8601
            string.
          example: '2024-02-17T18:24:45.206Z'
        quoteExpiresAt:
          type: string
          nullable: true
          description: Time at which the buy quote expires. Returned as an ISO 8601 string.
          example: '2024-02-17T18:54:45.206Z'
        baseCurrencyAmount:
          type: number
          description: >-
            A positive number representing how much the customer wants to spend.
            The minimum amount is 20.
          example: 45.5
        quoteCurrencyAmount:
          type: number
          description: >-
            A positive number representing the amount of cryptocurrency the
            customer will receive. Set when the purchase of cryptocurrency has
            been executed.
          example: 0.0154
        feeAmount:
          type: number
          description: >-
            A positive number representing the fee for the transaction. It is
            added to baseCurrencyAmount, extraFeeAmount and networkFeeAmount
            when the customer's card is charged.
          example: 1.7
        extraFeeAmount:
          type: number
          description: >-
            A positive number representing your extra fee for the transaction.
            It is added to baseCurrencyAmount and feeAmount when the customer's
            card is charged.
          example: 0.43
        paymentMethod:
          $ref: '#/components/schemas/PaymentMethods'
        networkFeeAmount:
          type: number
          description: >-
            A positive number representing the network fee for the transaction.
            It is added to baseCurrencyAmount, feeAmount and extraFeeAmount when
            the customer's card is charged.
          example: 2.37
        areFeesIncluded:
          type: boolean
          description: >-
            A boolean indicating whether baseCurrencyAmount includes or excludes
            the feeAmount, extraFeeAmount and networkFeeAmount.
          example: true
        status:
          type: string
          description: >
            The transaction's status.

            Possible values are `waitingPayment` (pending bank transfers where
            MoonPay is not in receipt), `pending` (transaction is in progress),
            `waitingAuthorization` (waiting for card approval, i.e. 3DS, bank
            side security), `failed` or `completed`.
          example: completed
          enum:
            - waitingPayment
            - pending
            - waitingAuthorization
            - failed
            - completed
        failureReason:
          type: string
          nullable: true
          description: >-
            The transaction's failure reason. Set when transaction's status is
            failed.
          example: null
        walletAddress:
          type: string
          description: >-
            The cryptocurrency wallet address the purchased funds will be sent
            to.
          example: 8.978072538997387e+47
        walletAddressTag:
          type: string
          nullable: true
          description: >-
            The secondary cryptocurrency wallet address identifier for coins
            such as EOS, XRP and XMR.
          example: null
        cryptoTransactionId:
          type: string
          nullable: true
          description: >-
            The cryptocurrency transaction identifier representing the transfer
            to the customer's wallet. Set when the withdrawal has been executed.
          example: 8.25717145014808e+75
        redirectUrl:
          type: string
          nullable: true
          description: >-
            The URL provided to you, when required, to which to redirect the
            customer as part of a redirect authentication flow.
          example: >-
            https://api.moonpay.com/secure/url?transactionId=defb7c52-7bd3-422b-9052-374df50cc51a
        returnUrl:
          type: string
          description: >-
            The URL the customer is returned to after they authenticate or
            cancel their payment on the payment method's app or site. If you are
            using our widget implementation, this is always our transaction
            tracker page, which provides the customer with real-time information
            about their transaction.
          example: >-
            https://buy.moonpay.com/transaction_receipt?transactionId=defb7c52-7bd3-422b-9052-374df50cc51a
        widgetRedirectUrl:
          type: string
          nullable: true
          description: >-
            An optional URL used in a widget implementation. It is passed to us
            by you in the query parameters, and we include it as a link on the
            transaction tracker page.
          example: null
        eurRate:
          type: number
          description: >-
            The exchange rate between the transaction's base currency and Euro
            at the time of the transaction.
          example: 0.92432
        usdRate:
          type: number
          description: >-
            The exchange rate between the transaction's base currency and US
            Dollar at the time of the transaction.
          example: 1
        gbpRate:
          type: number
          description: >-
            The exchange rate between the transaction's base currency and
            British Pound at the time of the transaction.
          example: 0.79016
        currencyId:
          type: string
          example: 8d305f63-1fd7-4e01-a220-8445e591aec4
          description: The identifier of the cryptocurrency the customer wants to purchase.
        currency:
          $ref: '#/components/schemas/CryptoCurrency'
        baseCurrencyId:
          type: string
          example: edd81f1f-f735-4692-b410-6def107f17d2
          description: >-
            The identifier of the fiat currency the customer wants to use for
            the transaction.
        baseCurrency:
          $ref: '#/components/schemas/FiatCurrency'
        customerId:
          type: string
          description: The identifier of the customer the transaction is associated with.
          example: 77cc1309-0058-4177-b170-8e9657fe12eb
        cardId:
          type: string
          nullable: true
          description: >-
            For token or card transactions, the identifier of the payment card
            used for this transaction.
          example: 0a7e23d8-6a52-44c7-b189-91b37bd13796
        bankAccountId:
          type: string
          nullable: true
          description: >-
            For bank transfer transactions, the identifier of the bank account
            used for this transaction.
          example: null
        externalCustomerId:
          type: string
          nullable: true
          description: An identifier associated with the customer, provided by you.
        externalTransactionId:
          type: string
          nullable: true
          description: An identifier associated with the transaction, provided by you.
        country:
          type: string
          description: The customer's country. Returned as an ISO 3166-1 alpha-3 code.
          example: GBR
        state:
          type: string
          nullable: true
          description: >-
            The customer's state, if the customer is from the USA. Returned as a
            two-letter code.
          example: null
    Error:
      type: object
      properties:
        message:
          type: string
          description: A descriptive error message.
        type:
          type: string
          description: An error type.
    PaymentMethods:
      type: string
      example: credit_debit_card
      enum:
        - ach_bank_transfer
        - credit_debit_card
        - paypal
        - gbp_bank_transfer
        - gbp_open_banking_payment
        - pix_instant_payment
        - sepa_bank_transfer
      description: The transaction's payment method.
    CryptoCurrency:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the currency.
          example: aaefa32f-161b-42c8-8115-debcbf3d6a2d
        createdAt:
          type: string
          description: >-
            Time at which the object was created. Returned as an ISO 8601
            string.
          example: '2019-05-17T18:24:45.206Z'
        updatedAt:
          type: string
          description: >-
            Time at which the object was last updated. Returned as an ISO 8601
            string.
          example: '2019-05-17T18:24:45.206Z'
        type:
          type: string
          enum:
            - crypto
          description: Always `crypto`
          example: crypto
        name:
          type: string
          description: The currency's name.
          example: USD Coin (ERC-20)
        code:
          type: string
          description: The currency's code.
          example: usdc
        precision:
          type: number
          description: The currency's precision (number of digits after decimal point).
          example: 2
        minBuyAmount:
          type: number
          nullable: true
          description: Represents the minimum amount of cryptocurrency you can buy.
          example: 30
        maxBuyAmount:
          type: number
          nullable: true
          description: Represents the maximum amount of cryptocurrency you can buy.
          example: 1000
        minSellAmount:
          type: number
          nullable: true
          description: The minimum amount of cryptocurrency you can sell.
          example: 15
        maxSellAmount:
          type: number
          nullable: true
          description: The maximum amount of cryptocurrency you can sell.
          example: 100000
        addressRegex:
          type: string
          description: >-
            A regular expression which you can test against your end user's
            wallet addresses.
          example: ^(0x)[0-9A-Fa-f]{40}$
        testnetAddressRegex:
          type: string
          description: >-
            A regular expression which you can test against your end user's
            testnet wallet addresses.
          example: ^(0x)[0-9A-Fa-f]{40}$
        supportsAddressTag:
          type: boolean
          description: Whether the currency supports address tags.
          example: false
        addressTagRegex:
          type: string
          nullable: true
          description: >-
            A regular expression which you can test against a wallet address
            tag. Defined only if the currency supports address tags.
          example: null
        supportsTestMode:
          type: boolean
          description: Whether the currency supports test mode.
          example: true
        isSuspended:
          type: boolean
          description: >-
            Whether purchases for this currency are suspended. If the currency
            is suspended, exchange rates may not be available and it is not
            possible to create a transaction with this currency.
          example: false
        isSupportedInUs:
          type: boolean
          description: Whether purchases for this currency are supported in the US.
          example: true
        isSellSupported:
          type: boolean
          description: Whether sales for this currency are supported.
          example: true
        notAllowedUSStates:
          type: array
          items:
            type: string
            enum:
              - AL
              - AK
              - AZ
              - AR
              - AS
              - CA
              - CO
              - CT
              - DC
              - DE
              - FL
              - GA
              - GU
              - HI
              - ID
              - IL
              - IN
              - IA
              - KS
              - KY
              - LA
              - MA
              - MD
              - ME
              - MI
              - MN
              - MO
              - MP
              - MS
              - MT
              - NE
              - NH
              - NV
              - NH
              - NJ
              - NM
              - NY
              - NC
              - ND
              - OH
              - OK
              - OR
              - PA
              - PR
              - RI
              - SC
              - SD
              - TN
              - TX
              - TT
              - UT
              - VT
              - VA
              - VI
              - WA
              - WV
              - WI
              - WY
          description: >-
            A list with all the US states for this currency that are not
            supported.
          example:
            - LA
            - VI
        notAllowedCountries:
          type: array
          items:
            type: string
          description: >-
            A list with all the ISO 3166-1 alpha-2 country codes for this
            currency that are not supported.
          example:
            - CA
        metadata:
          type: object
          description: Additional metadata for the currency.
          properties:
            contractAddress:
              type: string
              nullable: true
              description: >-
                Unique contract address where the token smart contract is
                hosted.
              example: 0
            chainId:
              type: string
              nullable: true
              description: ID used to identify different EVM compatible chains.
              example: '1'
            networkCode:
              type: string
              description: Name of the cryptocurrency
              example: ethereum
    FiatCurrency:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the currency.
          example: 6f424585-8936-4eb1-b01e-443fb306d1f5
        createdAt:
          type: string
          description: >-
            Time at which the object was created. Returned as an ISO 8601
            string.
          example: '2019-05-17T18:24:45.206Z'
        updatedAt:
          type: string
          description: >-
            Time at which the object was last updated. Returned as an ISO 8601
            string.
          example: '2019-05-17T18:24:45.206Z'
        type:
          type: string
          enum:
            - fiat
          description: Always `fiat`
          example: fiat
        name:
          type: string
          description: The currency's name.
          example: Pound Sterling
        code:
          type: string
          description: The currency's code.
          example: gbp
        precision:
          type: number
          description: The currency's precision (number of digits after decimal point).
          example: 2
        minBuyAmount:
          type: number
          nullable: true
          description: >-
            Represents the minimum transaction buy amount when using this
            currency as a base currency.
          example: 30
        maxBuyAmount:
          type: number
          nullable: true
          description: >-
            Represents the maximum transaction buy amount when using this
            currency as a base currency.
          example: 9000
        isSellSupported:
          type: boolean
          description: Whether sales for this currency are supported.
          example: true
  securitySchemes:
    apiKey:
      type: apiKey
      name: apiKey
      in: query

````