# Rigoblock Oracle Refresh

> Rigoblock Oracle Refresh is a paid API for AI agents from trader.rigoblock.com, paid per call via x402, $0.0023/call, status unknown (last checked 2026-09-14).

Builds an unsigned operator EOA transaction that swaps ETH on a Uniswap V4 pool to refresh a stale on-chain TWAP oracle price feed

## Facts

- Endpoint: POST https://trader.rigoblock.com/api/oracle/refresh
- Price: $0.0023/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/rigoblock-oracle-refresh-15aff1d7
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Q2HDm9fsQTCSQNgw959s9

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability rigoblock-oracle-refresh-15aff1d7 -d '<json body>'
```

Example prompt: My Rigoblock vault trade on Arbitrum (chain ID 42161) is being blocked by the Swap Shield because the USDC oracle feed is stale — can you build a transaction that swaps 0.001 ETH on the Uniswap V4 pool to refresh the USDC TWAP price observation?

## When to prefer this

Use this endpoint specifically when a Rigoblock Swap Shield has blocked a trade due to on-chain TWAP oracle price divergence or staleness; it is purpose-built for the Rigoblock oracle refresh flow on Uniswap V4 pools and should not be used as a general-purpose swap builder or for refreshing oracles on other DEX protocols.

## Known failure modes

- Invalid or unsupported token symbol/address — returns error indicating unrecognized token
- Unsupported chainId — returns error for chains not hosting an oracle pool
- Amount too small to generate a meaningful price observation — may return validation error
- Missing required fields (token, amount, chainId, tokenIn, tokenOut) — returns 400 bad request
- Oracle pool not yet deployed for token on specified chain — returns not-found error
- Payment failure (x402) — call is rejected if the $0.0023 USDC fee is not satisfied

## How this service works

Build an unsigned operator EOA transaction that swaps ETH on the on-chain oracle's dedicated Uniswap V4 pool to create a fresh price observation and fix a stale TWAP feed. Use when the Swap Shield blocks a trade due to oracle price divergence.

## Output

An unsigned operator EOA transaction object ready to be signed and submitted on-chain; the transaction performs a small ETH swap on the Uniswap V4 oracle pool for the specified token pair, generating a fresh price observation that updates the stale TWAP feed and allows the Swap Shield to clear the blocked trade.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "token": {
   "type": "string",
   "description": "ERC-20 token symbol or address whose oracle feed is stale. Never the native token."
  },
  "amount": {
   "type": "string",
   "description": "Exact INPUT amount in tokenIn units (e.g. '0.001'). Required; no default."
  },
  "chainId": {
   "type": "integer",
   "description": "EVM chain ID where the oracle pool lives (e.g. 42161, 8453)"
  },
  "tokenIn": {
   "type": "string",
   "description": "Token the trader pays: the chain native token (ETH/POL/BNB) or the ERC-20 'token'."
  },
  "tokenOut": {
   "type": "string",
   "description": "Token the trader receives: the chain native token (ETH/POL/BNB) or the ERC-20 'token'."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/rigoblock-oracle-refresh-15aff1d7/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from trader.rigoblock.com](https://www.zero.xyz/host/trader.rigoblock.com/llms.txt)
