Skip to content
This repository was archived by the owner on May 20, 2025. It is now read-only.

Commit f278533

Browse files
authored
Merge branch 'main' into al/docs-on-call-token-metadata
2 parents 2b84a11 + 7f1c14b commit f278533

File tree

7 files changed

+218
-6
lines changed

7 files changed

+218
-6
lines changed

.github/workflows/sync-apis.yaml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,12 @@ jobs:
154154
working-directory: ./account-abstraction
155155
run: rdme openapi pm_getPaymasterStubData.yaml --key=$README_API_KEY --id=66c9270918cfbd0012803bb9
156156

157+
- name: Update AA API - alchemy_requestFeePayer
158+
env:
159+
README_API_KEY: ${{ secrets.README_API_KEY }}
160+
working-directory: ./account-abstraction
161+
run: rdme openapi alchemy_requestFeePayer.yaml --key=$README_API_KEY --id=67dc9614acaaf200248f71ea
162+
157163
# Update Embedded Accounts API
158164
- name: Update Embedded Accounts API - accounts
159165
env:
@@ -2773,4 +2779,4 @@ jobs:
27732779
env:
27742780
README_API_KEY: ${{ secrets.README_API_KEY }}
27752781
working-directory: ./zkSync
2776-
run: rdme openapi zks_L1ChainId.yaml --key=$README_API_KEY --id=65ef6dba72dd030072ccb501
2782+
run: rdme openapi zks_L1ChainId.yaml --key=$README_API_KEY --id=65ef6dba72dd030072ccb501
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
openapi: 3.1.0
2+
info:
3+
title: alchemy_requestFeePayer
4+
version: '1.0'
5+
servers:
6+
- url: 'https://solana-devnet.g.alchemy.com/v2/'
7+
variables:
8+
network:
9+
enum:
10+
- solana-mainnet
11+
- solana-devnet
12+
default: solana-mainnet
13+
x-sandbox:
14+
category:
15+
type:
16+
$ref: '../components/sandbox.yaml#/Category'
17+
value: gas-manager
18+
paths:
19+
/{apiKey}:
20+
$ref: '#/components/pathItems/path'
21+
components:
22+
pathItems:
23+
path:
24+
post:
25+
summary: alchemy_requestFeePayer
26+
description: Request gas sponsorship for a `transaction` on Solana. Returns the `serializedTransaction`, including the `feePayer` signature.
27+
tags: []
28+
parameters:
29+
- name: apiKey
30+
in: path
31+
schema:
32+
type: string
33+
default: docs-demo
34+
description: |
35+
<style>
36+
.custom-style {
37+
color: #048FF4;
38+
}
39+
</style>
40+
For higher throughput, <span class="custom-style"><a href="https://alchemy.com/?a=docs-demo" target="_blank">create your own API key</a></span>
41+
required: true
42+
requestBody:
43+
required: true
44+
content:
45+
application/json:
46+
schema:
47+
$ref: ../evm_body.yaml#/alchemy_requestFeePayer
48+
x-readme:
49+
samples-languages:
50+
- curl
51+
- javascript
52+
- python
53+
responses:
54+
'200':
55+
description: Successful response
56+
content:
57+
application/json:
58+
schema:
59+
$ref: ../evm_responses.yaml#/alchemy_requestFeePayer
60+
operationId: alchemy-requestFeePayer
61+
x-sandbox:
62+
category:
63+
type:
64+
$ref: '../components/sandbox.yaml#/Category'
65+
value: gas-manager

components/schemas.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ EntryPoint:
310310
$ref: '#/Hex'
311311
title: Entrypoint Address
312312
description: The entrypoint address the request should be sent through. This MUST be one of the entry points returned by the `supportedEntryPoints` RPC call.
313-
default: '0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789'
313+
default: '0x0000000071727De22E5E9d8BAf0edAc6f37da032'
314314

315315
BlockOverride:
316316
$ref: '#/Hex'

data/v1.yaml

Lines changed: 81 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# To Update:
2-
# rdme openapi tokens.yaml --key=<key> --id=67cb0078f56864003061cf66
2+
# rdme openapi v1.yaml --key=<key> --id=67cb0078f56864003061cf66
33
openapi: 3.1.0
44
info:
55
title: 🧠 Data
@@ -117,7 +117,7 @@ paths:
117117
content:
118118
application/json:
119119
schema:
120-
$ref: "#/components/schemas/ByAddressRequestWithNFTOptions"
120+
$ref: "#/components/schemas/ByAddressRequestWithNFTOptionsAndPaging"
121121
responses:
122122
"200":
123123
description: Successful response!
@@ -138,6 +138,46 @@ paths:
138138
schema:
139139
$ref: "#/components/schemas/ErrorResponse"
140140
operationId: get-nfts-by-address
141+
"/{apiKey}/assets/nfts/contracts/by-address":
142+
post:
143+
summary: Contracts By Owner
144+
description: >
145+
Retrieves all NFT contracts currently owned by multiple addresses using network and address pairs. 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?service=token-api&utm_source=readme&utm_medium=link&utm_campaign=docs_method_chains_link_v1_tokens).
146+
tags: ["🆕 Multi-Chain NFT APIs (Beta)"]
147+
x-readme:
148+
samples-languages:
149+
- javascript
150+
- curl
151+
- python
152+
- go
153+
parameters:
154+
- $ref: '#/components/schemas/apiKey'
155+
requestBody:
156+
required: true
157+
content:
158+
application/json:
159+
schema:
160+
$ref: "#/components/schemas/ByAddressRequestWithNFTOptions"
161+
responses:
162+
"200":
163+
description: Successful response!
164+
content:
165+
application/json:
166+
schema:
167+
$ref: "#/components/schemas/NFTByOwnerResponse"
168+
"400":
169+
description: 'Bad Request: Invalid input (e.g., malformed JSON).'
170+
content:
171+
application/json:
172+
schema:
173+
$ref: "#/components/schemas/ErrorResponse"
174+
"429":
175+
description: 'Too Many Requests: Rate limit exceeded.'
176+
content:
177+
application/json:
178+
schema:
179+
$ref: "#/components/schemas/ErrorResponse"
180+
operationId: get-nft-contracts-by-address
141181
####################################################
142182
# Transaction History API
143183
####################################################
@@ -584,6 +624,28 @@ components:
584624
required:
585625
- addresses
586626

627+
ByAddressRequestWithNFTOptionsAndPaging:
628+
type: object
629+
properties:
630+
addresses:
631+
type: array
632+
minItems: 1
633+
maxItems: 2
634+
description: >
635+
Array of address and networks pairs (limit 2 pairs, max 5 networks each). Networks should match network enums.
636+
items:
637+
$ref: "#/components/schemas/AddressItem"
638+
withMetadata:
639+
description: 'Boolean - if set to `true`, returns metadata. Setting this to false will reduce payload size and may result in a faster API call. Defaults to `true`.'
640+
type: boolean
641+
default: true
642+
pageKey:
643+
$ref: '../nft/nfts.yaml#/components/schemas/pageKey'
644+
pageSize:
645+
$ref: '../nft/nfts.yaml#/components/schemas/pageSize'
646+
required:
647+
- addresses
648+
587649
ByAddressRequestWithNFTOptions:
588650
type: object
589651
properties:
@@ -865,6 +927,23 @@ components:
865927
acquiredAt:
866928
$ref: '../nft/nfts.yaml#/components/schemas/acquiredAt'
867929

930+
ContractsByOwnerResponse:
931+
type: object
932+
properties:
933+
data:
934+
type: object
935+
description: List of nfts by address with appropriate metadata.
936+
# No validAt for the multi-chain version, for now.
937+
contracts:
938+
type: array
939+
items:
940+
$ref: '../nft/nfts.yaml#/components/schemas/ownedContractv3'
941+
# totalCount:
942+
# $ref: '../nft/nfts.yaml#/components/schemas/totalNFTCount'
943+
# pageKey:
944+
# $ref: '../nft/nfts.yaml#/components/schemas/pageKey'
945+
required:
946+
- data
868947
####################################################
869948
# Transaction History APIs
870949
####################################################

evm_body.yaml

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2545,7 +2545,7 @@ alchemy_requestPaymasterAndData:
25452545
entryPoint:
25462546
$ref: ./components/schemas.yaml#/EntryPoint
25472547
description: The `entrypoint` address the request should be sent through. This MUST be one of the entry points returned by the supportedEntryPoints rpc call and match the version of the user operation in the `userOperation` field.
2548-
default: '0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789'
2548+
default: '0x0000000071727De22E5E9d8BAf0edAc6f37da032'
25492549
userOperation:
25502550
$ref: ./components/schemas.yaml#/UserOperationPartialWithGasFields
25512551
description: Partial UserOperation object, missing paymasterAndData and signature fields. This can be either a v0.6 or v0.7 user operation, but MUST match the version of the entry point at the address in the `entryPoint` field.
@@ -2582,7 +2582,7 @@ alchemy_requestGasAndPaymasterAndData:
25822582
entryPoint:
25832583
$ref: ./components/schemas.yaml#/EntryPoint
25842584
description: The `entrypoint` address the request should be sent through. This MUST be one of the entry points returned by the supportedEntryPoints rpc call and match the version of the user operation in the `userOperation` field.
2585-
default: '0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789'
2585+
default: '0x0000000071727De22E5E9d8BAf0edAc6f37da032'
25862586
dummySignature:
25872587
type: string
25882588
description: Dummy signature for the operation. This is useful for estimating gas costs.
@@ -2749,3 +2749,40 @@ pm_getPaymasterData:
27492749
webhookData:
27502750
type: string
27512751
description: Additional data you wish to include in the request, such as proof of humanity.
2752+
2753+
alchemy_requestFeePayer:
2754+
allOf:
2755+
- $ref: '#/common_request_fields'
2756+
- type: object
2757+
properties:
2758+
method:
2759+
$ref: ./components/schemas.yaml#/Method
2760+
default: alchemy_requestFeePayer
2761+
params:
2762+
type: array
2763+
description: Parameters for requesting gas sponsorship
2764+
minItems: 1
2765+
maxItems: 1
2766+
items:
2767+
type: array
2768+
minItems: 1
2769+
maxItems: 1
2770+
items:
2771+
type: object
2772+
properties:
2773+
policyId:
2774+
type: string
2775+
description: The policy ID or list of policy IDs
2776+
oneOf:
2777+
- type: string
2778+
format: uuid
2779+
- type: array
2780+
items:
2781+
type: string
2782+
format: uuid
2783+
serializedTransaction:
2784+
type: string
2785+
description: A base64-encoded serialized transaction missing signature fields. The `feePayer` field should be set to an address that is different than any other address included in the tx. The API will update the `feePayer` and add the signature to the `serializedTransaction`.
2786+
webhookData:
2787+
type: string
2788+
description: (optional) Additional data you wish to include in the request, such as proof of humanity.

evm_examples.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2948,3 +2948,13 @@ alchemy_requestGasAndPaymasterAndData:
29482948
'preVerificationGas': '0xab9c',
29492949
},
29502950
}
2951+
2952+
alchemy_requestFeePayer:
2953+
{
2954+
'jsonrpc': '2.0',
2955+
'method': 'alchemy_requestFeePayer',
2956+
'id': 1,
2957+
'result': {
2958+
'serializedTransaction': 'Ag0GtWZxxEAa5RRlVa9nlvoHlQipM/Xe27r8M+tU7UR3gFIX6inCTo22g1GGTMzKv+8O5d0UfCh1sv1ncCeTHwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAIAAQORLBR6iVTq70gqvschURzPHFw9OqToL0kpKcKJq/fSDMnfsDRNlEHTg8DntRPI83TAVf3jUyJ23AiXAcWFBtckAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/srKfEvAFKeLN9XFazboEjOa7AXHC5+zjZ6wCIFEgHAECAgEBDAIAAACAlpgAAAAAAAA=',
2959+
},
2960+
}

evm_responses.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1928,3 +1928,18 @@ pm_getPaymasterData:
19281928
type: string
19291929
description: |
19301930
The data for the paymaster in the operation.
1931+
1932+
alchemy_requestFeePayer:
1933+
allOf:
1934+
- $ref: '#/common_response_fields'
1935+
- type: object
1936+
properties:
1937+
result:
1938+
type: object
1939+
properties:
1940+
serializedTransaction:
1941+
type: string
1942+
description: A base64-encoded serialized transaction, signed by the `feePayer` with the `feePayer` field set.
1943+
example:
1944+
$ref: ./evm_examples.yaml#/alchemy_requestFeePayer
1945+

0 commit comments

Comments
 (0)