Catalog npm
Back to packageRELEASE DETAILS

5.0.0

npm

@0xsequence/hooks

React hooks for Sequence Web SDK

Published19 Mar 2025
Direct dependencies16
Transitive dependenciesNot calculated

README

Current package documentation

@0xsequence/hooks

React hooks to interface with Sequence services.

Wrap your application with the SequenceHooksProvider to provide a config to the hooks.

<SequenceHooksProvider
  config={{
    projectAccessKey: 'your-project-access-key',
    env: {
      indexerGatewayUrl: 'your-indexer-gateway-url',
      metadataUrl: 'your-metadata-url',
      apiUrl: 'your-api-url',
      indexerUrl: 'your-indexer-url',
      imageProxyUrl: 'your-image-proxy-url',
      builderUrl: 'your-builder-api-url'
    }
  }}
>
  <App />
</SequenceHooksProvider>

Hooks:

Sequence hooks are grouped into 5 categories, based on the sequence service they interact with:

API

  • useGetCoinPrices
  • useGetCollectiblePrices
  • useGetExchangeRate

Indexer

  • useGetTransactionHistory
  • useGetTransactionHistorySummary

Indexer Gateway

  • useGetNativeTokenBalance
  • useGetTokenBalancesSummary
  • useGetTokenBalancesDetails
  • useGetTokenBalancesByContract
  • useGetSingleTokenBalance

Metadata

  • useGetContractInfo
  • useGetMultipleContractInfo
  • useGetTokenMetadata

Combination

  • useGetSwapQuote

Usage

useGetCoinPrices

import { useGetCoinPrices } from '@0xsequence/hooks'

const { data, isLoading, error } = useGetCoinPrices(
  [
    {
      chainId: 1,
      contractAddress: '0x0123456789012345678901234567890123456789'
    }
  ],
  {
    // options param is optional and default values are below
    disabled: false
  }
)

useGetCollectiblePrices

import { useGetCollectiblePrices } from '@0xsequence/hooks'

const { data, isLoading, error } = useGetCollectiblePrices(
  [
    {
      chainId: 1,
      contractAddress: '0x0123456789012345678901234567890123456789',
      tokenId: '1'
    }
  ],
  {
    // options param is optional and default values are below
    disabled: false
  }
)

useGetExchangeRate

import { useGetExchangeRate } from '@0xsequence/hooks'

const { data, isLoading, error } = useGetExchangeRate('CAD', {
  // options param is optional and default values are below
  disabled: false
})

useGetTransactionHistory

import { useGetTransactionHistory } from '@0xsequence/hooks'

const { data, isLoading, fetchNextPage, hasNextPage, isFetchingNextPage, error } = useGetTransactionHistory({
  accountAddresses: ['0x0123456789012345678901234567890123456789'],
  contractAddresses: ['0x0123456789012345678901234567890123456789'], // optional
  tokenId: '1', // optional
  chainId: 1, // optional
  page: { // optional
    pageSize: 10,
  },
  {
    // options param is optional and default values are below
    disabled: false,
  }
})

useGetTransactionHistorySummary

import { useGetTransactionHistorySummary } from '@0xsequence/hooks'

const { data, isLoading, error } = useGetTransactionHistorySummary(
  {
    accountAddresses: ['0x0123456789012345678901234567890123456789'],
    chainIds: [1]
  },
  {
    // options param is optional and default values are below
    disabled: false
  }
)

useGetNativeTokenBalance

import { useGetNativeTokenBalance } from '@0xsequence/hooks'

const { data, isLoading, error } = useGetNativeTokenBalance(
  {
    accountAddress: '0x0123456789012345678901234567890123456789',
    chainIds: [1], // either use chainIds or networks name
    networks: ['mainnet']
  },
  {
    // options param is optional and default values are below
    disabled: false
  }
)

useGetTokenBalancesSummary

import { ContractVerificationStatus } from '@0xsequence/indexer'
import { useGetTokenBalancesSummary } from '@0xsequence/hooks'

const { data, isLoading, fetchNextPage, hasNextPage, isFetchingNextPage, error } = useGetTokenBalancesSummary(
  {
    chainIds: [1], // either use chainIds or networks name
    networks: ['mainnet'],
    filter: {
      accountAddresses: ['0x0123456789012345678901234567890123456789'],
      contractWhitelist: ['0x0123456789012345678901234567890123456789'],
      contractBlacklist: ['0x0000000000000000000000000000000000000000'],
      contractStatus: ContractVerificationStatus.VERIFIED,
      omitNativeBalances: false
    },
    omitMetadata: false, // optional
    page: {
      // optional
      pageSize: 10
    }
  },
  {
    // options param is optional and default values are below
    disabled: false
  }
)

useGetTokenBalancesDetails

import { ContractVerificationStatus } from '@0xsequence/indexer'
import { useGetTokenBalancesDetails } from '@0xsequence/hooks'

const { data, isLoading, fetchNextPage, hasNextPage, isFetchingNextPage, error } = useGetTokenBalancesDetails(
  {
    chainIds: [1], // either use chainIds or networks name
    networks: ['mainnet'],
    filter: {
      accountAddresses: ['0x0123456789012345678901234567890123456789'],
      contractWhitelist: ['0x0123456789012345678901234567890123456789'],
      contractBlacklist: ['0x0000000000000000000000000000000000000000'],
      contractStatus: ContractVerificationStatus.VERIFIED,
      omitNativeBalances: false
    },
    omitMetadata: false, // optional
    page: {
      // optional
      pageSize: 10
    }
  },
  {
    // options param is optional and default values are below
    disabled: false
  }
)

useGetTokenBalancesByContract

import { ContractVerificationStatus } from '@0xsequence/indexer'
import { useGetTokenBalancesByContract } from '@0xsequence/hooks'

const { data, isLoading, fetchNextPage, hasNextPage, isFetchingNextPage, error } = useGetTokenBalancesByContract(
  {
    chainIds: [1], // either use chainIds or networks name
    networks: ['mainnet'],
    filter: {
      accountAddresses: ['0x0123456789012345678901234567890123456789'],
      contractWhitelist: ['0x0123456789012345678901234567890123456789'],
      contractBlacklist: ['0x0000000000000000000000000000000000000000'],
      contractStatus: ContractVerificationStatus.VERIFIED,
      omitNativeBalances: false
    },
    omitMetadata: false, // optional
    page: {
      // optional
      pageSize: 10
    }
  },
  {
    // options param is optional and default values are below
    disabled: false
  }
)

useGetSingleTokenBalance

import { useGetSingleTokenBalance } from '@0xsequence/hooks'

const { data, isLoading, error } = useGetSingleTokenBalance({
  chainId: 1,
  accountAddress: '0x9876543210987654321098765432109876543210',
  contractAddress: '0x0123456789012345678901234567890123456789'
})

useGetContractInfo

import { useGetContractInfo } from '@0xsequence/hooks'

const { data, isLoading, error } = useGetContractInfo(
  {
    chainId: 1,
    contractAddress: '0x0123456789012345678901234567890123456789'
  },
  {
    // options param is optional and default values are below
    disabled: false
  }
)

useGetMultipleContractInfo

import { useGetMultipleContractInfo } from '@0xsequence/hooks'

const { data, isLoading, error } = useGetMultipleContractInfo(
  [
    { chainId: 1, contractAddress: '0x0123456789012345678901234567890123456789' },
    { chainId: 1, contractAddress: '0x0123456789012345678901234567890123456789' }
  ],
  {
    // options param is optional and default values are below
    disabled: false
  }
)

useGetTokenMetadata

import { useGetTokenMetadata } from '@0xsequence/hooks'

const { data, isLoading, error } = useGetTokenMetadata(
  {
    chainId: '1',
    contractAddress: '0x0123456789012345678901234567890123456789',
    tokenIds: ['1']
  },
  {
    // options param is optional and default values are below
    disabled: false
  }
)

useGetSwapQuote

import { useGetSwapQuote } from '@0xsequence/hooks'

const { data, isLoading, error } = useGetSwapQuote({
  userAddress: '0x9876543210987654321098765432109876543210',
  buyCurrencyAddress: '0x0123456789012345678901234567890123456789',
  sellCurrencyAddress: '0x0123456789012345678901234567890123456789',
  buyAmount: '1',
  chainId: 1,
  includeApprove: true,
  slippagePercentage: 5 // optional
})

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 23

Native requirements
16 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
msw
Environment
{
  "local_name": "msw",
  "alias": false,
  "peer_metadata": null
}
^2.6.6development
vite
Environment
{
  "local_name": "vite",
  "alias": false,
  "peer_metadata": null
}
^6.0.2development
jsdom
Environment
{
  "local_name": "jsdom",
  "alias": false,
  "peer_metadata": null
}
^25.0.1development
react
Environment
{
  "local_name": "react",
  "alias": false,
  "peer_metadata": null
}
^19.0.0development
vitest
Environment
{
  "local_name": "vitest",
  "alias": false,
  "peer_metadata": null
}
^2.1.8development
react-dom
Environment
{
  "local_name": "react-dom",
  "alias": false,
  "peer_metadata": null
}
^19.0.0development
typescript
Environment
{
  "local_name": "typescript",
  "alias": false,
  "peer_metadata": null
}
^5.8.2development
@0xsequence/api
Environment
{
  "local_name": "@0xsequence/api",
  "alias": false,
  "peer_metadata": null
}
^2.2.13development
@0xsequence/indexer
Environment
{
  "local_name": "@0xsequence/indexer",
  "alias": false,
  "peer_metadata": null
}
^2.2.13development
@0xsequence/network
Environment
{
  "local_name": "@0xsequence/network",
  "alias": false,
  "peer_metadata": null
}
^2.2.13development
@0xsequence/metadata
Environment
{
  "local_name": "@0xsequence/metadata",
  "alias": false,
  "peer_metadata": null
}
^2.2.13development
@vitejs/plugin-react
Environment
{
  "local_name": "@vitejs/plugin-react",
  "alias": false,
  "peer_metadata": null
}
^4.3.4development
@tanstack/react-query
Environment
{
  "local_name": "@tanstack/react-query",
  "alias": false,
  "peer_metadata": null
}
^5.62.0development
@testing-library/react
Environment
{
  "local_name": "@testing-library/react",
  "alias": false,
  "peer_metadata": null
}
^16.0.1development
@testing-library/jest-dom
Environment
{
  "local_name": "@testing-library/jest-dom",
  "alias": false,
  "peer_metadata": null
}
^6.6.3development
@testing-library/user-event
Environment
{
  "local_name": "@testing-library/user-event",
  "alias": false,
  "peer_metadata": null
}
^14.5.2development
react
Environment
{
  "local_name": "react",
  "alias": false,
  "peer_metadata": null
}
>= 17peer
react-dom
Environment
{
  "local_name": "react-dom",
  "alias": false,
  "peer_metadata": null
}
>= 17peer
@0xsequence/api
Environment
{
  "local_name": "@0xsequence/api",
  "alias": false,
  "peer_metadata": null
}
>=2.2.13peer
@0xsequence/indexer
Environment
{
  "local_name": "@0xsequence/indexer",
  "alias": false,
  "peer_metadata": null
}
>=2.2.13peer
@0xsequence/network
Environment
{
  "local_name": "@0xsequence/network",
  "alias": false,
  "peer_metadata": null
}
>=2.2.13peer
@0xsequence/metadata
Environment
{
  "local_name": "@0xsequence/metadata",
  "alias": false,
  "peer_metadata": null
}
>=2.2.13peer
@tanstack/react-query
Environment
{
  "local_name": "@tanstack/react-query",
  "alias": false,
  "peer_metadata": null
}
>= 5peer

Distribution files

1 collected
Distribution 1

Source distribution

Source file
Checksums from source
{
  "shasum": "318c44239bdc36c12e9066928021e51123d3c347",
  "tarball": "https://registry.npmjs.org/@0xsequence/hooks/-/hooks-5.0.0.tgz",
  "fileCount": 404,
  "integrity": "sha512-x65NflGyM3+fmb4wJYwboG70hY+2kR5cD+d4qaHpOz88cAEMCsfoVR9oeD/3ruXM3j+ABmNaA6b0O+6NuHBn8A==",
  "signatures": [
    {
      "sig": "MEUCIH9qOORHRRwVgCz5n6uNYTHEv48cDEhBLj7x0W9KynyBAiEAwHgTo1IJ/kCRiQmLuD0E0tuESs0htUz8p/1ssJBd058=",
      "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"
    }
  ],
  "unpackedSize": 383871
}

Repository

PENDING
0xsequence/web-sdk

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 10:24 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:7fee576e06b08ca350dc67efa0e4c0df310ef3cce6880ca2c0a27f3c1f0551ec

Other collected versions

5.4.1213 Jul6.0.913 Jul6.0.830 Jun6.0.724 Jun6.0.614 May5.4.119 AprView all collected versions →