---
title: "Get payment info for a marketplace asset"
method: GET
path: "/v1/aion/marketplace/assets/{uploadId}/payment-info"
---

# Get payment info for a marketplace asset

`GET /v1/aion/marketplace/assets/{uploadId}/payment-info`

## Request

- Base URL: `https://api.payaion.com`
- URL: `https://api.payaion.com/v1/aion/marketplace/assets/{uploadId}/payment-info`
- Auth: API key in header `X-Aion-Key`

Returns pricing and payment details for a marketplace asset.
Use this before purchasing to determine whether the asset is free or paid.

- **Free assets**: response contains `isFree: true` and basic asset metadata.
  You can download these directly via the marketplace URL.
- **Paid assets**: response contains `isFree: false`, asset metadata including
  `sellerAddress` and `pricePerDownload`, plus a full `paymentRequirements`
  object. Use the requirements to construct and sign an EIP-712 payment payload,
  then submit it to `POST /v1/aion/marketplace/purchase`.

Requires scope `marketplace:read`.

## Path parameters

- `uploadId` string, required

## Response `200`

Asset payment info

- union
  - PaymentInfoFree: Response when the asset is free — no payment required.
    - `isFree` true, required
    - `asset` AssetMetadataBase, required: Core metadata for any marketplace asset.
      - `uploadId` string, required
      - `title` string, required
      - `fileName` string, required
      - `mimeType` string, nullable
      - `sizeBytes` integer, required
  - PaymentInfoPaid: Response when the asset is paid. Contains the full `paymentRequirements` object needed to construct an EIP-712 payment payload.
    - `isFree` false, required
    - `asset` AssetMetadataPaid, required: Core metadata for any marketplace asset.
      - `uploadId` string, required
      - `title` string, required
      - `fileName` string, required
      - `mimeType` string, nullable
      - `sizeBytes` integer, required
      - `sellerAddress` string, required: Seller's EVM address that receives payment
      - `pricePerDownload` string, required: Price per download in USD
    - `paymentRequirements` X402PaymentRequirement, required: x402 payment requirement. Use these fields to construct an EIP-712 typed-data structure, sign it with your EVM wallet, then submit the signature via `POST /v1/aion/marketplace/purchase`.
      - `scheme` 'exact', required: Payment scheme — currently only "exact" is supported
      - `network` string, required: Chain network identifier (e.g. "base" for Base mainnet)
      - `maxAmountRequired` string, required: Payment amount in the smallest token unit (e.g. USDC has 6 decimals, so "250000" = $0.25)
      - `resource` string, uri, required: Canonical URL of the resource being purchased
      - `description` string: Human-readable description of the purchase
      - `mimeType` string: MIME type of the asset file
      - `payTo` string, required: Contract or wallet address that receives the payment
      - `maxTimeoutSeconds` integer, required: Maximum validity window for the signed payload (seconds)
      - `asset` string, required: Token contract address for the payment asset (e.g. USDC)
      - `extra` object, required: Additional metadata included in the EIP-712 domain
        - `name` string, required
        - `version` string, required
        - `creator` string, required: Seller's address
        - `mediaId` string, required: Upload ID of the purchased asset

## Other responses

- `401`: Invalid or missing credentials
- `403`: Scope denied or access forbidden
- `404`: Resource not found
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/payaion/apis/payaion-api.md) · [All operations](https://skmtc.dev/payaion/apis/payaion-api/llms.txt) · [OpenAPI document](https://skmtc.dev/payaion/apis/payaion-api/revisions/29927240cfc2?raw)
