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

# Create subscription

> Create a webhook subscription that pushes transaction notifications for a set of wallets to your callback URL.



## OpenAPI

````yaml /openapi-v1.yaml post /v1/tx-subscriptions/
openapi: 3.0.3
info:
  version: 1.0.0
  title: REST API
  description: REST-like API provides access to rich Zerion ecosystem.
  contact:
    name: Zerion API
    url: https://developers.zerion.io/
    email: api@zerion.io
servers:
  - description: Production API
    url: https://api.zerion.io
security:
  - APIKeyBasicAuth: []
tags:
  - name: wallets
    description: >-
      Operations related to wallets, such as portfolio charts, positions, and
      transactions.
  - name: wallet sets
    description: >-
      Operations on a wallet set, returning aggregated portfolio data across at
      most one EVM address and one Solana address queried together.
  - name: fungibles
    description: >-
      Operations related to fungible assets, such as list them all, search or
      get by ID.
  - name: chains
    description: Operations related to chains, such as list all chains.
  - name: swap
    description: Operations related to swapping and bridging assets.
  - name: gas
    description: Operations related to gas.
  - name: nfts
    description: >-
      Operations related to non fungible assets, such list them, search or get
      by ID.
  - name: dapps
    description: >-
      Operations related to decentralized applications, such as list them all,
      search or get by ID.
  - name: subscriptions to transactions
    description: Operations related to subscriptions to transactions.
paths:
  /v1/tx-subscriptions/:
    post:
      tags:
        - subscriptions to transactions
      summary: Create subscription
      description: >
        Creates a subscription that pushes a notification to your callback URL
        whenever a subscribed wallet transacts. The typical use case is wallet
        activity alerts, like the push notifications in the Zerion app.


        Your callback host has to be whitelisted before it will receive
        anything. [webhook.site](https://webhook.site) URLs work out of the box
        for testing. To use your own host, request whitelisting from the
        [Dashboard](https://dashboard.zerion.io) or email `api@zerion.io` with
        the address and the callback URL. A `dev` key is limited to one
        subscription of at most 5 wallets, valid for one week. Production keys
        have no wallet or time limit.


        Only transactions mined after the subscription is created are reported,
        prices in the payload are always `null`, and delivery is best-effort.
        The [Webhooks guide](https://developers.zerion.io/webhooks) covers the
        payload format, signature verification, retry behavior and delivery
        guarantees.


        **Event filtering.** Attach `filters` to narrow what a subscription
        delivers. Only exclusion is supported: a matching event is dropped and
        no webhook is sent for it.


        ```json

        {
          "callback_url": "https://webhook.site/fcd606d2-f5bd-4832-9874-ff07c980b5a3",
          "addresses": ["0x42b9df65b219b3dd36ff330a4dd8f327a6ada990"],
          "chain_ids": ["ethereum"],
          "filters": {
            "exclude": {
              "types": ["send"],
              "is_spam": true,
              "protocol_ids": ["uniswap-v3"],
              "addresses": ["0x0000000000000000000000000000000000000001"]
            }
          }
        }

        ```


        Conditions are independent and combined with OR, so the example above
        drops a `send`, or spam, or anything attributed to `uniswap-v3`, or
        anything involving that address. Adding a condition can only reduce what
        you receive. `is_spam` accepts only `true`; empty lists, duplicates,
        unknown transaction types and unknown field names are rejected. Omitting
        `filters`, or sending `null`, leaves the subscription unfiltered, and
        responses omit the field when none are set.


        **Failed transactions.** Failed transactions sent from a subscribed
        wallet have always been reported. Webhooks are now also delivered when a
        transaction addressed to a subscribed smart-contract wallet fails
        onchain, with `"status": "failed"`. The payload carries one `execute`
        act with the wallet as `contract_address`, and empty `transfers` and
        `approvals` arrays. An ERC-4337 `UserOperation` that fails inside a
        successful bundle transaction is not reported. This applies to EVM
        chains only; Solana subscriptions are unaffected.


        **See also:** [Webhooks guide](https://developers.zerion.io/webhooks) ·
        [Resource
        IDs](https://developers.zerion.io/endpoints-and-schema#resource-ids)
      operationId: createSubscriptionWalletTransactions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - callback_url
                - addresses
              properties:
                callback_url:
                  type: string
                  description: |
                    Callback URL that notifications are delivered to.
                  example: https://webhook.site/fcd606d2-f5bd-4832-9874-ff07c980b5a3
                addresses:
                  type: array
                  description: >
                    Wallet addresses to subscribe, up to 100 on the create call.
                    Add more in batches of 100 with `PATCH
                    /v1/tx-subscriptions/{subscription_id}/wallets`.


                    Free tier accounts are limited to 5 addresses per
                    subscription.
                  items:
                    type: string
                    description: A wallet address.
                    example: '0x42b9df65b219b3dd36ff330a4dd8f327a6ada990'
                chain_ids:
                  type: array
                  description: >
                    Chains to report transactions from. Only chains reporting
                    both `supports_transactions` and `supports_positions` in the
                    `flags` of `GET /v1/chains/` are accepted here.

                    Naming a chain that fails that gate returns `400` rather
                    than an empty result, with `detail` reading `chain <id> does
                    not support transactions`. That `detail` names the
                    endpoint's capability rather than the flag that failed, so
                    `bob` is refused with `chain bob does not support
                    transactions` even though it reports
                    `supports_transactions`. What it lacks is
                    `supports_positions`.

                    Leave the list empty to subscribe to every chain that passes
                    the gate. Chains that fail it are left out silently, with no
                    error and no `meta` signal.
                  items:
                    type: string
                    example: polygon
                filters:
                  $ref: '#/components/schemas/Filters'
      responses:
        '201':
          $ref: '#/components/responses/SubscriptionResponse'
        '400':
          $ref: '#/components/responses/MalformedParameters'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      callbacks:
        TransactionCallback:
          <your webhook URL>:
            post:
              summary: Notification
              requestBody:
                $ref: '#/components/requestBodies/NotificationResponse'
              responses:
                '200':
                  description: Successful callback processing
                '400':
                  description: Invalid request
                '500':
                  description: Server error
              method: post
              type: path
            path: <your webhook URL>
components:
  schemas:
    Filters:
      type: object
      nullable: true
      description: >
        Exclusion filters for the subscription. Conditions are combined with OR:
        an

        event matching any one of them is dropped and no webhook is delivered
        for it.

        Filters are absent from the response when none are set. What omitting
        the

        field or sending `null` means is specific to the request that carries
        it:

        see that operation's own description.


        Field paths below refer to the delivered webhook transaction payload,
        not to

        this subscription resource. A condition does not match an event lacking
        the

        value it compares, so an event with no `dapp` is not excluded by

        `protocol_ids`.
      required:
        - exclude
      properties:
        exclude:
          type: object
          description: Conditions that drop an event. At least one must be present.
          properties:
            types:
              type: array
              description: >
                Drop events by transaction type, matched against

                `attributes.operation_type`, not the resource-level `type`
                (always

                `"transactions"`), nor the per-act `acts[].type`.
              items:
                type: string
                example: send
            is_spam:
              type: boolean
              description: |
                Drop events classified as spam, delivered as
                `attributes.flags.is_trash`; there is no `is_spam` field in the
                payload. Only `true` is accepted.
              example: true
            protocol_ids:
              type: array
              description: >
                Drop events by protocol, matched against `relationships.dapp.id`
                only.
              items:
                type: string
                example: uniswap-v3
            addresses:
              type: array
              description: >
                Drop events by address, matched against `attributes.sent_from`
                and

                `attributes.sent_to` only.
              items:
                type: string
                example: '0x0000000000000000000000000000000000000001'
    Response-22:
      type: object
      required:
        - data
      properties:
        data:
          $ref: '#/components/schemas/Container-18'
    Response-23:
      type: object
      required:
        - data
      properties:
        data:
          $ref: '#/components/schemas/Container-19'
        included:
          $ref: '#/components/schemas/Included-3'
    Container-18:
      type: object
      required:
        - type
        - id
        - attributes
        - relationships
      properties:
        type:
          type: string
          example: transactions_subscription
        id:
          type: string
          description: Unique ID of the transaction subscription.
          example: 52d994a173d755e99845e861d534a419
        attributes:
          $ref: '#/components/schemas/Attributes-16'
        relationships:
          $ref: '#/components/schemas/Relationships-9'
    Container-19:
      type: object
      required:
        - type
        - id
        - attributes
        - relationships
      properties:
        type:
          type: string
          example: transaction_notification
        id:
          type: string
          description: Unique ID of the notification.
          example: 52d994a173d755e99845e861d534a419
        attributes:
          $ref: '#/components/schemas/Attributes-17'
        relationships:
          $ref: '#/components/schemas/Relationships-10'
    Included-3:
      type: array
      items:
        $ref: '#/components/schemas/Container-4'
    Attributes-16:
      type: object
      required:
        - callback_url
        - created_at
        - updated_at
      properties:
        callback_url:
          type: string
          description: Callback URL where updates delivered to
          example: https://webhook.site/fcd606d2-f5bd-4832-9874-ff07c980b5a3
        created_at:
          type: string
          description: >-
            Timestamp string in ISO 8601 format when the subscription was
            created
          example: '2022-08-15T11:26:31+00:00'
        updated_at:
          type: string
          description: >-
            Timestamp string in ISO 8601 format when the subscription was last
            renewed
          example: '2022-08-15T11:26:31+00:00'
        filters:
          $ref: '#/components/schemas/Filters'
    Relationships-9:
      type: object
      properties:
        chains:
          type: array
          items:
            $ref: '#/components/schemas/Relationship'
    Attributes-17:
      type: object
      required:
        - timestamp
        - callback_url
        - address
      properties:
        timestamp:
          type: string
          description: Timestamp when notification was generated.
          example: '2024-07-31T00:17:36Z'
        callback_url:
          type: string
          description: URL to the callback endpoint.
          example: https://example.com/callback
        address:
          type: string
          description: Address of the subscription wallet.
          example: '0x42b9df65b219b3dd36ff330a4dd8f327a6ada990'
    Relationships-10:
      type: object
      required:
        - subscription
      properties:
        subscription:
          type: object
          required:
            - type
            - id
          properties:
            type:
              type: string
              example: tx-subscriptions
            id:
              type: string
              example: 87db77a6-17eb-4ca8-af0e-e43cbe9c83c6
    Container-4:
      type: object
      required:
        - type
        - id
        - attributes
      properties:
        type:
          type: string
          description: Resource type
          enum:
            - transactions
        id:
          type: string
          description: Unique ID of the transaction.
          example: 52d994a173d755e99845e861d534a419
        attributes:
          $ref: '#/components/schemas/Attributes-5'
        relationships:
          $ref: '#/components/schemas/Relationships-2'
    Relationship:
      type: object
      required:
        - links
        - data
      properties:
        links:
          $ref: '#/components/schemas/RelationshipLinks'
        data:
          $ref: '#/components/schemas/ContainerShort'
    Attributes-5:
      type: object
      required:
        - operation_type
        - hash
        - mined_at_block
        - mined_at
        - sent_from
        - sent_to
        - status
        - nonce
        - fee
        - transfers
        - approvals
      properties:
        address:
          type: string
          description: Wallet address for which this transaction is being retrieved.
          example: '0x42b9df65b219b3dd36ff330a4dd8f327a6ada990'
        operation_type:
          $ref: '#/components/schemas/Type'
        hash:
          type: string
          description: Hash of the transaction.
          example: '0x109d8622084d562263230ba5de412b5cd7c372019131e2c9d0a8aa4925eb6034'
        mined_at_block:
          type: integer
          format: int32
          description: Number of a block where the transaction was mined.
          example: 15345739
        mined_at:
          type: string
          description: Timestamp string in ISO 8601 format when the transaction was mined.
          example: '2022-08-15T11:26:31+00:00'
        sent_from:
          type: string
          description: >-
            Address of a sender of the transaction. It could be a smart contract
            address too.
          example: '0x42b9df65b219b3dd36ff330a4dd8f327a6ada990'
        sent_to:
          type: string
          description: >-
            Address of a recipient of the transaction. It could a be smart
            contract address too.
          example: '0x794a61358d6845594f94dc1db02a252b5b4814ad'
        status:
          type: string
          description: >
            `confirmed`: mined and executed successfully.

            `failed`: mined but did not execute (out of gas, invalid signature,
            invalid nonce, or a revert; the cause is not distinguished).

            `pending`: not yet mined.
          example: confirmed
          enum:
            - confirmed
            - failed
            - pending
        nonce:
          type: integer
          format: int32
          description: Nonce of the transaction.
          example: 3757
        fee:
          $ref: '#/components/schemas/Fee'
        refund:
          $ref: '#/components/schemas/Refund'
        transfers:
          type: array
          description: >-
            List of transfers. An empty list is returned if the transaction does
            not have any transfers.
          items:
            $ref: '#/components/schemas/Transfer'
        approvals:
          type: array
          description: >-
            List of approvals. An empty list is returned if the transaction does
            not have any approvals.
          items:
            $ref: '#/components/schemas/Approval'
        collection_approvals:
          type: array
          description: >-
            List of collection approvals. An empty list is returned if the
            transaction does not have any collection approvals.
          items:
            $ref: '#/components/schemas/CollectionApproval'
        delegations:
          type: array
          description: List of delegations.
          items:
            $ref: '#/components/schemas/Delegation'
        application_metadata:
          $ref: '#/components/schemas/DAppInfo-2'
        flags:
          $ref: '#/components/schemas/Flags-4'
        acts:
          type: array
          description: >-
            List of acts happened in the transaction for the wallet. Each
            transfer and approval belongs to one of the acts.
          items:
            $ref: '#/components/schemas/Act'
        paymaster:
          type: string
          description: Address of a transaction fee payer.
          example: '0x794a61358d6845594f94dc1db02a252b5b4814ad'
    Relationships-2:
      type: object
      properties:
        chain:
          $ref: '#/components/schemas/Relationship'
        dapp:
          $ref: '#/components/schemas/Relationship-2'
    RelationshipLinks:
      type: object
      required:
        - related
      properties:
        related:
          type: string
          format: url
          description: URL to the current chain.
          example: https://api.zerion.io/v1/chains/polygon
    ContainerShort:
      type: object
      required:
        - type
        - id
      properties:
        type:
          type: string
          description: Chain resource type.
          example: chains
        id:
          type: string
          description: Chain unique identifier.
          example: polygon
    Type:
      type: string
      description: >
        Type of the transaction operation. This field indicates the primary
        action performed in the transaction.


        Possible values and their meanings:


        - `approve` - Grant permission to a smart contract to access and spend
        tokens on behalf of the wallet

        - `bid` - Place a bid in a prediction market

        - `burn` - Destroy tokens permanently, reducing the total token supply

        - `claim` - Claim earned rewards, airdrops, or vested tokens from a
        protocol

        - `delegate` - Delegate tokens or voting power to another address

        - `deploy` - Deploy a new smart contract onchain

        - `deposit` - Deposit assets into a protocol (e.g., lending pool,
        liquidity pool, vault)

        - `execute` - Execute a smart contract function or complex interaction
        that doesn't fit other specific types

        - `mint` - Create new tokens, increasing the total token supply

        - `receive` - Receive tokens from another wallet address

        - `revoke` - Revoke previously granted token spending permissions from a
        smart contract

        - `revoke_delegation` - Revoke a previously delegated token or voting
        power

        - `send` - Send tokens to another wallet address

        - `trade` - Exchange or swap assets (e.g., on a DEX)

        - `withdraw` - Withdraw assets from a protocol (e.g., from lending
        pools, liquidity pools, or vaults)
      example: trade
      enum:
        - approve
        - bid
        - burn
        - claim
        - delegate
        - deploy
        - deposit
        - execute
        - mint
        - receive
        - revoke
        - revoke_delegation
        - send
        - trade
        - withdraw
    Fee:
      type: object
      description: The fee that was paid for the transaction.
      required:
        - fungible_info
        - quantity
        - price
        - value
      properties:
        fungible_info:
          type: object
          allOf:
            - $ref: '#/components/schemas/Info'
          nullable: true
        quantity:
          $ref: '#/components/schemas/Quantity'
        price:
          type: number
          nullable: true
          format: float
          description: >-
            Price of the asset when the transaction was mined. Can be null if
            price information is unavailable.
          example: 2542.23
        value:
          type: number
          nullable: true
          format: float
          description: >-
            The fee value in requested currency. Can be null if value cannot be
            calculated.
          example: 39.965672931101786
    Refund:
      type: object
      description: The refund that was received for the transaction.
      required:
        - fungible_info
        - quantity
        - value
        - price
      properties:
        fungible_info:
          type: object
          allOf:
            - $ref: '#/components/schemas/Info'
          nullable: true
        quantity:
          $ref: '#/components/schemas/Quantity'
        price:
          type: number
          nullable: true
          format: float
          description: Price of the asset when the transaction was mined.
          example: 2542.23
        value:
          type: number
          nullable: true
          format: float
          description: The refund value in requested currency.
          example: 5.123456789
    Transfer:
      type: object
      required:
        - direction
        - quantity
        - value
        - price
        - sender
        - recipient
        - act_id
      properties:
        encrypted_quantity:
          $ref: '#/components/schemas/EncryptedQuantity'
        fungible_info:
          $ref: '#/components/schemas/Info'
        nft_info:
          $ref: '#/components/schemas/Info-2'
        direction:
          type: string
          description: Direction of the transfer.
          example: in
          enum:
            - in
            - out
            - self
        quantity:
          $ref: '#/components/schemas/Quantity'
        value:
          type: number
          nullable: true
          format: float
          description: >-
            Value of the transfer in requested currency. Can be null if value
            cannot be calculated.
          example: 0
        price:
          type: number
          nullable: true
          format: float
          description: >-
            Historical price of the asset. Can be null if price information is
            unavailable.
          example: 0
        sender:
          type: string
          description: Address of the sender of the transfer.
          example: '0x60a26d69263ef43e9a68964ba141263f19d71d51'
        recipient:
          type: string
          description: Address of the recipient of the transfer.
          example: '0x60a26d69263ef43e9a68964ba141263f19d71d51'
        act_id:
          type: string
          description: Identifier of the act to which the transfer belongs
          example: '2'
    Approval:
      type: object
      required:
        - quantity
        - sender
        - act_id
      properties:
        fungible_info:
          $ref: '#/components/schemas/Info'
        nft_info:
          $ref: '#/components/schemas/Info-2'
        quantity:
          $ref: '#/components/schemas/Quantity'
        sender:
          type: string
          description: Address of the sender of the approval.
          example: '0x60a26d69263ef43e9a68964ba141263f19d71d51'
        act_id:
          type: string
          description: Identifier of the act to which the transfer belongs
          example: '1'
    CollectionApproval:
      type: object
      required:
        - cancelled
        - spender
        - act_id
      properties:
        collection_info:
          $ref: '#/components/schemas/CollectionInfo'
        cancelled:
          type: boolean
          description: Indicates if the approval has been cancelled or granted.
        spender:
          type: string
          description: Address of the spender of the approval.
          example: '0x60a26d69263ef43e9a68964ba141263f19d71d51'
        act_id:
          type: string
          description: Identifier of the act to which the transfer belongs.
          example: '1'
    Delegation:
      type: object
      description: Delegation created on an EVM chain.
      required:
        - address
        - act_id
      properties:
        chain_id:
          type: string
          example: ethereum
        address:
          type: string
          example: '0x42b9df65b219b3dd36ff330a4dd8f327a6ada990'
        act_id:
          type: string
          example: '1'
    DAppInfo-2:
      type: object
      required:
        - contract_address
      properties:
        name:
          type: string
          example: AAVE
          description: >
            Human readable representation of DApp, that wallet interacted to.
            That offers more intuitive understanding for users.
        icon:
          $ref: '#/components/schemas/Icon'
        contract_address:
          type: string
          description: The address of the executed contract.
          example: '0x794a61358d6845594f94dc1db02a252b5b4814ad'
        method:
          $ref: '#/components/schemas/ExecutionMethod'
    Flags-4:
      type: object
      properties:
        is_trash:
          type: boolean
          description: Is the transaction classified by Zerion as spam.
    Act:
      type: object
      required:
        - id
        - type
      properties:
        id:
          type: string
          description: Unique identifier of the act within the transaction.
          example: '1'
        type:
          $ref: '#/components/schemas/ActType'
        fee_kind:
          type: string
          description: >
            Classification of the fee for acts of type `fee`. Omitted for
            non-fee acts.


            Possible values:
              - ui - Fee charged by the UI / client application (e.g., a wallet or dApp frontend)
              - jito - Jito tip paid on Solana for priority inclusion
          enum:
            - ui
            - jito
          example: ui
        sent_from:
          type: string
          description: >-
            Address of the actual sender of this act. Only set when it differs
            from the transaction-level `sent_from`, e.g. in ERC-4337 bundler
            transactions.
          example: '0x42b9df65b219b3dd36ff330a4dd8f327a6ada990'
        application_metadata:
          $ref: '#/components/schemas/DAppInfo-2'
    Relationship-2:
      type: object
      required:
        - data
      properties:
        data:
          $ref: '#/components/schemas/ContainerShort-2'
    Info:
      type: object
      required:
        - name
        - symbol
        - icon
        - flags
        - implementations
      properties:
        id:
          type: string
          description: Unique identifier of the fungible asset.
          example: 0230395c-2b01-46d8-b2d6-ce8121d51f9e
        name:
          type: string
          description: Displayable name of the fungible fungible.
          example: Bankless BED Index
        symbol:
          type: string
          description: Displayable symbol of the fungible fungible.
          example: BED
        asset_class:
          $ref: '#/components/schemas/AssetClass'
        description:
          type: string
          nullable: true
          description: >-
            Brief description of the fungible. Currently available at
            transaction callback notifications only.
          example: The BED index is meant to track crypto’s top 3 investab.
        icon:
          type: object
          allOf:
            - $ref: '#/components/schemas/Icon'
          nullable: true
        flags:
          $ref: '#/components/schemas/Flags'
        implementations:
          type: array
          description: Implementation details of the fungible on various chains.
          items:
            $ref: '#/components/schemas/Implementation'
        market_data:
          type: object
          allOf:
            - $ref: '#/components/schemas/MarketData'
          nullable: true
          description: >-
            Market data for the fungible, including price, supply, and market
            cap information. Currently available at transaction callback
            notifications only.
    Quantity:
      type: object
      required:
        - int
        - decimals
        - float
        - numeric
      properties:
        int:
          type: string
          description: >-
            Objective onchain raw amount in base units. Use this value for
            building onchain transactions.
          example: '12345678'
        decimals:
          type: integer
          description: >-
            Decimal number precision of the quantity - digits after the floating
            point.
          example: 5
        float:
          type: number
          format: float
          description: >-
            Ready-to-display value = int / 10^decimals. For Token-2022
            ScaledUiAmount assets (a small subset of Solana tokens), the display
            value is int × multiplier / 10^decimals.
          example: 123.45678
        numeric:
          type: string
          description: >-
            Ready-to-display value = int / 10^decimals. For Token-2022
            ScaledUiAmount assets (a small subset of Solana tokens), the display
            value is int × multiplier / 10^decimals.
          example: '123.45678'
    EncryptedQuantity:
      type: object
      additionalProperties: false
      required:
        - handle
      description: >
        Opaque encrypted quantity, present only for clients enabled to receive
        encrypted values.

        Its presence means the quantity is unknown, not a measured zero balance.

        Where a quantity field is required, its numeric components remain zero
        compatibility placeholders and must not be used to infer a balance or
        value.

        The corresponding position or transfer value is null; public asset unit
        prices remain available.
      properties:
        handle:
          type: string
          pattern: ^0x[0-9a-f]{64}$
          description: >-
            Opaque 32-byte ciphertext handle encoded as lowercase hexadecimal
            with a 0x prefix.
    Info-2:
      type: object
      required:
        - contract_address
        - token_id
        - name
        - interface
        - flags
      properties:
        contract_address:
          type: string
          description: Address of the contract of the NFT.
          example: '0x74ee68a33f6c9f113e22b3b77418b75f85d07d22'
        token_id:
          type: string
          description: Unique identifier of the NFT inside the contract.
          example: '10'
        name:
          type: string
          description: Name of the NFT.
          example: '#10 De·genesis'
        interface:
          $ref: '#/components/schemas/InterfaceEnum'
        content:
          $ref: '#/components/schemas/Content'
        flags:
          $ref: '#/components/schemas/Flags-3'
    CollectionInfo:
      type: object
      required:
        - id
        - name
        - icon_url
      properties:
        id:
          type: string
          description: Collection id.
        name:
          type: string
          description: Collection name.
          example: '0x60a26d69263ef43e9a68964ba141263f19d71d51'
        icon_url:
          type: string
          description: Identifier of the act to which the transfer belongs.
          example: '1'
    Icon:
      type: object
      description: Icon related to object.
      properties:
        url:
          type: string
          nullable: true
          format: url
          description: URL of the icon.
          example: >-
            https://token-icons.s3.amazonaws.com/0x0391d2021f89dc339f60fff84546ea23e337750f.png
    ExecutionMethod:
      type: object
      properties:
        id:
          type: string
          description: >-
            Execution method id. First 4 bytes of keccak256 of method signature
            in hex format.
          example: '0x095ea7b3'
        name:
          type: string
          description: Human readable name of the method.
          example: Approve
    ActType:
      type: string
      description: Type of act in the transaction.
      example: trade
      enum:
        - send
        - receive
        - trade
        - deposit
        - withdraw
        - approve
        - execute
        - deploy
        - fee
        - mint
        - burn
        - claim
        - delegate
        - revoke_delegation
        - bid
    ContainerShort-2:
      type: object
      required:
        - type
        - id
      properties:
        type:
          type: string
          description: Decentralized application resource type.
          example: dapps
        id:
          type: string
          description: Decentralized application ID
          example: aave-v3
    AssetClass:
      type: string
      description: >-
        Asset classification for the fungible: tokenized real-world assets and
        stablecoins. A paid add-on, enabled per organization, returned on `GET
        /v1/fungibles/`, `GET /v1/fungibles/{fungible_id}`, `GET
        /v1/fungibles/by-implementation`, and on the `fungible_info` of `GET
        /v1/wallets/{address}/positions/` and `GET
        /v1/wallet-sets/{wallet_set_id}/positions/`, only for organizations that
        have it. The `fungible_info` of a transaction (transfers, fees,
        approvals, refunds) never carries it. Omitted when the fungible is
        unclassified or its classification has been cleared. Absence does not
        mean the fungible is not an RWA. The value `unknown` is different from
        absence: it is a positive classification: the fungible is a likely RWA,
        with the specific class still pending.
      enum:
        - commodity
        - tokenized_stock
        - tokenized_treasury
        - stablecoin
        - other_financial
        - other_non_financial
        - unknown
      x-enum-descriptions:
        commodity: Tokenized commodities (e.g. gold).
        tokenized_stock: Tokenized equities, including tokenized ETFs.
        tokenized_treasury: Tokenized treasury and government-debt products.
        stablecoin: Fiat-pegged stablecoins.
        other_financial: >-
          Financial instruments outside the classes above (e.g. funds, bonds,
          private credit).
        other_non_financial: >-
          Non-financial real-world assets (e.g. tokenized real estate, carbon
          credits, collectibles).
        unknown: Identified as a likely RWA, specific class still pending.
    Flags:
      type: object
      required:
        - verified
      properties:
        verified:
          type: boolean
          description: Whether this fungible verified or not
          example: true
    Implementation:
      type: object
      required:
        - chain_id
        - decimals
      properties:
        chain_id:
          type: string
          description: Unique id of the chain.
          example: ethereum
        address:
          type: string
          nullable: true
          description: >-
            Implementation address on the chain. `null` for the chain's native
            asset (for example ETH on Ethereum, HYPE on HyperEVM), which has no
            contract address.
          example: '0x2af1df3ab0ab157e1e2ad8f88a7d04fbea0c7dc6'
        decimals:
          type: integer
          description: Number of decimals points of the implementation.
          example: 18
    MarketData:
      type: object
      required:
        - price
      properties:
        total_supply:
          type: number
          format: double
          description: Total market supply of fungible
          example: 29905.762448515918
        circulating_supply:
          type: number
          format: double
          description: Circulating value of fungible
          example: 29905.762448515918
        fully_diluted_valuation:
          type: number
          format: double
          description: Total market capitalization of fungible in selected currency
          example: 3196313.736038149
        market_cap:
          type: number
          format: double
          description: Circulating market capitalization of fungible in selected currency
          example: 3196313.736038149
        price:
          type: number
          nullable: true
          format: double
          description: Latest fungible price
          example: 106.87952669793131
        changes:
          $ref: '#/components/schemas/MarketDataChanges'
        trading_volumes:
          $ref: '#/components/schemas/TradingVolumes'
    InterfaceEnum:
      type: string
      description: The standard that the NFT contract follows, e.g. ERC-721.
      example: erc1155
      enum:
        - erc721
        - erc1155
    Content:
      type: object
      properties:
        preview:
          allOf:
            - description: The URL of the preview image
            - $ref: '#/components/schemas/ContentLink'
        detail:
          allOf:
            - description: The URL of the full-size image
            - $ref: '#/components/schemas/ContentLink'
        audio:
          allOf:
            - description: The URL of the audio file
            - $ref: '#/components/schemas/ContentLink'
        video:
          allOf:
            - description: The URL of the video file
            - $ref: '#/components/schemas/ContentLink'
    Flags-3:
      type: object
      properties:
        is_spam:
          type: boolean
          description: Indicates whether the NFT spam or not.
    MarketDataChanges:
      type: object
      properties:
        percent_1d:
          type: number
          nullable: true
          format: double
          description: Price relative change in percent for 1 day
          example: -0.7379066649086338
        percent_30d:
          type: number
          nullable: true
          format: double
          description: Price relative change in percent for 30 days
          example: -2.499465618806962
        percent_90d:
          type: number
          nullable: true
          format: double
          description: Price relative change in percent for 90 days
          example: 11.316340269371775
        percent_365d:
          type: number
          nullable: true
          format: double
          description: Price relative change in percent for 1 year
          example: null
    TradingVolumes:
      type: object
      properties:
        volume_1d:
          type: number
          format: double
          description: Trading volume over the last 24 hours in the selected currency.
          example: 40096375.69294812
    ContentLink:
      type: object
      required:
        - url
      properties:
        url:
          type: string
          format: url
          description: URL to the content
          example: >-
            https://token-icons.s3.amazonaws.com/0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b.png
        content_type:
          type: string
          description: MIME content type
          example: image/png
  responses:
    SubscriptionResponse:
      description: Response for requested wallet's transactions subscription
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Response-22'
    MalformedParameters:
      description: Parameters are malformed
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                type: array
                items:
                  type: object
                  properties:
                    title:
                      type: string
                      description: Error short title
                      example: Parameter is malformed
                    detail:
                      type: string
                      description: Long description of the error
                      example: Some validation errors will be described here
    UnauthenticatedError:
      description: Unathenticated request
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                type: array
                items:
                  type: object
                  properties:
                    title:
                      type: string
                      description: Error short title
                      example: Unauthorized Error
                    detail:
                      type: string
                      description: Long description of the error
                      example: >-
                        The API key is invalid, please, make sure that you are
                        using a valid key
    TooManyRequests:
      description: Too many requests error
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                type: array
                items:
                  type: object
                  properties:
                    title:
                      type: string
                      description: Error short title
                      example: Too many requests
                    detail:
                      type: string
                      description: Long description of the error
                      example: Your request had been throttled
  requestBodies:
    NotificationResponse:
      description: Response for requested list of transactions
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Response-23'
  securitySchemes:
    APIKeyBasicAuth:
      type: http
      scheme: basic
      description: >-
        To test endpoints here, paste your API key from the
        [Dashboard](https://dashboard.zerion.io/) into the username field and
        leave the password empty.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.