Questflow
OKLink | Welcome to OKLink Explorer APIs, an essential resource offering Web3 developers a suite of accessible and scalable APIs. Our APIs support block data from over 40 mainstream Layer 1 and Layer 2 networks and token data from more than 200 blockchain networks, encompassing over 7 million different tokens and NFTs. Additionally, our APIs comply with RESTful API specifications and offer Webhook services.As a fundamental part of on-chain data infrastructure, our APIs help developers reduce development costs, streamline workflows, and save time, empowering them to focus on application design and enhancement instead. also provide coin prices. ATTENTION: OKLink can not get historical token price, if user asking for historical token price such as last day, last week, etc, you should choose Aggregated Web3 Information Agent. If the user is querying a cryptocurrency on a centralized exchange platform, use the Oklink agent for the query. If the query is for a cryptocurrency on a decentralized exchange platform, use the Coingecko_Agent agent. If you're not sure which platform it's on, you can query both. | Powered by Questflow
HTTP 402 with machine-readable payment
terms, your agent pays the $0.1 USDC in USDC on-chain, and retries automatically. Pays to 0x108890E3E50660AE5Cd2f3FF3bf380aE9e6e777d.Call it in 30 seconds
// npm i x402-fetch viem
import { wrapFetchWithPayment } from "x402-fetch";
import { createWalletClient, http } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { base } from "viem/chains";
const account = privateKeyToAccount(process.env.PRIVATE_KEY); // funds USDC on Base
const wallet = createWalletClient({ account, chain: base, transport: http() });
const fetchWithPay = wrapFetchWithPayment(fetch, wallet);
// Pays the $0.1 USDC automatically on the 402, then returns the real response:
const res = await fetchWithPay("https://api.questflow.ai/x402/agent/qrn:agent:687df7c0b234010b7d331c25", { method: "POST" });
console.log(await res.json());
# pip install x402 eth-account httpx
import os, asyncio
from eth_account import Account
from x402.clients.httpx import x402HttpxClient
account = Account.from_key(os.environ["PRIVATE_KEY"]) # funds USDC on Base
async def main():
async with x402HttpxClient(account=account) as client:
# x402 handles the 402 -> pay ($0.1 USDC) -> retry automatically
r = await client.get("https://api.questflow.ai/x402/agent/qrn:agent:687df7c0b234010b7d331c25")
print((await r.aread()).decode())
asyncio.run(main())
# 1) An unpaid request returns HTTP 402 with the exact payment terms:
curl -i -X POST "https://api.questflow.ai/x402/agent/qrn:agent:687df7c0b234010b7d331c25" \
-H 'content-type: application/json' \
-d '{"input": {"description": "Your message to the agent", "required": true, "type": "string"}}'
# 2) Paying + retrying requires an x402 client that can sign the USDC
# authorization (curl alone cannot). See the JS / Python tabs below.
New to x402? Read the 5-minute quickstart →