xStocks Quote Assets
curl --request GET \
--url https://inkypump.com/api/xstocks/quote-assetsimport requests
url = "https://inkypump.com/api/xstocks/quote-assets"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://inkypump.com/api/xstocks/quote-assets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://inkypump.com/api/xstocks/quote-assets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://inkypump.com/api/xstocks/quote-assets"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://inkypump.com/api/xstocks/quote-assets")
.asString();require 'uri'
require 'net/http'
url = URI("https://inkypump.com/api/xstocks/quote-assets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_bodyInkyPump API
xStocks Quote Assets
List xStocks wrappers that have an InkyPump deployment and their exact launch configuration.
GET
/
api
/
xstocks
/
quote-assets
xStocks Quote Assets
curl --request GET \
--url https://inkypump.com/api/xstocks/quote-assetsimport requests
url = "https://inkypump.com/api/xstocks/quote-assets"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://inkypump.com/api/xstocks/quote-assets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://inkypump.com/api/xstocks/quote-assets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://inkypump.com/api/xstocks/quote-assets"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://inkypump.com/api/xstocks/quote-assets")
.asString();require 'uri'
require 'net/http'
url = URI("https://inkypump.com/api/xstocks/quote-assets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_bodyThis endpoint is available on Ink only.
Use
Query parameters
number
required
Must be
57073.number
default:"1"
One-based page number.
number
default:"50"
Number of assets. Maximum
100.string
Search symbol, name, or API asset ID. Maximum 80 sanitized characters.
string
Return one wrapper deployment.
number
Read a specific release snapshot.
Response shape
type QuoteAssetResponse = {
chainId: 57073
release: Release
releases: Release[]
page: number
pageSize: number
totalCount: number
totalPages: number
assets: QuoteAsset[]
}
type Release = {
snapshotVersion: number
assetCount: number
merkleRoot: `0x${string}`
contentHash: `0x${string}`
leafScheme: "legacy-v1" | "version-bound-v1"
releaseBinding: null | {
kind: "version-bound-v1"
releaseId: `0x${string}`
registryAddress: `0x${string}`
factoryAddress: `0x${string}`
bundleHash: `0x${string}`
}
}
type QuoteAsset = {
apiAssetId: string
assetId: `0x${string}`
wrapperAddress: `0x${string}`
underlyingAssetAddress: `0x${string}`
name: string
symbol: string
logoUrl: string | null
decimals: number
isTradingHalted: boolean
supportsAtomicSwaps: boolean
snapshotVersion: number
release: Release
config: {
assetId: `0x${string}`
wrapper: `0x${string}`
underlyingAsset: `0x${string}`
decimals: 18
minRaise: string
maxRaise: string
minBuy: string
buybackFlushThreshold: string
priceScale: string
metadataHash: `0x${string}`
}
merkleProof: `0x${string}`[]
valuation: null | {
status: string
wrapperPriceUsd: string | null
source: string
providerObservedAt: string | null
observedAt: string
failureReason: string | null
}
deployment: null | {
hookAddress: `0x${string}`
viewerAddress: `0x${string}`
factoryAddress: `0x${string}`
poolManagerAddress: `0x${string}`
protocolFeeRecipient: `0x${string}`
snapshotVersion: number
runtimeCodeHash: `0x${string}`
configurationHash: `0x${string}`
proxySalt: `0x${string}`
active: boolean
disabledReason: string | null
}
activation: null | {
factoryAddress: `0x${string}`
quotedImplementationAddress: `0x${string}`
proxySalt: `0x${string}`
predictedHookAddress: `0x${string}`
initializationDataHash: `0x${string}`
proxyInitCodeHash: `0x${string}`
assetConfigurationHash: `0x${string}`
miningAttempts: string
snapshotVersion: number
status: "MINED" | "DEPLOYED" | "INVALIDATED"
invalidatedReason: string | null
}
canCreate: boolean
}
Request
curl "https://inkypump.com/api/xstocks/quote-assets?chainId=57073&pageSize=100"
canCreate, the exact wrapper, the exact hook, and raw-unit limits for creation. An asset can belong to a release other than the top-level primary release, so bind proofs and hashes to asset.release. Do not gate the on-chain launch on a non-null valuation; that object is USD display evidence.
See xStocks Launches for approvals and transaction construction.