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

# Fetch transactions

> Get rich transaction activity data for wallets, including activities, asset transfers, and labels.

export const SupportedChainsList = props => {
  const [data, setData] = useState(null);
  const [isLoading, setIsLoading] = useState(true);
  useEffect(() => {
    const fetchData = async () => {
      try {
        const response = await fetch("https://api.allium.so/api/v1/supported-chains/realtime-apis", {
          method: "GET"
        });
        if (!response.ok) {
          throw new Error(`HTTP error! status: ${response.status}`);
        }
        const responseData = await response.json();
        const filteredData = responseData.filter(entry => {
          const product = entry.endpoints[props.product_name];
          return product !== null;
        });
        setData(filteredData);
        setIsLoading(false);
      } catch (error) {
        setIsLoading(false);
      }
    };
    fetchData();
  }, []);
  if (isLoading) {
    return <div>Loading chain information...</div>;
  }
  if (!data) {
    return <div>No data available</div>;
  }
  const isCustomSQL = props.product_name === "custom_sql";
  return <div>
            {data.length > 0 && <table className="w-full">
                    <thead>
                        <tr>
                            <th>Chain</th>
                            <th>Chain ID</th>
                            <th>Status</th>
                            {isCustomSQL && <th>Tables</th>}
                        </tr>
                    </thead>
                    <tbody>
                        {data.map(chain => {
    const endpoint = chain.endpoints[props.product_name];
    return <tr key={chain.id}>
                                    <td style={{
      padding: '12px'
    }}>{chain.label}</td>
                                    <td style={{
      padding: '12px'
    }}><code>{chain.id}</code></td>
                                    <td style={{
      padding: '12px'
    }}>{endpoint ? endpoint.availability === "beta" ? "🌱 Beta" : "✅ Supported" : "❌ Not Supported"}</td>
                                    {isCustomSQL && <td style={{
      padding: '12px'
    }}>
                                            {endpoint && endpoint.tables ? endpoint.tables.map(t => t.name).join(", ") : "-"}
                                        </td>}
                                </tr>;
  })}
                    </tbody>
                </table>}
        </div>;
};

Each transaction in the response includes activities, asset transfers, and labels (where supported).

## Supported Chains

<SupportedChainsList product_name="wallet_transactions" />

## Feature Support by Chain

| Feature         | EVM           | Solana           | Bitcoin       |
| :-------------- | :------------ | :--------------- | :------------ |
| History         | Since genesis | Since 2022-01-01 | Since genesis |
| Asset transfers | ✅             | ✅                | ✅             |
| Activities      | ✅             | ✅                | ❌             |
| Labels          | ✅             | ❌                | ❌             |

## Supported Activities by Chain

| Activity               | Type                         | EVM | Solana                 | Bitcoin |
| :--------------------- | :--------------------------- | :-- | :--------------------- | :------ |
| Asset Approval         | `asset_approval`             | ✅   | N/A                    | ❌       |
| Asset Bridge           | `asset_bridge`               | ✅   | N/A                    | ❌       |
| DEX Trade              | `dex_trade`                  | ✅   | ✅                      | ❌       |
| Liquidity Pool Burn    | `dex_liquidity_pool_burn`    | ✅   | ❌                      | ❌       |
| Liquidity Pool Mint    | `dex_liquidity_pool_mint`    | ✅   | ❌                      | ❌       |
| Liquidity Pool Created | `dex_liquidity_pool_created` | ✅   | ❌                      | ❌       |
| NFT Trade              | `nft_trade`                  | ✅   | ✅ (Magic Eden v2 only) | ❌       |


## OpenAPI

````yaml /_openapi/wallet-api.json POST /api/v1/developer/wallet/transactions
openapi: 3.1.0
info:
  title: Allium API
  version: 0.1.0
servers:
  - url: https://api.allium.so
security: []
paths:
  /api/v1/developer/wallet/transactions:
    post:
      tags:
        - WALLET
        - DEVELOPER
      summary: Transactions
      description: Provides enriched transaction history data for wallet(s).
      operationId: get_wallet_transactions_api_v1_developer_wallet_transactions_post
      parameters:
        - name: activity_type
          in: query
          required: false
          schema:
            description: Activity type to filter transactions by
            title: Activity Type
            type: string
          description: Activity type to filter transactions by
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 1000
            exclusiveMinimum: 0
            description: Limit the number of transactions returned. Default is 25.
            default: 25
            title: Limit
          description: Limit the number of transactions returned. Default is 25.
        - name: transaction_hash
          in: query
          required: false
          schema:
            description: Filter by transaction hash
            title: Transaction Hash
            type: string
          description: Filter by transaction hash
        - name: cursor
          in: query
          required: false
          schema:
            description: Cursor to request the next page of results.
            title: Cursor
            type: string
          description: Cursor to request the next page of results.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/PayloadAddress'
              minItems: 1
              maxItems: 20
              description: List of chain+addresses to get transactions for.
              title: Addresses
            example:
              - chain: ethereum
                address: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WalletTransactionsEnvelope'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - APIKeyBearer: []
components:
  schemas:
    PayloadAddress:
      properties:
        chain:
          type: string
          title: Chain
          description: Lowercase chain name
        address:
          type: string
          title: Address
          description: Wallet address
      type: object
      required:
        - chain
        - address
      title: PayloadAddress
      examples:
        - address: '0xab16781a13fe343a275f4bb5c883a64ceda52917'
          chain: ethereum
        - address: 125Z6k4ZAxsgdG7JxrKZpwbcS1rxqpAeqM9GSCKd66Wp
          chain: solana
    WalletTransactionsEnvelope:
      properties:
        items:
          items:
            anyOf:
              - $ref: '#/components/schemas/EVMWalletTransaction'
              - $ref: '#/components/schemas/SolanaWalletTransaction'
              - $ref: '#/components/schemas/BitcoinWalletTransaction'
              - $ref: '#/components/schemas/StellarWalletTransaction'
              - $ref: '#/components/schemas/NearWalletTransaction'
          type: array
          title: Items
        cursor:
          anyOf:
            - type: string
            - type: 'null'
          title: Cursor
      type: object
      required:
        - items
      title: WalletTransactionsEnvelope
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    EVMWalletTransaction:
      properties:
        id:
          type: string
          title: Id
        type:
          anyOf:
            - type: integer
            - type: 'null'
          title: Type
        address:
          type: string
          title: Address
        chain:
          type: string
          title: Chain
        hash:
          type: string
          title: Hash
        index:
          type: integer
          title: Index
        within_block_order_key:
          type: integer
          title: Within Block Order Key
        block_timestamp:
          type: string
          format: date-time
          title: Block Timestamp
        block_number:
          type: integer
          title: Block Number
        block_hash:
          anyOf:
            - type: string
            - type: 'null'
          title: Block Hash
        fee:
          $ref: '#/components/schemas/AssetAmount'
        labels:
          items:
            type: string
          type: array
          title: Labels
        from_address:
          anyOf:
            - type: string
            - type: 'null'
          title: From Address
        to_address:
          anyOf:
            - type: string
            - type: 'null'
          title: To Address
        asset_transfers:
          items:
            $ref: >-
              #/components/schemas/api_server__app__routes__api__developer__wallet__transactions__EVMTransfer
          type: array
          title: Asset Transfers
        activities:
          items:
            anyOf:
              - $ref: '#/components/schemas/EVMAssetApprovalActivity'
              - $ref: '#/components/schemas/EVMNFTTradeActivity'
              - $ref: '#/components/schemas/EVMDexTradeActivity'
              - $ref: '#/components/schemas/EVMDexLiquidityPoolCreatedActivity'
              - $ref: '#/components/schemas/EVMAssetBridgeActivity'
              - $ref: '#/components/schemas/EVMDexLiquidityPoolBurnActivity'
              - $ref: '#/components/schemas/EVMDexLiquidityPoolMintActivity'
          type: array
          title: Activities
      type: object
      required:
        - id
        - type
        - address
        - chain
        - hash
        - index
        - within_block_order_key
        - block_timestamp
        - block_number
        - block_hash
        - fee
        - labels
        - from_address
        - to_address
        - asset_transfers
        - activities
      title: EVMWalletTransaction
    SolanaWalletTransaction:
      properties:
        id:
          type: string
          title: Id
        address:
          type: string
          title: Address
        chain:
          type: string
          title: Chain
        hash:
          type: string
          title: Hash
        index:
          type: integer
          title: Index
        within_block_order_key:
          type: integer
          title: Within Block Order Key
        block_timestamp:
          type: string
          format: date-time
          title: Block Timestamp
        block_number:
          type: integer
          title: Block Number
        block_hash:
          anyOf:
            - type: string
            - type: 'null'
          title: Block Hash
        fee:
          $ref: '#/components/schemas/AssetAmount'
        labels:
          items:
            type: string
          type: array
          title: Labels
        from_address:
          anyOf:
            - type: string
            - type: 'null'
          title: From Address
        to_address:
          anyOf:
            - type: string
            - type: 'null'
          title: To Address
        asset_transfers:
          items:
            $ref: '#/components/schemas/SolanaAssetTransfer'
          type: array
          title: Asset Transfers
        activities:
          items:
            anyOf:
              - $ref: '#/components/schemas/SolanaNFTTradeActivity'
              - $ref: '#/components/schemas/SolanaDEXTradeActivity'
          type: array
          title: Activities
      type: object
      required:
        - id
        - address
        - chain
        - hash
        - index
        - within_block_order_key
        - block_timestamp
        - block_number
        - block_hash
        - fee
        - labels
        - from_address
        - to_address
        - asset_transfers
        - activities
      title: SolanaWalletTransaction
    BitcoinWalletTransaction:
      properties:
        id:
          type: string
          title: Id
        address:
          type: string
          title: Address
        chain:
          type: string
          title: Chain
        hash:
          type: string
          title: Hash
        index:
          type: integer
          title: Index
        within_block_order_key:
          type: integer
          title: Within Block Order Key
        block_timestamp:
          type: string
          format: date-time
          title: Block Timestamp
        block_number:
          type: integer
          title: Block Number
        block_hash:
          anyOf:
            - type: string
            - type: 'null'
          title: Block Hash
        fee:
          $ref: '#/components/schemas/AssetAmount'
        labels:
          items:
            type: string
          type: array
          title: Labels
        asset_transfers:
          items:
            $ref: '#/components/schemas/BitcoinAssetTransfer'
          type: array
          title: Asset Transfers
        activities:
          items: {}
          type: array
          title: Activities
      type: object
      required:
        - id
        - address
        - chain
        - hash
        - index
        - within_block_order_key
        - block_timestamp
        - block_number
        - block_hash
        - fee
        - labels
        - asset_transfers
        - activities
      title: BitcoinWalletTransaction
    StellarWalletTransaction:
      properties:
        id:
          type: string
          title: Id
        address:
          type: string
          title: Address
        chain:
          type: string
          title: Chain
        hash:
          type: string
          title: Hash
        index:
          type: integer
          title: Index
        within_block_order_key:
          type: integer
          title: Within Block Order Key
        block_timestamp:
          type: string
          format: date-time
          title: Block Timestamp
        block_number:
          type: integer
          title: Block Number
        block_hash:
          anyOf:
            - type: string
            - type: 'null'
          title: Block Hash
        fee:
          $ref: '#/components/schemas/AssetAmount'
        labels:
          items:
            type: string
          type: array
          title: Labels
        asset_transfers:
          items:
            $ref: '#/components/schemas/StellarAssetTransfer'
          type: array
          title: Asset Transfers
        activities:
          items: {}
          type: array
          title: Activities
      type: object
      required:
        - id
        - address
        - chain
        - hash
        - index
        - within_block_order_key
        - block_timestamp
        - block_number
        - block_hash
        - fee
        - labels
        - asset_transfers
        - activities
      title: StellarWalletTransaction
    NearWalletTransaction:
      properties:
        address:
          type: string
          title: Address
        chain:
          type: string
          title: Chain
        hash:
          type: string
          title: Hash
        index:
          type: integer
          title: Index
        within_block_order_key:
          type: integer
          title: Within Block Order Key
        block_timestamp:
          type: string
          format: date-time
          title: Block Timestamp
        block_number:
          type: integer
          title: Block Number
        block_hash:
          type: string
          title: Block Hash
        fee:
          $ref: '#/components/schemas/AssetAmount'
        labels:
          items:
            type: string
          type: array
          title: Labels
        from_address:
          type: string
          title: From Address
        asset_transfers:
          items:
            $ref: '#/components/schemas/NearAssetTransfer'
          type: array
          title: Asset Transfers
        activities:
          items:
            type: 'null'
          type: array
          title: Activities
      type: object
      required:
        - address
        - chain
        - hash
        - index
        - within_block_order_key
        - block_timestamp
        - block_number
        - block_hash
        - fee
        - labels
        - from_address
        - asset_transfers
        - activities
      title: NearWalletTransaction
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    AssetAmount:
      properties:
        raw_amount:
          anyOf:
            - type: string
            - type: 'null'
          title: Raw Amount
        amount_str:
          anyOf:
            - type: string
            - type: 'null'
          title: Amount Str
        amount:
          anyOf:
            - type: number
            - type: 'null'
          title: Amount
      type: object
      required:
        - raw_amount
      title: AssetAmount
    api_server__app__routes__api__developer__wallet__transactions__EVMTransfer:
      properties:
        transfer_type:
          type: string
          enum:
            - sent
            - received
          title: Transfer Type
        operation:
          anyOf:
            - type: string
              enum:
                - mint
                - burn
            - type: 'null'
          title: Operation
        transaction_hash:
          type: string
          title: Transaction Hash
        log_index:
          anyOf:
            - type: integer
            - type: 'null'
          title: Log Index
        from_address:
          type: string
          title: From Address
        to_address:
          type: string
          title: To Address
        asset:
          $ref: '#/components/schemas/EVMAsset'
        amount:
          $ref: '#/components/schemas/AssetAmount'
      type: object
      required:
        - transfer_type
        - transaction_hash
        - from_address
        - to_address
        - asset
        - amount
      title: EVMTransfer
    EVMAssetApprovalActivity:
      properties:
        type:
          type: string
          const: asset_approval
          title: Type
          default: asset_approval
        asset:
          $ref: '#/components/schemas/EVMAsset'
        transaction_hash:
          type: string
          title: Transaction Hash
        log_index:
          anyOf:
            - type: integer
            - type: 'null'
          title: Log Index
        trace_index:
          anyOf:
            - type: integer
            - type: 'null'
          title: Trace Index
        contract_address:
          anyOf:
            - type: string
            - type: 'null'
          title: Contract Address
        spender_address:
          anyOf:
            - type: string
            - type: 'null'
          title: Spender Address
        approved_amount:
          anyOf:
            - $ref: '#/components/schemas/AssetAmount'
            - type: 'null'
        status:
          type: string
          enum:
            - approved
            - revoked
          title: Status
        granularity:
          type: string
          enum:
            - token
            - collection
          title: Granularity
      type: object
      required:
        - asset
        - transaction_hash
        - contract_address
        - spender_address
        - approved_amount
        - status
        - granularity
      title: EVMAssetApprovalActivity
    EVMNFTTradeActivity:
      properties:
        type:
          type: string
          const: nft_trade
          title: Type
          default: nft_trade
        side:
          type: string
          enum:
            - buyer
            - seller
          title: Side
        transaction_hash:
          type: string
          title: Transaction Hash
        log_index:
          anyOf:
            - type: integer
            - type: 'null'
          title: Log Index
        trace_index:
          anyOf:
            - type: integer
            - type: 'null'
          title: Trace Index
        asset:
          $ref: '#/components/schemas/EVMAsset'
        asset_amount:
          $ref: '#/components/schemas/AssetAmount'
        currency:
          $ref: '#/components/schemas/EVMAsset'
        currency_amount:
          $ref: '#/components/schemas/AssetAmount'
        buyer_address:
          type: string
          title: Buyer Address
        seller_address:
          type: string
          title: Seller Address
        platform_fee:
          anyOf:
            - $ref: '#/components/schemas/AssetAmount'
            - type: 'null'
        creator_fee:
          anyOf:
            - $ref: '#/components/schemas/AssetAmount'
            - type: 'null'
        platform_fee_receiver:
          anyOf:
            - type: string
            - type: 'null'
          title: Platform Fee Receiver
        creator_fee_receivers:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Creator Fee Receivers
        is_private:
          type: boolean
          title: Is Private
          default: false
        marketplace:
          type: string
          title: Marketplace
        protocol:
          type: string
          title: Protocol
      type: object
      required:
        - side
        - transaction_hash
        - asset
        - asset_amount
        - currency
        - currency_amount
        - buyer_address
        - seller_address
        - marketplace
        - protocol
      title: EVMNFTTradeActivity
    EVMDexTradeActivity:
      properties:
        type:
          type: string
          const: dex_trade
          title: Type
          default: dex_trade
        transaction_hash:
          type: string
          title: Transaction Hash
        log_index:
          anyOf:
            - type: integer
            - type: 'null'
          title: Log Index
        trace_index:
          anyOf:
            - type: integer
            - type: 'null'
          title: Trace Index
        asset_bought:
          $ref: '#/components/schemas/EVMAsset'
        asset_sold:
          $ref: '#/components/schemas/EVMAsset'
        amount_bought:
          $ref: '#/components/schemas/AssetAmount'
        amount_sold:
          $ref: '#/components/schemas/AssetAmount'
        project:
          anyOf:
            - type: string
            - type: 'null'
          title: Project
        protocol:
          anyOf:
            - type: string
            - type: 'null'
          title: Protocol
      type: object
      required:
        - transaction_hash
        - asset_bought
        - asset_sold
        - amount_bought
        - amount_sold
        - project
        - protocol
      title: EVMDexTradeActivity
    EVMDexLiquidityPoolCreatedActivity:
      properties:
        type:
          type: string
          const: dex_liquidity_pool_created
          title: Type
        transaction_hash:
          type: string
          title: Transaction Hash
        log_index:
          anyOf:
            - type: integer
            - type: 'null'
          title: Log Index
        trace_index:
          anyOf:
            - type: integer
            - type: 'null'
          title: Trace Index
        token0:
          $ref: '#/components/schemas/EVMAsset'
        token1:
          $ref: '#/components/schemas/EVMAsset'
        project:
          type: string
          title: Project
        protocol:
          type: string
          title: Protocol
        fee:
          anyOf:
            - type: integer
            - type: 'null'
          title: Fee
        tick_spacing:
          anyOf:
            - type: integer
            - type: 'null'
          title: Tick Spacing
        liquidity_pool_factory_address:
          anyOf:
            - type: string
            - type: 'null'
          title: Liquidity Pool Factory Address
        liquidity_pool_address:
          type: string
          title: Liquidity Pool Address
        pool_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Pool Id
      type: object
      required:
        - type
        - transaction_hash
        - token0
        - token1
        - project
        - protocol
        - fee
        - tick_spacing
        - liquidity_pool_factory_address
        - liquidity_pool_address
        - pool_id
      title: EVMDexLiquidityPoolCreatedActivity
    EVMAssetBridgeActivity:
      properties:
        type:
          type: string
          const: asset_bridge
          title: Type
          default: asset_bridge
        transaction_hash:
          type: string
          title: Transaction Hash
        log_index:
          anyOf:
            - type: integer
            - type: 'null'
          title: Log Index
        trace_index:
          anyOf:
            - type: integer
            - type: 'null'
          title: Trace Index
        protocol:
          type: string
          title: Protocol
        sender_address:
          type: string
          title: Sender Address
        recipient_address:
          type: string
          title: Recipient Address
        token_in_asset:
          $ref: '#/components/schemas/EVMAsset'
        token_in_amount:
          $ref: '#/components/schemas/AssetAmount'
        token_out_asset:
          $ref: '#/components/schemas/EVMAsset'
        token_out_amount:
          $ref: '#/components/schemas/AssetAmount'
        direction:
          type: string
          title: Direction
        source_chain:
          type: string
          title: Source Chain
        destination_chain:
          type: string
          title: Destination Chain
      type: object
      required:
        - transaction_hash
        - protocol
        - sender_address
        - recipient_address
        - token_in_asset
        - token_in_amount
        - token_out_asset
        - token_out_amount
        - direction
        - source_chain
        - destination_chain
      title: EVMAssetBridgeActivity
    EVMDexLiquidityPoolBurnActivity:
      properties:
        type:
          type: string
          const: dex_liquidity_pool_burn
          title: Type
        project:
          anyOf:
            - type: string
            - type: 'null'
          title: Project
        protocol:
          anyOf:
            - type: string
            - type: 'null'
          title: Protocol
        liquidity_pool_address:
          type: string
          title: Liquidity Pool Address
        token0:
          $ref: '#/components/schemas/EVMAsset'
        token1:
          $ref: '#/components/schemas/EVMAsset'
        token0_amount:
          $ref: '#/components/schemas/AssetAmount'
        token1_amount:
          $ref: '#/components/schemas/AssetAmount'
        lp_tokens_amount:
          anyOf:
            - type: integer
            - type: 'null'
          title: Lp Tokens Amount
        transaction_hash:
          type: string
          title: Transaction Hash
        log_index:
          type: integer
          title: Log Index
        protocol_specific_fields:
          anyOf:
            - $ref: '#/components/schemas/ProtocolSpecificFields'
            - type: 'null'
      type: object
      required:
        - type
        - liquidity_pool_address
        - token0
        - token1
        - token0_amount
        - token1_amount
        - transaction_hash
        - log_index
      title: EVMDexLiquidityPoolBurnActivity
    EVMDexLiquidityPoolMintActivity:
      properties:
        type:
          type: string
          const: dex_liquidity_pool_mint
          title: Type
        project:
          anyOf:
            - type: string
            - type: 'null'
          title: Project
        protocol:
          anyOf:
            - type: string
            - type: 'null'
          title: Protocol
        liquidity_pool_address:
          type: string
          title: Liquidity Pool Address
        token0:
          $ref: '#/components/schemas/EVMAsset'
        token1:
          $ref: '#/components/schemas/EVMAsset'
        token0_amount:
          $ref: '#/components/schemas/AssetAmount'
        token1_amount:
          $ref: '#/components/schemas/AssetAmount'
        lp_tokens_amount:
          anyOf:
            - type: integer
            - type: 'null'
          title: Lp Tokens Amount
        transaction_hash:
          type: string
          title: Transaction Hash
        log_index:
          type: integer
          title: Log Index
        protocol_specific_fields:
          anyOf:
            - $ref: '#/components/schemas/ProtocolSpecificFields'
            - type: 'null'
      type: object
      required:
        - type
        - liquidity_pool_address
        - token0
        - token1
        - token0_amount
        - token1_amount
        - transaction_hash
        - log_index
      title: EVMDexLiquidityPoolMintActivity
    SolanaAssetTransfer:
      properties:
        transaction_hash:
          anyOf:
            - type: string
            - type: 'null'
          title: Transaction Hash
        log_index:
          anyOf:
            - type: integer
            - type: 'null'
          title: Log Index
        transfer_type:
          type: string
          enum:
            - sent
            - received
            - invalid
            - minted
            - burned
          title: Transfer Type
        from_address:
          anyOf:
            - type: string
            - type: 'null'
          title: From Address
        to_address:
          anyOf:
            - type: string
            - type: 'null'
          title: To Address
        from_token_account:
          anyOf:
            - type: string
            - type: 'null'
          title: From Token Account
        to_token_account:
          anyOf:
            - type: string
            - type: 'null'
          title: To Token Account
        asset:
          $ref: '#/components/schemas/SolanaAsset'
        amount:
          $ref: '#/components/schemas/AssetAmount'
      type: object
      required:
        - transfer_type
        - asset
        - amount
      title: SolanaAssetTransfer
    SolanaNFTTradeActivity:
      properties:
        type:
          type: string
          const: nft_trade
          title: Type
        side:
          type: string
          enum:
            - buyer
            - seller
          title: Side
        asset:
          $ref: '#/components/schemas/SolanaAsset'
        asset_amount:
          $ref: '#/components/schemas/AssetAmount'
        currency:
          $ref: '#/components/schemas/SolanaAsset'
        currency_amount:
          $ref: '#/components/schemas/AssetAmount'
        marketplace:
          anyOf:
            - type: string
            - type: 'null'
          title: Marketplace
        protocol:
          anyOf:
            - type: string
            - type: 'null'
          title: Protocol
      type: object
      required:
        - type
        - side
        - asset
        - asset_amount
        - currency
        - currency_amount
        - marketplace
        - protocol
      title: SolanaNFTTradeActivity
    SolanaDEXTradeActivity:
      properties:
        type:
          type: string
          const: dex_trade
          title: Type
        log_index:
          anyOf:
            - type: integer
            - type: 'null'
          title: Log Index
        asset_bought:
          $ref: '#/components/schemas/SolanaAsset'
        asset_sold:
          $ref: '#/components/schemas/SolanaAsset'
        amount_bought:
          $ref: '#/components/schemas/AssetAmount'
        amount_sold:
          $ref: '#/components/schemas/AssetAmount'
        project:
          anyOf:
            - type: string
            - type: 'null'
          title: Project
        protocol:
          anyOf:
            - type: string
            - type: 'null'
          title: Protocol
      type: object
      required:
        - type
        - log_index
        - asset_bought
        - asset_sold
        - amount_bought
        - amount_sold
        - project
        - protocol
      title: SolanaDEXTradeActivity
    BitcoinAssetTransfer:
      properties:
        transfer_type:
          type: string
          enum:
            - sent
            - received
          title: Transfer Type
        from_address:
          anyOf:
            - type: string
            - type: 'null'
          title: From Address
        to_address:
          anyOf:
            - type: string
            - type: 'null'
          title: To Address
        asset:
          anyOf:
            - $ref: '#/components/schemas/NativeAssetDetail'
            - $ref: '#/components/schemas/BRC20AssetDetail'
            - $ref: '#/components/schemas/OrdinalInscriptionAssetDetail'
          title: Asset
        amount:
          $ref: '#/components/schemas/AssetAmount'
      type: object
      required:
        - transfer_type
        - asset
        - amount
      title: BitcoinAssetTransfer
      description: AssetTransfer to represent the asset transfer.
    StellarAssetTransfer:
      properties:
        transfer_type:
          type: string
          enum:
            - sent
            - received
          title: Transfer Type
        from_address:
          anyOf:
            - type: string
            - type: 'null'
          title: From Address
        to_address:
          anyOf:
            - type: string
            - type: 'null'
          title: To Address
        asset:
          anyOf:
            - $ref: '#/components/schemas/StellarNativeAssetDetail'
            - $ref: '#/components/schemas/StellarTokenAssetDetail'
          title: Asset
        amount:
          $ref: '#/components/schemas/AssetAmount'
      type: object
      required:
        - transfer_type
        - asset
        - amount
      title: StellarAssetTransfer
    NearAssetTransfer:
      properties:
        from_address:
          type: string
          title: From Address
        to_address:
          type: string
          title: To Address
        asset:
          $ref: '#/components/schemas/NearAsset'
        amount:
          $ref: '#/components/schemas/AssetAmount'
      type: object
      required:
        - from_address
        - to_address
        - asset
        - amount
      title: NearAssetTransfer
    EVMAsset:
      properties:
        type:
          anyOf:
            - type: string
              enum:
                - native
                - evm_erc20
                - evm_erc721
                - evm_erc1155
            - type: 'null'
          title: Type
        address:
          anyOf:
            - type: string
            - type: 'null'
          title: Address
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        symbol:
          anyOf:
            - type: string
            - type: 'null'
          title: Symbol
        decimals:
          anyOf:
            - type: integer
            - type: 'null'
          title: Decimals
        token_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Token Id
      type: object
      required:
        - type
      title: EVMAsset
    ProtocolSpecificFields:
      properties:
        tick_lower:
          anyOf:
            - type: integer
            - type: 'null'
          title: Tick Lower
        tick_upper:
          anyOf:
            - type: integer
            - type: 'null'
          title: Tick Upper
        liquidity_delta:
          anyOf:
            - type: string
            - type: 'null'
          title: Liquidity Delta
        sqrt_price_x96:
          anyOf:
            - type: string
            - type: 'null'
          title: Sqrt Price X96
      type: object
      title: ProtocolSpecificFields
    SolanaAsset:
      properties:
        type:
          anyOf:
            - type: string
              enum:
                - native
                - sol_spl
                - sol_nft
            - type: 'null'
          title: Type
        address:
          anyOf:
            - type: string
            - type: 'null'
          title: Address
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        symbol:
          anyOf:
            - type: string
            - type: 'null'
          title: Symbol
        decimals:
          anyOf:
            - type: integer
            - type: 'null'
          title: Decimals
        token_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Token Id
      type: object
      required:
        - type
      title: SolanaAsset
    NativeAssetDetail:
      properties:
        type:
          anyOf:
            - type: string
              enum:
                - native
                - btc_inscription
                - btc_brc20
                - btc_rune
            - type: 'null'
          title: Type
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        symbol:
          anyOf:
            - type: string
            - type: 'null'
          title: Symbol
        decimals:
          anyOf:
            - type: integer
            - type: 'null'
          title: Decimals
        token_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Token Id
      type: object
      required:
        - type
      title: NativeAssetDetail
    BRC20AssetDetail:
      properties:
        type:
          anyOf:
            - type: string
              enum:
                - native
                - btc_inscription
                - btc_brc20
                - btc_rune
            - type: 'null'
          title: Type
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        symbol:
          anyOf:
            - type: string
            - type: 'null'
          title: Symbol
        decimals:
          anyOf:
            - type: integer
            - type: 'null'
          title: Decimals
        token_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Token Id
        inscription_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Inscription Id
        deployment_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Deployment Id
      type: object
      required:
        - type
        - inscription_id
        - deployment_id
      title: BRC20AssetDetail
    OrdinalInscriptionAssetDetail:
      properties:
        type:
          anyOf:
            - type: string
              enum:
                - native
                - btc_inscription
                - btc_brc20
                - btc_rune
            - type: 'null'
          title: Type
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        symbol:
          anyOf:
            - type: string
            - type: 'null'
          title: Symbol
        decimals:
          anyOf:
            - type: integer
            - type: 'null'
          title: Decimals
        token_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Token Id
        utxo_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Utxo Id
        inscription_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Inscription Id
      type: object
      required:
        - type
        - utxo_id
        - inscription_id
      title: OrdinalInscriptionAssetDetail
    StellarNativeAssetDetail:
      properties:
        type:
          anyOf:
            - type: string
              enum:
                - native
                - stellar_token
            - type: 'null'
          title: Type
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        symbol:
          anyOf:
            - type: string
            - type: 'null'
          title: Symbol
        decimals:
          anyOf:
            - type: integer
            - type: 'null'
          title: Decimals
        token_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Token Id
      type: object
      required:
        - type
      title: StellarNativeAssetDetail
    StellarTokenAssetDetail:
      properties:
        type:
          anyOf:
            - type: string
              enum:
                - native
                - stellar_token
            - type: 'null'
          title: Type
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        symbol:
          anyOf:
            - type: string
            - type: 'null'
          title: Symbol
        decimals:
          anyOf:
            - type: integer
            - type: 'null'
          title: Decimals
        token_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Token Id
        contract_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Contract Id
        asset_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Asset Code
        asset_issuer:
          anyOf:
            - type: string
            - type: 'null'
          title: Asset Issuer
      type: object
      required:
        - type
      title: StellarTokenAssetDetail
    NearAsset:
      properties:
        address:
          anyOf:
            - type: string
            - type: 'null'
          title: Address
        symbol:
          anyOf:
            - type: string
            - type: 'null'
          title: Symbol
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        decimals:
          anyOf:
            - type: integer
            - type: 'null'
          title: Decimals
      type: object
      title: NearAsset
  securitySchemes:
    APIKeyBearer:
      type: apiKey
      in: header
      name: X-API-KEY

````