> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rated.network/llms.txt
> Use this file to discover all available pages before exploring further.

# Performance

export const Endpoint = ({type, path, url}) => {
  const methodColors = {
    post: 'bg-blue-400/20 text-blue-700 dark:bg-blue-400/20 dark:text-blue-400',
    get: 'bg-green-400/20 text-green-700 dark:bg-green-400/20 dark:text-green-400',
    put: 'bg-yellow-400/20 text-yellow-700 dark:bg-yellow-400/20 dark:text-yellow-400',
    delete: 'bg-red-400/20 text-red-700 dark:bg-red-400/20 dark:text-red-400',
    patch: 'bg-orange-400/20 text-orange-700 dark:bg-orange-400/20 dark:text-orange-400'
  };
  const pathParts = path.startsWith('/') ? path.substring(1).split('/') : path.split('/');
  return <a href={url} className="relative flex-1 flex gap-2 min-w-0 rounded-xl items-center cursor-pointer p-1.5 border-standard">
        <div className={`rounded-lg font-bold px-1.5 py-0.5 text-sm leading-5 ${methodColors[type.toLowerCase()]}`}>
          {type}
        </div>
        <div className="flex items-center space-x-2 overflow-x-auto flex-1 no-scrollbar">
          <div className="group flex items-center flex-1 gap-0.5 font-mono">
            {url && <div className="absolute right-0 p-2 rounded-lg hidden group-hover:block">
                <Icon icon="arrow-right" />
              </div>}
            {pathParts.map((part, i) => {
    const isParam = part.includes('{');
    return <>
                  <div className="text-sm text-gray-400">/</div>
                  {isParam ? <div className="text-sm font-mono font-medium rounded-md px-1 border-2 min-w-max text-[#2AB673] bg-[#2AB673]/10 border-[#2AB673]/30">
                      {part}
                    </div> : <div className="text-sm font-medium text-gray-800 dark:text-white min-w-max">
                      {part}
                    </div>}
                </>;
  })}
          </div>
        </div>
      </a>;
};

## Validator Stake State

Using this endpoint, you can query the historical daily stake balance of a validator by their unique `validator_address`. The data is aggregated by validator across all of their respective delegators.

<Endpoint type="GET" path="/v1/babylon/validators/{validator_address}/state" url="/rated-api/api-reference/v1/babylon/performance/get-validator-state-information" />

## Delegator Stake State

Using this endpoint, you can query the historical daily stake balance of a delegator by their unique address. The results are per individual validator that the delegator has staked to.

<Endpoint type="GET" path="/v1/babylon/delegators/{delegator_address}/state" url="/rated-api/api-reference/v1/babylon/performance/get-delegator-state-information" />

## Finality Provider Stake State

Using this endpoint, you can query the historical daily stake balance of a finality provider by their unique `finality_provider` identifier/s. This identifier can be their Babylon address, BTC public key, or BTC address. The data is aggregated by finality provider across all of their respective delegators.

<Endpoint type="GET" path="/v1/babylon/finalityProviders/{finality_provider}/state" url="/rated-api/api-reference/v1/babylon/performance/get-finality-provider-state-information" />

## BTC Delegator Stake State

Using this endpoint, you can query the historical daily stake balance of a BTC delegator by their unique Babylon Genesis address. The results are per individual finality provider that the delegator has staked to.

<Endpoint type="GET" path="/v1/babylon/btcDelegators/{delegator_address}/state" url="/rated-api/api-reference/v1/babylon/performance/get-btc-delegator-state-information" />
