Skip to content
Merged
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ get https://\{network}.g.alchemy.com/nft/v3/\{apiKey}/getSpamContracts
getSpamContracts - Returns a list of all spam contracts marked by Alchemy. This endpoint is supported on Ethereum and many L2s, including Polygon, Arbitrum, Optimism, Base, World Chain and more. See the full list of supported networks [here](https://dashboard.alchemy.com/chains).

<Info>
Please note that this API endpoint is only available to pay as you go and enterprise tier customers. Upgrade your account [here](https://dashboard.alchemyapi.io/settings/billing/).
Please note that this API endpoint is only available to pay as you go and enterprise tier customers. Upgrade your account [here](https://dashboard.alchemy.com/settings/billing).
</Info>

<Info>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ With this bool set to true, you will no longer receive webhooks for every new bl

## How do I use GraphQL to construct a query?

If you're new to GraphQL, the in-browser editor on the [Alchemy Notify Dashboard](https://dashboard.alchemyapi.io/notify)has autocomplete enabled and will magically suggest fields as you start typing. If you get lost, you can always search for available queries in the docs tab on the pop-up to the right of the webpage!
If you're new to GraphQL, the in-browser editor on the [Alchemy Webhooks Dashboard](https://dashboard.alchemy.com/apps/latest/webhooks) has autocomplete enabled and will magically suggest fields as you start typing. If you get lost, you can always search for available queries in the docs tab on the pop-up to the right of the webpage!

And, if you need a little inspiration, feel free to use the Alchemy Notify template carousel. Depending on your blockchain/network selection, you'll have a variety of different options to quickly build on top of!

Expand Down Expand Up @@ -105,7 +105,7 @@ To ensure you're using the correct data, track both the block number and the *se

## What does the capacity limit error mean?

The capacity limit error means you've exceeded your total monthly compute units. To upgrade your capacity limits go to your [Alchemy dashboard](https://dashboard.alchemyapi.io/settings/billing). Below is an example capacity limit error.
The capacity limit error means you've exceeded your total monthly compute units. To upgrade your capacity limits go to your [Alchemy dashboard](https://dashboard.alchemy.com/settings/billing). Below is an example capacity limit error.

<CodeGroup>
```shell Capacity limit error
Expand Down
18 changes: 10 additions & 8 deletions fern/api-reference/data/webhooks/notify-api-quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,16 @@ Setting up a webhook is as simple as adding a new URL to your application.

## Set-up webhooks in your dashboard

1. Navigate to the Webhooks tab in your [Alchemy Dashboard](https://dashboard.alchemyapi.io/notify).
1. Navigate to the [Webhooks page](https://dashboard.alchemy.com/apps/latest/webhooks) in your Alchemy Dashboard.

<Tip>Make sure you have the correct app selected in the top left of the dashboard.</Tip>

2. Determine which [type of webhook](/reference/notify-api-quickstart#types-of-webhooks) you want to activate.
3. Click the **Create Webhook** button.
4. Select the app to add the webhook notifications.
5. Add in your unique webhook URL. This is the link to receive requests (**Please note that localhost domains are not allowed as webhook URLs**). The webhook payload might not always be compatible for 3rd party integrations.
6. Test your webhook by clicking the **Test Webhook** button.
7. Click **Create Webhook** and your webhook appears in the list.
8. Check your endpoint to see responses.
4. Add in your unique webhook URL. This is the link to receive requests (**Please note that localhost domains are not allowed as webhook URLs**). The webhook payload might not always be compatible for 3rd party integrations.
5. Test your webhook by clicking the **Test Webhook** button.
6. Click **Create Webhook** and your webhook appears in the list.
7. Check your endpoint to see responses.

## Set Up Webhooks Programmatically

Expand Down Expand Up @@ -378,7 +380,7 @@ After setting up the webhooks in your Alchemy dashboard (or programmatically) us

Once you have a URL to test your webhook (in this case `https://461a-199-116-73-171.ngrok.io` pictured above), follow the steps below:

1. Navigate to your [Webhooks dashboard](https://dashboard.alchemy.com/webhooks).
1. Navigate to your [Webhooks dashboard](https://dashboard.alchemy.com/apps/latest/webhooks).
2. Click **Create Webhook** on the webhook you want to test.
3. Paste **your unique URL** and hit the **Test Webhook** button.
4. You'll see the webhooks in `localhost:4040/inspect/http`. { }
Expand All @@ -389,7 +391,7 @@ To make your webhooks secure, you can verify that they originated from Alchemy b

## Find your signing key

Navigate to the [Webhooks page](https://dashboard.alchemyapi.io/notify) in your dashboard. Next, click on the three dots of the webhook you want to get the signature for and copy the Signing Key.
Navigate to the [Webhooks page](https://dashboard.alchemy.com/apps/latest/webhooks) in your dashboard. Next, click on the three dots of the webhook you want to get the signature for and copy the Signing Key.

![](4138e14-Screen_Shot_2021-12-13_at_10.41.56_AM.png "Screen Shot 2021-12-13 at 10.41.56 AM.png")

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,19 +156,17 @@ Below you can find descriptions for each field of the response.

# How to Set-Up Address Activity Webhook

1. In your [Alchemy Dashboard](https://dashboard.alchemyapi.io/notify) click the **Notify** tab.
2. Find Address Activity and click the **CREATE WEBHOOK** button on the right side of the window.
1. Navigate to the [Webhooks page](https://dashboard.alchemy.com/apps/latest/webhooks) in your Alchemy Dashboard.

![](https://alchemyapi-res.cloudinary.com/image/upload/v1764193034/docs/api-reference/data/webhooks/webhook-types/6df528a-create-webhook-button.png "create-webhook-button.png")
<Tip>Make sure you have the correct app selected in the top left of the dashboard.</Tip>

3. Select your **CHAIN** in the dropdown. Then choose your **NETWORK**.
4. Paste your unique webhook URL into the WEBHOOK URL field.
5. Enter your **ETHEREUM ADDRESSES**.

![](https://alchemyapi-res.cloudinary.com/image/upload/v1764193035/docs/api-reference/data/webhooks/webhook-types/bac898f-address-activity-webhook.png "address-activity-webhook.png")

7. Test your webhook by clicking the **TEST WEBHOOK** button.
8. After the test is successful, click **CREATE WEBHOOK**. Your webhook appears in the list.
2. Click the **Create Webhook** button.
3. Choose **Address Activity** as the webhook type.
4. Select your **CHAIN** in the dropdown. Then choose your **NETWORK**.
5. Paste your unique webhook URL into the **WEBHOOK URL** field.
6. Enter your **ETHEREUM ADDRESSES**.
7. Test your webhook by clicking the **Test Webhook** button.
8. After the test is successful, click **Create Webhook**. Your webhook appears in the list.
9. Check your endpoint to see the responses.

# Useful Endpoints
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,13 +117,15 @@ Below you can find descriptions for select response fields. Note that this is no

# How to Set Up Custom Webhooks

1. Navigate to the Notify tab in your [Alchemy Dashboard](https://dashboard.alchemyapi.io/notify) and find the Custom GraphQL webhook interface
2. Click the **CREATE WEBHOOK** button.
3. Select your desired chain and network. **NOTE:** Each Custom Webhook can only be mapped to a single network/chain; if you want to have the same query applied to numerous chains, make sure to duplicate the creation process!
4. Add your unique webhook URL. This is the link to receive requests. The webhook payload might not always be compatible for 3rd party integrations. For simple visual testing, we recommend using hosted sites like [requestbin](https://requestbin.com/) or [webhook.site](https://webhook.site/) OR spinning up a dedicated server for webhook notifications for production applications.
5. Define a GraphQL query using the dashboard playground.
1. Navigate to the [Webhooks page](https://dashboard.alchemy.com/apps/latest/webhooks) in your Alchemy Dashboard.

![](https://alchemyapi-res.cloudinary.com/image/upload/v1764193033/docs/api-reference/data/webhooks/webhook-types/48bc39f-Screenshot_2023-03-08_at_6.24.48_AM.png "Screenshot 2023-03-08 at 6.24.48 AM.png")
<Tip>Make sure you have the correct app selected in the top left of the dashboard.</Tip>

2. Click the **Create Webhook** button.
3. Choose **Custom Webhook** as the webhook type.
4. Select your desired chain and network. **NOTE:** Each Custom Webhook can only be mapped to a single network/chain; if you want to have the same query applied to numerous chains, make sure to duplicate the creation process!
5. Add your unique webhook URL. This is the link to receive requests. The webhook payload might not always be compatible for 3rd party integrations. For simple visual testing, we recommend using hosted sites like [requestbin](https://requestbin.com/) or [webhook.site](https://webhook.site/) OR spinning up a dedicated server for webhook notifications for production applications.
6. Define a GraphQL query using the dashboard playground.

If you're new to GraphQL, this editor has autocomplete enabled and will magically suggest fields as you start typing. If you get lost, you can always search for available queries in the docs tab on the right!

Expand All @@ -137,7 +139,7 @@ Learn more: [Event Log Filters](https://www.alchemy.com/docs/reference/custom-we

</Warning>

6. Test and validate your GraphQL query by clicking the **Test Webhook** button. Confirm that your GraphQL query is valid does not contain any syntactical errors. **NOTE:** If you want to test your GraphQL query on a historical block, you can simply define your target block hash within the top-level block filter.
7. Test and validate your GraphQL query by clicking the **Test Webhook** button. Confirm that your GraphQL query is valid and does not contain any syntactical errors. **NOTE:** If you want to test your GraphQL query on a historical block, you can simply define your target block hash within the top-level block filter.

<CodeGroup>
```shell Historical Block Filter
Expand All @@ -149,8 +151,8 @@ Learn more: [Event Log Filters](https://www.alchemy.com/docs/reference/custom-we
```
</CodeGroup>

7. Click **CREATE WEBHOOK** again to submit your GraphQL filter to Alchemy. Alchemy automatically replaces the top-level block hash filter with *latest* so each webhook is fired for the latest canonical block!
8. Check your endpoint to see responses.
8. Click **Create Webhook** to submit your GraphQL filter to Alchemy. Alchemy automatically replaces the top-level block hash filter with *latest* so each webhook is fired for the latest canonical block!
9. Check your endpoint to see responses.

# Useful Endpoints

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,21 +96,19 @@ Below you can find descriptions for each field of the response.

# How to Set-Up NFT Activity Webhook

1. In your \[Alchemy Dashboard] ([https://dashboard.alchemyapi.io/notify](https://dashboard.alchemyapi.io/notify)) click the **Notify** tab.
2. Find NFT Activity and click the **CREATE WEBHOOK** button on the right side of the window.

![](https://alchemyapi-res.cloudinary.com/image/upload/v1764193036/docs/api-reference/data/webhooks/webhook-types/f2c4699-create-webhook-button.png "create-webhook-button.png")

3. Select your **CHAIN** in the dropdown. Then choose your **NETWORK**.
4. Paste your unique webhook URL into the **WEBHOOK URL** field.
5. Add your **NFT ADDRESSES**.
6. Enter your **TOKEN IDS**.

![](https://alchemyapi-res.cloudinary.com/image/upload/v1764193037/docs/api-reference/data/webhooks/webhook-types/519fce1-nft-activity-webhook.png "nft-activity-webhook.png")

7. Test your webhook by clicking the **TEST WEBHOOK** button.
8. After the test is successful, click **CREATE WEBHOOK**. Your webhook appears in the list.
9. Check your endpoint to see the responses.
1. Navigate to the [Webhooks page](https://dashboard.alchemy.com/apps/latest/webhooks) in your Alchemy Dashboard.

<Tip>Make sure you have the correct app selected in the top left of the dashboard.</Tip>

2. Click the **Create Webhook** button.
3. Choose **NFT Activity** as the webhook type.
4. Select your **CHAIN** in the dropdown. Then choose your **NETWORK**.
5. Paste your unique webhook URL into the **WEBHOOK URL** field.
6. Add your **NFT ADDRESSES**.
7. Enter your **TOKEN IDS**.
8. Test your webhook by clicking the **Test Webhook** button.
9. After the test is successful, click **Create Webhook**. Your webhook appears in the list.
10. Check your endpoint to see the responses.

To add/remove addresses from already existing webhooks check out [update webhook addresses](/reference/update-webhook-addresses) endpoint.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,7 @@ After setting up the webhooks in your Alchemy dashboard (or programmatically) us

## Create and test your webhooks

1. Navigate to the [webhooks dashboard](https://dashboard.alchemy.com/webhooks) and click **Create Webhook** OR create one by calling the [createWebhook](/data/webhooks/custom-webhook-api-methods/custom-webhook-api-methods/notify-api-methods/create-webhook) endpoint. When it asks for your Webhook URL, enter your endpoint or follow these steps to create an NGROK endpoint:
1. Navigate to the [webhooks dashboard](https://dashboard.alchemy.com/apps/latest/webhooks) and click **Create Webhook** OR create one by calling the [createWebhook](/data/webhooks/custom-webhook-api-methods/custom-webhook-api-methods/notify-api-methods/create-webhook) endpoint. When it asks for your Webhook URL, enter your endpoint or follow these steps to create an NGROK endpoint:
* Sign-up for a [free Ngrok account](https://dashboard.ngrok.com/signup).
* Install Ngrok using [the Ngrok guide](https://dashboard.ngrok.com/get-started/setup). On macOS run `brew install ngrok`.
* Connect your Ngrok account by running `ngrok authtoken YOUR_AUTH_TOKEN`.
Expand All @@ -362,7 +362,7 @@ After setting up the webhooks in your Alchemy dashboard (or programmatically) us

2. Once you have a URL to test your webhook (in this case `https://461a-199-116-73-171.ngrok.io` pictured above), paste your NGROK endpoint into the Webhook URL field and hit “Test Webhook”, and see the event appear here: http://localhost:4040/inspect/http

3. Navigate to your [webhooks dashboard](https://dashboard.alchemy.com/webhooks).
3. Navigate to your [webhooks dashboard](https://dashboard.alchemy.com/apps/latest/webhooks).

4. Click **Create Webhook** on the webhook you want to test.

Expand All @@ -378,7 +378,7 @@ To make your webhooks secure, you can verify that they originated from Alchemy b

### Find your signing key

To find your signing key, navigate to the [webhooks dashboard](https://dashboard.alchemy.com/webhooks), select your webhook, and copy the singing key from the top right of that webhook's detail page.
To find your signing key, navigate to the [webhooks dashboard](https://dashboard.alchemy.com/apps/latest/webhooks), select your webhook, and copy the singing key from the top right of that webhook's detail page.

### Validate the signature received

Expand Down Expand Up @@ -459,7 +459,7 @@ To verify the signature came from Alchemy, you generate the HMAC SHA256 hash and

## Auth Token

The Auth Token, located at the top of you [webhooks dashboard](https://dashboard.alchemy.com/webhooks), is required to let you manage your webhooks via our webhooks API!
The Auth Token, located at the top of you [webhooks dashboard](https://dashboard.alchemy.com/apps/latest/webhooks), is required to let you manage your webhooks via our webhooks API!

## Webhooks IP addresses

Expand Down
2 changes: 1 addition & 1 deletion fern/api-reference/debug-api/debug-api-quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ subtitle: The Debug API provides deeper insights into transaction processing and
slug: reference/debug-api-quickstart
---

To use the Debug API your Alchemy plan must be set to the pay as you go or enterprise tiers. ([Upgrade your plan](https://dashboard.alchemyapi.io/settings/billing)) for access.
To use the Debug API your Alchemy plan must be set to the pay as you go or enterprise tiers. ([Upgrade your plan](https://dashboard.alchemy.com/settings/billing)) for access.

<Tip title="Don’t have an API key?" icon="star">
Sign up or upgrade your plan for access. [Get started for free](https://dashboard.alchemy.com/signup)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,5 @@ A wallet address is a string of letters and numbers from which cryptocurrencies

A super easy way to distinguish between a contract address and a wallet address is by calling the `[eth_getCode](/docs/reference/eth-getcode)` method, which will return a contract code if it's a contract and nothing if it's a wallet. Here's an example of both using our composer tool:

* [0x Contract Address](https://composer.alchemyapi.io/?composer_state=%7B%22network%22%3A0%2C%22methodName%22%3A%22eth_getCode%22%2C%22paramValues%22%3A%5B%220xe41d2489571d322189246dafa5ebde1f4699f498%22%2C%22latest%22%5D%7D)
* [Vitalik's Wallet Address](https://composer.alchemyapi.io/?composer_state=%7B%22network%22%3A0%2C%22methodName%22%3A%22eth_getCode%22%2C%22paramValues%22%3A%5B%220xAb5801a7D398351b8bE11C439e05C5B3259aeC9B%22%2C%22latest%22%5D%7D)
* [0x Contract Address](https://composer.alchemy.com/?composer_state=%7B%22network%22%3A0%2C%22methodName%22%3A%22eth_getCode%22%2C%22paramValues%22%3A%5B%220xe41d2489571d322189246dafa5ebde1f4699f498%22%2C%22latest%22%5D%7D)
* [Vitalik's Wallet Address](https://composer.alchemy.com/?composer_state=%7B%22network%22%3A0%2C%22methodName%22%3A%22eth_getCode%22%2C%22paramValues%22%3A%5B%220xAb5801a7D398351b8bE11C439e05C5B3259aeC9B%22%2C%22latest%22%5D%7D)
Original file line number Diff line number Diff line change
Expand Up @@ -62,16 +62,16 @@ There are three steps to get the timestamp for a transaction:
2. Get the block info by calling \[ref:eth-getblockbynumber)
3. Grab the `timestamp` field in the returned block object

Here is an [example request](https://composer.alchemyapi.io/?composer_state=%7B%22network%22%3A0%2C%22methodName%22%3A%22eth_getBlockByNumber%22%2C%22paramValues%22%3A%5B%22latest%22%2Cfalse%5D%7D).
Here is an [example request](https://composer.alchemy.com/?composer_state=%7B%22network%22%3A0%2C%22methodName%22%3A%22eth_getBlockByNumber%22%2C%22paramValues%22%3A%5B%22latest%22%2Cfalse%5D%7D).

It's important to note that block numbers themselves are Ethereum's measure of time, however standard timestamps are available by looking at the block data.

## How do I distinguish between a contract address and a wallet address?

A super easy way to distinguish between a contract address and a wallet address is by calling [eth\_getCode](/reference/eth-getcode), which will return contract code if it's a contract and nothing if it's a wallet. Here's an example of both using our composer tool:

* [**0x Contract Address**](https://composer.alchemyapi.io/?composer_state=%7B%22network%22%3A0%2C%22methodName%22%3A%22eth_getCode%22%2C%22paramValues%22%3A%5B%220xe41d2489571d322189246dafa5ebde1f4699f498%22%2C%22latest%22%5D%7D)
* [**Vitalik's Wallet Address**](https://composer.alchemyapi.io/?composer_state=%7B%22network%22%3A0%2C%22methodName%22%3A%22eth_getCode%22%2C%22paramValues%22%3A%5B%220xAb5801a7D398351b8bE11C439e05C5B3259aeC9B%22%2C%22latest%22%5D%7D)
* [**0x Contract Address**](https://composer.alchemy.com/?composer_state=%7B%22network%22%3A0%2C%22methodName%22%3A%22eth_getCode%22%2C%22paramValues%22%3A%5B%220xe41d2489571d322189246dafa5ebde1f4699f498%22%2C%22latest%22%5D%7D)
* [**Vitalik's Wallet Address**](https://composer.alchemy.com/?composer_state=%7B%22network%22%3A0%2C%22methodName%22%3A%22eth_getCode%22%2C%22paramValues%22%3A%5B%220xAb5801a7D398351b8bE11C439e05C5B3259aeC9B%22%2C%22latest%22%5D%7D)

## What is the difference between `DATA` and `QUANTITY`?

Expand Down
Loading
Loading