Magic Eden Rare Sats API

The Rare Sats API from Magic Eden — 4 operation(s) for rare sats.

OpenAPI Specification

magic-eden-rare-sats-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Magic Eden EVM Activity Rare Sats API
  description: Aggregated Magic Eden EVM API (v4) for Ethereum and L2 chains (Polygon, Base, ApeChain, Arbitrum, Berachain, BSC, SEI, Abstract). Covers collections, assets, bids, asks, listings, buy/sell, and bulk transfer instructions.
  version: v4
  termsOfService: https://magiceden.io/terms-of-service.pdf
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: https://api-mainnet.magiceden.dev/v4/evm-public
tags:
- name: Rare Sats
paths:
  /v2/ord/btc/raresats/listings:
    get:
      tags:
      - Rare Sats
      summary: Get Listings
      description: Get Rare Sats Listings by a Variety of Filters and Sorting Orders
      parameters:
      - name: sortBy
        in: query
        description: Sort By
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - priceAsc
            - priceDesc
            - listedAtAsc
            - listedAtDesc
            - blockNumberAsc
            - blockNumberDesc
            - blockTimeAsc
            - blockTimeDesc
            - satRangeAsc
            - satRangeDesc
            - unitPriceAsc
            - unitPriceDesc
          default:
          - priceAsc
      - name: limit
        in: query
        description: Page limit
        required: false
        schema:
          type: integer
          minimum: 100
          maximum: 500
          default: 100
          multipleOf: 100
      - name: offset
        in: query
        description: Page offset
        required: false
        schema:
          type: integer
          minimum: 0
          maximum: 20000
          default: 0
          multipleOf: 100
      - name: satributes
        in: query
        description: Filter listings that have the given satributes in the same sat range
        required: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/SatributesSchema'
      - name: minListedAt
        in: query
        description: Filter items that were listed after the given timestamp
        required: false
        schema:
          type: integer
      - name: maxListedAt
        in: query
        description: Filter items that were listed before the given timestamp
        required: false
        schema:
          type: integer
      - name: minPrice
        in: query
        description: Filter by minimum listed price in satoshis
        required: false
        schema:
          type: integer
      - name: maxPrice
        in: query
        description: Filter by maximum listed price in satoshis
        required: false
        schema:
          type: integer
      - name: minUtxoSize
        in: query
        description: Filter by minimum utxo size in satoshis
        required: false
        schema:
          type: integer
      - name: maxUtxoSize
        in: query
        description: Filter by maximum utxo size in satoshis
        required: false
        schema:
          type: integer
      - name: minSatRange
        in: query
        description: Filter by minimum sat range in sats
        required: false
        schema:
          type: integer
      - name: maxSatRange
        in: query
        description: Filter by maximum sat range in sats
        required: false
        schema:
          type: integer
      - name: minBlockNumber
        in: query
        description: Filter listings that only contain sats that were created after the given block number
        required: false
        schema:
          type: integer
      - name: maxBlockNumber
        in: query
        description: Filter listings that only contain sats that were created before the given block number
        required: false
        schema:
          type: integer
      - name: minBlockTimestamp
        in: query
        description: Filter listings that only contain sats that were created after the given timestamp
        required: false
        schema:
          type: integer
      - name: maxBlockTimestamp
        in: query
        description: Filter listings that only contain sats that were created before the given timestamp
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RareSatsGetListingsSchema'
  /v2/ord/btc/raresats/wallet/utxos:
    get:
      tags:
      - Rare Sats
      summary: Get Rare Sats by Address
      description: Get Rare Sats by Address
      parameters:
      - name: walletAddress
        in: query
        description: Wallet Address
        required: true
        schema:
          type: string
      - name: listed
        in: query
        description: Get only the rare sats that are listed if set to true
        required: false
        schema:
          type: boolean
          default: false
      - name: limit
        in: query
        description: Limit
        required: false
        schema:
          type: integer
          minimum: 0
          maximum: 100
          default: 40
          multipleOf: 20
      - name: offset
        in: query
        description: Offset - the `nextOffset` cursor received from the request of the previous page
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                required:
                - tokens
                - total
                properties:
                  tokens:
                    type: array
                    items:
                      allOf:
                      - $ref: '#/components/schemas/ItemSchema'
                      - $ref: '#/components/schemas/RareSatsItemAdditionalSchema'
                  total:
                    type: integer
                  nextOffset:
                    type: string
  /v2/ord/btc/raresats/listing-psbt:
    post:
      tags:
      - Rare Sats
      summary: Get Batch Listing PSBT
      description: Get Rare Sats Batch Listing PSBT for Signing
      requestBody:
        description: Rare Sats Batch Listing PSBT Post Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RareSatsListingsPSBTRequestSchema'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RareSatsListingsPSBTResultSchema'
  /v2/ord/btc/raresats/listing:
    post:
      tags:
      - Rare Sats
      summary: Submit Batch Listing
      description: Submit Batch Listing using the signed PSBT received from `GET /listing-psbt`
      requestBody:
        description: Rare Sats Batch Listing Post Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RareSatsListingRequestSchema'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RareSatsListingResultSchema'
components:
  schemas:
    RareSatsListingsPSBTResultSchema:
      type: object
      required:
      - results
      - failed
      - unsignedCombinedPSBTBase64
      - toSignInputs
      - toSignSigHash
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/RareSatsListingPSBTResultSchema'
        failed:
          type: array
          items:
            type: string
        unsignedCombinedPSBTBase64:
          type: string
          description: The PSBT to be signed by the owner of the rare sats
        toSignInputs:
          type: array
          items:
            type: number
        toSignSigHash:
          type: number
    SatributesArraySchema:
      type: array
      items:
        $ref: '#/components/schemas/SatributesSchema'
    RareSatsItemAdditionalSchema:
      type: object
      properties:
        rareSatsUtxo:
          $ref: '#/components/schemas/RareSatsUtxoSchema'
    RareSatsListingPSBTResultSchema:
      type: object
      required:
      - sellerReceiveAddress
      - price
      - utxoId
      - unsignedListingPSBTBase64
      - makerFee
      properties:
        sellerReceiveAddress:
          type: string
        price:
          type: number
        utxoId:
          type: string
        unsignedListingPSBTBase64:
          type: string
        makerFee:
          type: number
        publicKey:
          type: string
    RareSatsSatRangePriceSchema:
      type: object
      required:
      - id
      - from
      - to
      - parentFrom
      - parentTo
      - satributes
      properties:
        id:
          type: string
        from:
          type: number
        to:
          type: number
        parentFrom:
          type: number
        parentTo:
          type: number
        unitPrice:
          type: number
        satributes:
          $ref: '#/components/schemas/SatributesArraySchema'
    RareSatsListingSchema:
      type: object
      required:
      - sellerReceiveAddress
      - price
      - utxoId
      - satRangePrices
      - signedListingPSBTBase64
      - makerFee
      properties:
        sellerReceiveAddress:
          type: string
        price:
          description: The total price of the listed rare sats utxo. Must be equal to the sum of the price of each sat range
          type: number
        utxoId:
          type: string
        satRangePrices:
          type: array
          items:
            $ref: '#/components/schemas/RareSatsSatRangePriceSchema'
        signedListingPSBTBase64:
          description: Same as the signedCombinedPSBTBase64
          type: string
        makerFee:
          description: Will be deprecated
          type: number
        publicKey:
          type: string
    RareSatsGetListingsSchema:
      type: object
      properties:
        tokens:
          type: array
          items:
            $ref: '#/components/schemas/RareSatsGetListingsItem'
    RareSatsGetListingsItem:
      type: object
      properties:
        id:
          type: string
        genesisTransaction:
          type: string
        genesisTransactionBlockTime:
          type: string
        genesisTransactionBlockHash:
          type: string
        genesisTransactionBlockHeight:
          type: number
        outputValue:
          type: number
        owner:
          type: string
        listed:
          type: boolean
        listedAt:
          type: string
        listedPrice:
          type: number
        listedSellerReceiverAddress:
          type: string
        minBlockHeight:
          type: number
        maxBlockHeight:
          type: number
        minBlockTime:
          type: string
        maxBlockTime:
          type: string
        minSatRange:
          type: number
        maxSatRange:
          type: number
        minUnitPrice:
          type: number
        maxUnitPrice:
          type: number
        satRanges:
          type: array
          items:
            $ref: '#/components/schemas/RareSatsSatRanges'
    RareSatsListingResultSchema:
      type: object
      required:
      - ok
      - listed
      - failed
      properties:
        ok:
          type: boolean
        listed:
          type: number
        failed:
          type: array
          items:
            type: string
    BlockInfoSchema:
      type: object
      properties:
        blockHash:
          type: string
        blockHeight:
          type: number
        blockTime:
          type: string
    ItemSchema:
      type: object
      properties:
        chain:
          type: string
        collection:
          type: object
          properties:
            chain:
              type: string
            imageURI:
              type: string
            name:
              type: string
            symbol:
              type: string
        contentURI:
          type: string
        contentType:
          type: string
        contentBody:
          type: string
        contentPreviewURI:
          type: string
        sat:
          type: number
        satName:
          type: string
        satRarity:
          type: string
        genesisTransaction:
          type: string
        genesisTransactionBlockTime:
          type: string
        genesisTransactionBlockHeight:
          type: number
        genesisTransactionBlockHash:
          type: string
        inscriptionNumber:
          type: number
        meta:
          type: object
          properties:
            name:
              type: string
            attributes:
              type: array
              items:
                type: object
                properties:
                  trait_type:
                    type: string
                  value:
                    type: string
        owner:
          type: string
        collectionSymbol:
          type: string
        location:
          type: string
        locationBlockHeight:
          type: number
        locationBlockTime:
          type: string
        locationBlockHash:
          type: string
        outputValue:
          type: number
        output:
          type: string
        mempoolTxId:
          type: string
        mempoolTxTimestamp:
          type: string
        listed:
          type: boolean
        listedAt:
          type: string
        listedPrice:
          type: number
        listedMakerFeeBp:
          type: number
        listedSellerReceiverAddress:
          type: string
        listedForMint:
          type: boolean
        brc20TransferAmt:
          type: number
        brc20ListedUnitPrice:
          type: number
        domain:
          type: string
    RareSatsSatRanges:
      type: object
      properties:
        id:
          type: string
        from:
          type: number
        to:
          type: number
        parentFrom:
          type: number
        parentTo:
          type: number
        satributes:
          $ref: '#/components/schemas/SatributesArraySchema'
        amount:
          type: number
        sequence:
          type: number
        unitPrice:
          type: number
        blockInfo:
          $ref: '#/components/schemas/BlockInfoSchema'
    RareSatsListingRequestSchema:
      type: object
      required:
      - listings
      - signedCombinedPSBTBase64
      properties:
        listings:
          type: array
          items:
            $ref: '#/components/schemas/RareSatsListingSchema'
        signedCombinedPSBTBase64:
          description: The selling PSBT must be signed by the rare sats owner. The unsigned PSBT can be generated using the `POST /listing-psbt` endpoint
          type: string
    SatributesSchema:
      type: string
      enum:
      - Common
      - Uncommon
      - Rare
      - Epic
      - Legendary
      - Black Uncommon
      - Black Rare
      - Black Epic
      - Black Legendary
      - Mythic
      - Palindrome
      - Uniform Palinception
      - Perfect Palinception
      - Paliblock Palindrome
      - Vintage
      - Nakamoto
      - Block 9
      - Block 9 450x
      - Block 286
      - Block 78
      - Block 666
      - First Transaction
      - Pizza
      - Taproot
      - Alpha
      - Omega
      - JPEG
      - Legacy
      - Hitman
    RareSatsListingsPSBTRequestSchema:
      type: object
      required:
      - listings
      properties:
        listings:
          type: array
          items:
            $ref: '#/components/schemas/RareSatsListingsPSBTRequestSchemaSingleItem'
    RareSatsListingsPSBTRequestSchemaSingleItem:
      type: object
      required:
      - utxoId
      - satRangePrices
      properties:
        sellerReceiveAddress:
          type: string
          description: Default to the utxo owner address if not specified
        publicKey:
          type: string
        utxoId:
          type: string
        satRangePrices:
          type: array
          items:
            $ref: '#/components/schemas/RareSatsSatRangePriceSchema'
    RareSatsUtxoSchema:
      type: object
      properties:
        id:
          type: string
        txId:
          type: string
        vout:
          type: number
        value:
          type: number
        address:
          type: string
        blockInfo:
          $ref: '#/components/schemas/BlockInfoSchema'
        listedPrice:
          type: number
        satRanges:
          type: array
          items:
            $ref: '#/components/schemas/RareSatsSatRanges'
        hasUninscribedRareSat:
          type: boolean
        floorValue:
          type: number
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer