Skip to main content
POST

Authorizations

Authorization
string
header
required

Optional. A token for callers that have one. Public use needs no token.

Body

application/json

A request for one signed quote.

feed
string
required

The feed symbol, as GET /v1/feeds lists it.

Example:

"SOL/USD"

idempotency_key
string
required

A new key for each attempt. Reuse a key only for an immediate retry after a transport failure. The service refuses a request without a key.

Example:

"3f6c1d2e9a8b4c7d0e1f2a3b4c5d6e7f"

payload_version
enum<integer>
default:1

The version of the signed payload. Send 2 for a window quote.

Available options:
1,
2
min_slot
integer

With payload_version: 2: return the first quote at or after this slot. Every caller who asks for the same slot gets the same bytes. Unit: slots.

Required range: x >= 0
min_sources
integer

The minimum number of sources for this quote. It can only make the feed's own floor stricter. A value that the feed cannot meet gets 422. Unit: sources.

Required range: x >= 1
max_age_slots
integer

The maximum age of the quote. It can only make the feed's own limit stricter. Unit: slots.

Required range: x >= 0

Response

The signed quote.

One signed quote. Only the signed bytes are authoritative. Decide on payload, not on decoded.

payload
string
required

The signed bytes, as hex. Payload versions 1 and 2 are 80 bytes. Decode them with the SDK.

Pattern: ^[0-9a-f]+$
signatures
object[]
required

The signatures over payload. Several keys sign each quote.

ed25519_instruction_data
string
required

The complete ed25519 instruction data, as hex. Place this instruction immediately before yours in the same transaction.

Pattern: ^[0-9a-f]+$
status
string

The result of the request, as a short code.

feed_id
string

The feed id, as 64 hex characters. It equals market.feeds[0] of the market of this feed.

Pattern: ^[0-9a-f]{64}$
ed25519_program_id
string

The ed25519 program id, in base58.

Example:

"Ed25519SigVerify111111111111111111111111111"

decoded
object

A copy of some payload fields, for reading only. It is not authoritative.

instance_id
string

The service instance that signed this quote.

current_slot
integer

The slot of the service when it answered. Unit: slots.

expires_at_slot
integer

The expiry slot that the service states for this quote. It is not signed. The program judges the age itself, against market.maxOracleAgeSlots. Unit: slots.

policy_revision
integer

The revision of the feed policy that served this quote. It is not signed. Read it, but do not decide on it. Only some responses carry it.