Skip to content

Oracle Calls

Calls on the oracle module, submitted Borsh-encoded to the single Submit Transaction endpoint. Fields are listed in Borsh serialization order; see Encoding and Data Structures & Constants.

Register Oracle Feed

oracle.register_oracle_feed

Register a new oracle feed (admin only)

Protocol / admin operation.

FieldTypeRequiredDescription
oracle_idOracleIdyesThe oracle identifier (source + feed id)
symbolSafeVec_32_of_uint8yesHuman-readable symbol as bytes (e.g., b"BTC/USD")
max_confidence_basis_pointsuint32yesMaximum confidence in basis points
max_staleness_msuint64yesMaximum allowed age in milliseconds before price is considered stale
exponentint16yesFixed decimal exponent for this feed

Submit Oracle Price Update

oracle.submit_oracle_price_update

Submit a price update for a specific oracle source

Protocol / admin operation.

FieldTypeRequiredDescription
sourceOracleSourceyesOracle source
updateSafeVec_5981_of_uint8yesOracle update payload (source-specific)

Add Oracle Signer

oracle.add_oracle_signer

Add a trusted signer for an oracle source (admin only)

Protocol / admin operation.

FieldTypeRequiredDescription
sourceOracleSourceyesOracle source
public_keyVec<uint8>yesEd25519 public key to add to trusted signers

Remove Oracle Signer

oracle.remove_oracle_signer

Remove a trusted signer for an oracle source (admin only)

Protocol / admin operation.

FieldTypeRequiredDescription
sourceOracleSourceyesOracle source
public_keyVec<uint8>yesEd25519 public key to remove from trusted signers

Update Oracle Feed

oracle.update_oracle_feed

Update oracle feed parameters (admin only)

Protocol / admin operation.

FieldTypeRequiredDescription
oracle_idOracleIdyesThe oracle identifier (source + feed id)
max_confidence_basis_pointsOption<uint32>noNew maximum confidence in basis points (if Some)
max_staleness_msOption<uint64>noNew maximum staleness in milliseconds (if Some)