{
  "openapi": "3.1.0",
  "info": {
    "title": "VerifyOracle",
    "version": "1.1.0",
    "description": "Primary-source verifiable x402 API oracle on Base Mainnet USDC.",
    "x-guidance": "Call GET /api/crypto-price, /api/base-gas, /api/block-number, /api/erc20-balance, /api/solana-mint-audit, or /api/bounties. Unpaid requests return HTTP 402 with x402 v2 PAYMENT-REQUIRED and v1 X-PAYMENT-REQUIRED challenge headers settling in Base Mainnet USDC."
  },
  "servers": [
    {
      "url": "https://penger-oracle.run402.com"
    }
  ],
  "paths": {
    "/api/health": {
      "get": {
        "operationId": "health_check",
        "security": [],
        "summary": "Health check"
      }
    },
    "/api/status": {
      "get": {
        "operationId": "settlement_status",
        "security": [],
        "summary": "Public x402 settlement ledger"
      }
    },
    "/api/crypto-price": {
      "get": {
        "operationId": "crypto_price",
        "summary": "Live cryptocurrency spot price in USD from Coinbase primary spot API (e.g. ?symbol=BTC-USD, ETH-USD, SOL-USD).",
        "tags": [
          "crypto",
          "price",
          "coinbase",
          "oracle"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.001"
          },
          "protocols": [
            {
              "x402": {}
            }
          ],
          "pricingMode": "fixed",
          "amount": "1000",
          "currency": "USD",
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0x91799aa29fb7e2D3E6Dfa738C67693E5E83B9Fa3"
        },
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": false,
            "description": "Trading pair BASE-QUOTE (default BTC-USD)",
            "schema": {
              "type": "string",
              "default": "BTC-USD",
              "example": "BTC-USD"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paid primary-source oracle response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": "string"
                    },
                    "base": {
                      "type": "string"
                    },
                    "quote": {
                      "type": "string"
                    },
                    "price": {
                      "type": "number"
                    },
                    "currency": {
                      "type": "string"
                    },
                    "source": {
                      "type": "string"
                    },
                    "timestamp": {
                      "type": "string"
                    }
                  },
                  "example": {
                    "symbol": "BTC-USD",
                    "base": "BTC",
                    "quote": "USD",
                    "price": 95000.25,
                    "currency": "USD",
                    "source": "coinbase-spot",
                    "timestamp": "2026-10-21T13:15:00.000Z"
                  }
                }
              }
            }
          },
          "402": {
            "description": "Payment Required (x402 v1 X-PAYMENT-REQUIRED & v2 PAYMENT-REQUIRED headers)"
          }
        }
      }
    },
    "/api/base-gas": {
      "get": {
        "operationId": "base_gas",
        "summary": "Live Base Mainnet (chainId 8453) gas price and EIP-1559 baseFeePerGas directly from Base public RPC.",
        "tags": [
          "base",
          "gas",
          "rpc",
          "onchain"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.001"
          },
          "protocols": [
            {
              "x402": {}
            }
          ],
          "pricingMode": "fixed",
          "amount": "1000",
          "currency": "USD",
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0x91799aa29fb7e2D3E6Dfa738C67693E5E83B9Fa3"
        },
        "parameters": [],
        "responses": {
          "200": {
            "description": "Paid primary-source oracle response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "chainId": {
                      "type": "number"
                    },
                    "network": {
                      "type": "string"
                    },
                    "gasPriceWei": {
                      "type": "string"
                    },
                    "gasPriceGwei": {
                      "type": "number"
                    },
                    "baseFeePerGasWei": {
                      "type": "string"
                    },
                    "baseFeePerGasGwei": {
                      "type": "number"
                    },
                    "blockNumber": {
                      "type": "number"
                    },
                    "source": {
                      "type": "string"
                    }
                  },
                  "example": {
                    "chainId": 8453,
                    "network": "base-mainnet",
                    "gasPriceWei": "1500000",
                    "gasPriceGwei": 0.0015,
                    "baseFeePerGasWei": "1200000",
                    "baseFeePerGasGwei": 0.0012,
                    "blockNumber": 25000000,
                    "source": "base-mainnet-rpc"
                  }
                }
              }
            }
          },
          "402": {
            "description": "Payment Required (x402 v1 X-PAYMENT-REQUIRED & v2 PAYMENT-REQUIRED headers)"
          }
        }
      }
    },
    "/api/block-number": {
      "get": {
        "operationId": "block_number",
        "summary": "Live Base Mainnet (chainId 8453) latest block height, block hash, timestamp, and transaction count from Base RPC.",
        "tags": [
          "base",
          "block",
          "rpc",
          "onchain"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.001"
          },
          "protocols": [
            {
              "x402": {}
            }
          ],
          "pricingMode": "fixed",
          "amount": "1000",
          "currency": "USD",
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0x91799aa29fb7e2D3E6Dfa738C67693E5E83B9Fa3"
        },
        "parameters": [],
        "responses": {
          "200": {
            "description": "Paid primary-source oracle response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "chainId": {
                      "type": "number"
                    },
                    "network": {
                      "type": "string"
                    },
                    "blockNumber": {
                      "type": "number"
                    },
                    "blockHash": {
                      "type": "string"
                    },
                    "timestamp": {
                      "type": "number"
                    },
                    "txCount": {
                      "type": "number"
                    },
                    "source": {
                      "type": "string"
                    }
                  },
                  "example": {
                    "chainId": 8453,
                    "network": "base-mainnet",
                    "blockNumber": 25000000,
                    "blockHash": "0x...",
                    "timestamp": 1761052500,
                    "txCount": 142,
                    "source": "base-mainnet-rpc"
                  }
                }
              }
            }
          },
          "402": {
            "description": "Payment Required (x402 v1 X-PAYMENT-REQUIRED & v2 PAYMENT-REQUIRED headers)"
          }
        }
      }
    },
    "/api/erc20-balance": {
      "get": {
        "operationId": "erc20_balance",
        "summary": "Live on-chain ERC-20 token balanceOf and decimals on Base Mainnet (defaults to Base USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913).",
        "tags": [
          "base",
          "erc20",
          "usdc",
          "balance"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.001"
          },
          "protocols": [
            {
              "x402": {}
            }
          ],
          "pricingMode": "fixed",
          "amount": "1000",
          "currency": "USD",
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0x91799aa29fb7e2D3E6Dfa738C67693E5E83B9Fa3"
        },
        "parameters": [
          {
            "name": "address",
            "in": "query",
            "required": false,
            "description": "0x wallet address on Base",
            "schema": {
              "type": "string",
              "default": "0x91799aa29fb7e2D3E6Dfa738C67693E5E83B9Fa3",
              "example": "0x91799aa29fb7e2D3E6Dfa738C67693E5E83B9Fa3"
            }
          },
          {
            "name": "contract",
            "in": "query",
            "required": false,
            "description": "0x ERC-20 contract on Base (default USDC)",
            "schema": {
              "type": "string",
              "default": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
              "example": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paid primary-source oracle response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "chainId": {
                      "type": "number"
                    },
                    "address": {
                      "type": "string"
                    },
                    "contract": {
                      "type": "string"
                    },
                    "balanceRaw": {
                      "type": "string"
                    },
                    "decimals": {
                      "type": "number"
                    },
                    "balanceFormatted": {
                      "type": "string"
                    },
                    "source": {
                      "type": "string"
                    }
                  },
                  "example": {
                    "chainId": 8453,
                    "address": "0x91799aa29fb7e2D3E6Dfa738C67693E5E83B9Fa3",
                    "contract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                    "balanceRaw": "0",
                    "decimals": 6,
                    "balanceFormatted": "0.0",
                    "source": "base-mainnet-rpc"
                  }
                }
              }
            }
          },
          "402": {
            "description": "Payment Required (x402 v1 X-PAYMENT-REQUIRED & v2 PAYMENT-REQUIRED headers)"
          }
        }
      }
    },
    "/api/solana-mint-audit": {
      "get": {
        "operationId": "solana_mint_audit",
        "summary": "Live Solana Mainnet-Beta SPL Token / Token-2022 mint security audit (mintAuthority, freezeAuthority, supply, decimals, riskScore).",
        "tags": [
          "solana",
          "spl-token",
          "security",
          "audit"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.002"
          },
          "protocols": [
            {
              "x402": {}
            }
          ],
          "pricingMode": "fixed",
          "amount": "2000",
          "currency": "USD",
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0x91799aa29fb7e2D3E6Dfa738C67693E5E83B9Fa3"
        },
        "parameters": [
          {
            "name": "mint",
            "in": "query",
            "required": false,
            "description": "Solana SPL token mint address",
            "schema": {
              "type": "string",
              "default": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
              "example": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paid primary-source oracle response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "mint": {
                      "type": "string"
                    },
                    "program": {
                      "type": "string"
                    },
                    "decimals": {
                      "type": "number"
                    },
                    "supply": {
                      "type": "string"
                    },
                    "mintAuthorityRevoked": {
                      "type": "boolean"
                    },
                    "freezeAuthorityRevoked": {
                      "type": "boolean"
                    },
                    "riskScore": {
                      "type": "number"
                    },
                    "verdict": {
                      "type": "string"
                    },
                    "source": {
                      "type": "string"
                    }
                  },
                  "example": {
                    "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
                    "program": "spl-token",
                    "decimals": 6,
                    "supply": "1000000000000000",
                    "mintAuthorityRevoked": false,
                    "freezeAuthorityRevoked": false,
                    "riskScore": 30,
                    "verdict": "CAUTION",
                    "source": "solana-mainnet-rpc"
                  }
                }
              }
            }
          },
          "402": {
            "description": "Payment Required (x402 v1 X-PAYMENT-REQUIRED & v2 PAYMENT-REQUIRED headers)"
          }
        }
      }
    },
    "/api/bounties": {
      "get": {
        "operationId": "bounties",
        "summary": "Curated feed of active, verified cash/crypto coding and agent bounties across GitHub, Frantic, and SwarmMemo.",
        "tags": [
          "bounties",
          "github",
          "agents",
          "usdc"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.002"
          },
          "protocols": [
            {
              "x402": {}
            }
          ],
          "pricingMode": "fixed",
          "amount": "2000",
          "currency": "USD",
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0x91799aa29fb7e2D3E6Dfa738C67693E5E83B9Fa3"
        },
        "parameters": [],
        "responses": {
          "200": {
            "description": "Paid primary-source oracle response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "count": {
                      "type": "number"
                    },
                    "bounties": {
                      "type": "array"
                    },
                    "source": {
                      "type": "string"
                    }
                  },
                  "example": {
                    "count": 4,
                    "bounties": [
                      {
                        "id": "go-hybrid-bounty-ladder",
                        "repo": "limitlessprojects/Go-Hybrid",
                        "rewardUsd": "50-500",
                        "currency": "USD / Crypto",
                        "status": "ACTIVE"
                      }
                    ],
                    "source": "bounty-radar"
                  }
                }
              }
            }
          },
          "402": {
            "description": "Payment Required (x402 v1 X-PAYMENT-REQUIRED & v2 PAYMENT-REQUIRED headers)"
          }
        }
      }
    }
  }
}