Brent crude oil, spot
by Orvyn · 1 source · a report every 1 d
Signed by Orvyn from the provider’s API
Per call
$0.01
sold in packs
Smallest payment
$0.20
what Orvyn settles on chain
A report every
1 d
from 1 source
Uptime, 30 days
Measuring · 1 of 7 days
measured by Orvyn
Calls, last 30 days
0
Endpoint
GET /v1/feeds/orvyn/brent-crude-oil-spot/latest
Bought a pack on this feed? Your code spends it with one header. Make an API key, then use the first example below.
- One call
- $0.01, sold in packs only
- Pack of 20
- $0.20, valid 30 days
- Pack of 200
- $2.00, valid 30 days
- History page
- 5 calls
- Pays
- 0xe240cF24…EfDe4C92
API key
# For a pack you already bought. Make a key in the dashboard, under API keys. curl https://orvyn.me/gw/v1/feeds/orvyn/brent-crude-oil-spot/latest \ -H "Authorization: Bearer <your API key>" # The calls left in your packs. curl https://orvyn.me/gw/v1/packs \ -H "Authorization: Bearer <your API key>"
HTTP
# 1. Ask. The answer is 402 with the price, in the PAYMENT-REQUIRED header. curl -i https://orvyn.me/gw/v1/feeds/orvyn/brent-crude-oil-spot/latest # 2. Sign the USDG authorization it describes, then ask again. curl https://orvyn.me/gw/v1/feeds/orvyn/brent-crude-oil-spot/latest \ -H "PAYMENT-SIGNATURE: <base64 payment payload>"
TypeScript
import {Orvyn} from '@orvyn/sdk'
const orvyn = new Orvyn({gatewayUrl: 'https://orvyn.me/gw', account, maxSpendUsdg: 5_000_000n})
const report = await orvyn.read('orvyn/brent-crude-oil-spot') // pays, or spends a pack, by itself
report.value // 2 decimals, a bigint
report.checks // already verified: signer, kind, decimals, payload, ageTypeScript, with an API key
import {Orvyn} from '@orvyn/sdk'
// No wallet on the server: the key spends calls you bought ahead and cannot buy more.
const orvyn = new Orvyn({gatewayUrl: 'https://orvyn.me/gw', apiKey: process.env.ORVYN_API_KEY})
const report = await orvyn.read('orvyn/brent-crude-oil-spot') // one call from your pack, nothing signed
report.value // 2 decimals, a bigint
report.callsLeft // what the pack still holdsSolidity
import {OrvynConsumer} from "@orvyn/contracts/src/OrvynConsumer.sol";
contract Example is OrvynConsumer {
bytes32 constant BRENT_CRUDE_OIL_SPOT = 0x5b35a9d44efd326cfed1f7d6a3f7bbcc1419a24c6dd6bd8cb0daa7dabb8b7ba6;
function settle(bytes calldata report, bytes calldata sig) external {
int256 value = _readOnce(BRENT_CRUDE_OIL_SPOT, report, sig, Policy({
maxAgeSec: 172800,
allowedKinds: KIND_MANAGED,
minValue: 0,
maxValue: type(int256).max
}));
// use value, scaled by 2 decimals
}
}Agents (MCP)
{
"mcpServers": {
"orvyn": {
"command": "npx",
"args": ["-y", "@orvyn/mcp"],
"env": {"ORVYN_GATEWAY_URL": "https://orvyn.me/gw", "ORVYN_PRIVATE_KEY": "<a wallet made for this agent>", "ORVYN_MAX_SPEND_USDG": "1000000"}
}
}
}Agents (MCP), with an API key
{
"mcpServers": {
"orvyn": {
"command": "npx",
"args": ["-y", "@orvyn/mcp"],
"env": {"ORVYN_GATEWAY_URL": "https://orvyn.me/gw", "ORVYN_API_KEY": "<your API key>"}
}
}
}Response schema
{
"type": "object",
"title": "Brent crude oil, spot",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"value",
"observedAtMs"
],
"properties": {
"value": {
"type": "string"
},
"observedAtMs": {
"type": "string"
}
}
}