{"openapi":"3.1.0","info":{"title":"ReserveBeat API","version":"0.1.0","description":"Independent monitoring of public stablecoin reserve figures.\n\nReserveBeat renders figures from issuer-published reports and public blockchains, verbatim and at their stated scope. It is not an auditor, makes no attestation, and states no opinion on any issuer's solvency. Nothing here is investment, trading, legal, tax, or accounting advice. No figure published here is a recommendation to hold, buy, sell, or redeem any token."},"servers":[{"url":"https://reservebeat.com"}],"paths":{"/account/signup":{"post":{"tags":["account"],"summary":"Account Signup","operationId":"signupAccount","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiAccountSignupRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiAccountSignupAck"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"anonymous","security":[]}},"/account/password-reset":{"post":{"tags":["account"],"summary":"Account Request Password Reset","operationId":"requestPasswordReset","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordResetRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiAccountSignupAck"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"anonymous","security":[]}},"/account/password-reset/confirm":{"post":{"tags":["account"],"summary":"Account Confirm Password Reset","operationId":"confirmPasswordReset","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordResetConfirmRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountRecoveryResult"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"anonymous","security":[]}},"/account/verify-email":{"post":{"tags":["account"],"summary":"Account Confirm Email","operationId":"confirmEmail","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyEmailRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountRecoveryResult"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"anonymous","security":[]}},"/account/verify-email/resend":{"post":{"tags":["account"],"summary":"Account Resend Verification","operationId":"resendEmailConfirmation","responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiAccountSignupAck"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"account","security":[{"AccountBearer":[]}]}},"/account/password":{"post":{"tags":["account"],"summary":"Account Change Password","operationId":"changePassword","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePasswordRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordChangeResult"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"account","security":[{"AccountBearer":[]}]}},"/account/email":{"post":{"tags":["account"],"summary":"Account Request Email Change","operationId":"requestEmailChange","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeEmailRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiAccountSignupAck"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"account","security":[{"AccountBearer":[]}]}},"/account/email/confirm":{"post":{"tags":["account"],"summary":"Account Confirm Email Change","operationId":"confirmEmailChange","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmEmailChangeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountRecoveryResult"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"anonymous","security":[]}},"/account/close":{"post":{"tags":["account"],"summary":"Account Close","operationId":"closeAccount","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloseAccountRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountClosed"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"account","security":[{"AccountBearer":[]}]}},"/account/login":{"post":{"tags":["account"],"summary":"Account Login","operationId":"loginAccount","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiAccountLoginRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiAccountLoginResult"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"anonymous","security":[]}},"/account/logout":{"post":{"tags":["account"],"summary":"Account Logout","operationId":"logoutAccount","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountSignedOut"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"account","security":[{"AccountBearer":[]}]}},"/account/sessions/revoke":{"post":{"tags":["account"],"summary":"Account Revoke Sessions","operationId":"revokeAccountSessions","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountSessionsRevoked"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"account","security":[{"AccountBearer":[]}]}},"/account/keys":{"get":{"tags":["account"],"summary":"Account List Keys","operationId":"listApiKeys","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyList"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"account","security":[{"AccountBearer":[]}]},"post":{"tags":["account"],"summary":"Account Issue Key","operationId":"issueApiKey","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/ApiKeyIssueRequest"},{"type":"null"}],"title":"Req"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyIssued"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"account","security":[{"AccountBearer":[]}]}},"/account/keys/{key_id}/revoke":{"post":{"tags":["account"],"summary":"Account Revoke Key","operationId":"revokeApiKey","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeySummary"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"account","security":[{"AccountBearer":[]}]}},"/account/keys/{key_id}/label":{"post":{"tags":["account"],"summary":"Account Rename Key","operationId":"renameApiKey","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Key Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyRenameRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeySummary"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"account","security":[{"AccountBearer":[]}]}},"/account/keys/{key_id}/limits":{"post":{"tags":["account"],"summary":"Account Set Key Limits","operationId":"setApiKeyLimits","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Key Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyLimitsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeySummary"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"account","security":[{"AccountBearer":[]}]}},"/account/keys/{key_id}/rotate":{"post":{"tags":["account"],"summary":"Account Rotate Key","operationId":"rotateApiKey","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Key Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/ApiKeyRotateRequest"},{"type":"null"}],"title":"Req"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyRotated"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"account","security":[{"AccountBearer":[]}]}},"/account/usage":{"get":{"tags":["account"],"summary":"Account Usage","operationId":"getAccountUsage","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUsageSummary"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"account","security":[{"AccountBearer":[]}]}},"/account/purchases":{"get":{"tags":["account"],"summary":"Account Purchases","operationId":"getAccountPurchases","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiPurchaseHistory"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"account","security":[{"AccountBearer":[]}]}},"/account/me":{"get":{"tags":["account"],"summary":"Account Me","operationId":"getAccount","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiAccountSummary"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"account","security":[{"AccountBearer":[]}]}},"/account/terms":{"post":{"tags":["account"],"summary":"Account Accept Terms","operationId":"acceptTerms","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptTermsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiAccountSummary"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"account","security":[{"AccountBearer":[]}]}},"/account/webhooks":{"get":{"tags":["account"],"summary":"Account List Webhooks","operationId":"listWebhookEndpoints","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpointList"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"account","security":[{"AccountBearer":[]}]},"post":{"tags":["account"],"summary":"Account Create Webhook","operationId":"createWebhookEndpoint","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpointCreateRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpointCreated"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"account","security":[{"AccountBearer":[]}]}},"/account/webhooks/{endpoint_id}/revoke":{"post":{"tags":["account"],"summary":"Account Revoke Webhook","operationId":"revokeWebhookEndpoint","parameters":[{"name":"endpoint_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Endpoint Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpointSummary"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"account","security":[{"AccountBearer":[]}]}},"/account/webhooks/{endpoint_id}/rotate-secret":{"post":{"tags":["account"],"summary":"Account Rotate Webhook Secret","operationId":"rotateWebhookSecret","parameters":[{"name":"endpoint_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Endpoint Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookSecretRotated"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"account","security":[{"AccountBearer":[]}]}},"/account/webhooks/{endpoint_id}/test":{"post":{"tags":["account"],"summary":"Account Ping Webhook","operationId":"pingWebhookEndpoint","parameters":[{"name":"endpoint_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Endpoint Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookPingResult"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"account","security":[{"AccountBearer":[]}]}},"/account/webhooks/deliveries":{"get":{"tags":["account"],"summary":"Account Webhook Deliveries","operationId":"listWebhookDeliveries","parameters":[{"name":"endpoint_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Endpoint Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":50,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Cursor"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDeliveryList"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"account","security":[{"AccountBearer":[]}]}},"/account/webhooks/deliveries/{delivery_id}/replay":{"post":{"tags":["account"],"summary":"Account Replay Webhook Delivery","operationId":"replayWebhookDelivery","parameters":[{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Delivery Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookReplayAck"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"account","security":[{"AccountBearer":[]}]}},"/account/agent/start":{"post":{"tags":["account"],"summary":"Agent Start","operationId":"startAgentConnect","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentConnectStartRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentConnectStarted"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"anonymous","security":[]}},"/account/agent/token":{"post":{"tags":["account"],"summary":"Agent Token","operationId":"pollAgentConnect","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentConnectTokenRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentConnectKey"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"anonymous","security":[]}},"/account/agent/requests/{user_code}":{"get":{"tags":["account"],"summary":"Agent Review","operationId":"getAgentConnectRequest","parameters":[{"name":"user_code","in":"path","required":true,"schema":{"type":"string","pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"User Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentConnectRequestView"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"account","security":[{"AccountBearer":[]}]}},"/account/agent/approve":{"post":{"tags":["account"],"summary":"Agent Approve","operationId":"decideAgentConnect","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentConnectApproveRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentConnectDecision"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"account","security":[{"AccountBearer":[]}]}},"/v1/board/overview":{"get":{"tags":["v1"],"summary":"V1 Board Overview","operationId":"getBoardOverview","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1BoardOverview"}}},"headers":{"ETag":{"schema":{"type":"string"}}}},"304":{"description":"Not Modified","headers":{"ETag":{"schema":{"type":"string"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"keyless","security":[{},{"ApiKeyHeader":[]}],"parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"type":"string"}},{"name":"If-None-Match","in":"header","required":false,"schema":{"type":"string"}}]}},"/v1/board/tokens/{symbol}":{"get":{"tags":["v1"],"summary":"V1 Board Token","operationId":"getBoardToken","parameters":[{"name":"symbol","in":"path","required":true,"schema":{"type":"string","pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Symbol"}},{"name":"chain","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Chain"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"type":"string"}},{"name":"If-None-Match","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1BoardTokenDetail"},"examples":{"v1_board_token_usdc":{"value":{"symbol":"USDC","token_name":"USD Coin","issuer_name":"Circle","issuer_entity_name":"Circle Internet Group, Inc.","chain":"ethereum","chains":["ethereum"],"chains_ingested":["ethereum"],"address":"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48","decimals":6,"attestation_status":"STALE","withheld_stale":null,"expected_cadence":"MONTHLY","cadence_basis":"OBSERVED","missing_periods":[],"published_unreadable_periods":[{"period":"2024-10","document_url":"https://6778953.fs1.hubspotusercontent-na1.net/hubfs/6778953/USDCAttestationReports/2024/2024%20USDC_Examination%20Report%20October%202024%20(3).pdf","document_sha256":"294b1ceb7800b0b30534e64fa1445b80743b54df5f40efa1f966a30649ca1d4e","captured_at":"2026-07-12T01:23:12.449430Z"},{"period":"2025-03","document_url":"https://6778953.fs1.hubspotusercontent-na1.net/hubfs/6778953/USDCAttestationReports/2025/2025%20USDC_Examination%20Report%20March%2025.pdf","document_sha256":"541977454bab0529808c91016082d25ec6460d89269b225b0c347bc768aefe81","captured_at":"2026-07-12T01:23:18.849814Z"}],"overdue":false,"next_report_expected_by":"2026-09-27","overdue_grace_days":14,"stale_after_days":45,"withheld_after_days":75,"per_chain_itemized":false,"supply_series":[{"time":"2026-10-08T15:12:23Z","block_number":26148499,"block_hash":"0x2f173ef7ebcb720314d122a35711b7a438abb8e88f726612401bdf6dc72461cf","total_supply_base_units":"48904588475613932","total_supply":"48904588475.613932","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"c8fd95f6-51c7-43c0-98e2-7be05931e708","quorum_log_artifact_id":"0a2c9035-290d-4792-b79c-7773d3823368","storage_proof_artifact_id":"160f86e7-f38d-4491-a07b-8ebeb724534d","anchor_status":"UNANCHORED","provenance":null},{"time":"2026-10-08T14:14:47Z","block_number":26148211,"block_hash":"0x7f2cdc12dabc3b5e8057820e6f97ec1d269022e65f97d0a089ae02d24d598167","total_supply_base_units":"48982712063647793","total_supply":"48982712063.647793","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"d27d2194-0579-4ba7-baca-a633ed307139","quorum_log_artifact_id":"aef07347-8a99-4d55-9cbb-94f280d23672","storage_proof_artifact_id":"50e04c49-db17-4dd1-b219-78159d8eb44e","anchor_status":"UNANCHORED","provenance":null},{"time":"2026-10-08T13:17:11Z","block_number":26147925,"block_hash":"0x625030f2f0562a3f6f0bcbf81ceddf76cda3e5bd3063ea26becb1842ef8b7bfc","total_supply_base_units":"48966974586690274","total_supply":"48966974586.690274","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"d5c2fc4c-efe6-4bee-8ce8-26d6caedec9a","quorum_log_artifact_id":"e016f957-3177-4f2b-a324-27708a5663c3","storage_proof_artifact_id":"327f5fd1-617e-4496-9326-911f62e85c2c","anchor_status":"UNANCHORED","provenance":null},{"time":"2026-10-08T12:13:11Z","block_number":26147606,"block_hash":"0xaa8daa009a5665948b227d31bbda9ddf634ed85ac019738a59268e999547a673","total_supply_base_units":"49001903214457191","total_supply":"49001903214.457191","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"17148cec-1692-44d3-86c6-bea863729a7e","quorum_log_artifact_id":"bf71c13f-0f5b-4704-b3b9-cbbf6e43a936","storage_proof_artifact_id":"57cd2323-60b2-4560-ae77-caf2deed72d5","anchor_status":"UNANCHORED","provenance":null},{"time":"2026-10-08T11:15:23Z","block_number":26147318,"block_hash":"0x0dfa07b566bfa4ad6b35fb023099070187910a6e8d197be1d75d7274cd1daeb2","total_supply_base_units":"49014100927400234","total_supply":"49014100927.400234","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"d333070f-5e20-4409-af8b-88bc8cb54acb","quorum_log_artifact_id":"5cfcb093-e2c3-41ae-95fd-aab4aa2cbb0d","storage_proof_artifact_id":"8a1a9176-1762-45ba-9909-a84971d09362","anchor_status":"UNANCHORED","provenance":null},{"time":"2026-10-08T10:11:35Z","block_number":26147000,"block_hash":"0xfc80785183c194432fd3be07a0d41ac9927653daff5a3d2684a250bb99d8fb5a","total_supply_base_units":"48973697600047078","total_supply":"48973697600.047078","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"0a63c32e-9912-4177-9587-976318695cde","quorum_log_artifact_id":"c2081cb9-8dc7-4e75-b0b1-8d8d735b3252","storage_proof_artifact_id":"661c17d0-196a-4c27-b3e2-421f70991161","anchor_status":"UNANCHORED","provenance":null},{"time":"2026-10-08T09:13:59Z","block_number":26146712,"block_hash":"0x1d8d46460f1b101e87ccf12f764a70361b5f795423fb091805bacfcbba168022","total_supply_base_units":"48981791568670736","total_supply":"48981791568.670736","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"397ceb79-e12a-4f2c-a452-066264234b56","quorum_log_artifact_id":"a0ca4518-6a31-41ca-9e56-690a783841e4","storage_proof_artifact_id":"33ba5f23-c782-4d17-b577-c081fa3f83a8","anchor_status":"UNANCHORED","provenance":null},{"time":"2026-10-08T08:16:23Z","block_number":26146424,"block_hash":"0xca1717bbc52ddb39d15b72b1c861794dc075c494a686e1d5800ba71a7620beb1","total_supply_base_units":"49003930923531094","total_supply":"49003930923.531094","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"e5a029b5-a421-46d1-87d3-66a92f2011c1","quorum_log_artifact_id":"a5e0ee31-e28e-4c44-8282-632632429343","storage_proof_artifact_id":"4435ad94-5366-4444-9c85-68ab81f49f96","anchor_status":"UNANCHORED","provenance":null},{"time":"2026-10-08T07:18:47Z","block_number":26146138,"block_hash":"0x5980476b4549934a314ec5b9efa0a16cf52b7893501b8c7214102501e786ec1e","total_supply_base_units":"49018856859326844","total_supply":"49018856859.326844","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"6a308fdd-93dd-46d7-b4f1-af7692431f93","quorum_log_artifact_id":"9dbe7df6-d4fd-433f-9fa1-d526845ebf16","storage_proof_artifact_id":"87e7f8f7-caa2-4aef-8ede-3847ff5fb3b5","anchor_status":"UNANCHORED","provenance":null},{"time":"2026-10-08T06:14:47Z","block_number":26145820,"block_hash":"0x7eba454fcee0efc14a5b6169ba18801cc868ead7d73751986b48ff99bd3c1491","total_supply_base_units":"49080313800943816","total_supply":"49080313800.943816","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"ff6a2c52-e935-479f-a07d-dd0959614786","quorum_log_artifact_id":"64333ab3-e08d-4c72-b7a0-1a5658f3bf03","storage_proof_artifact_id":"0dd0547e-831f-45a4-9e56-f2a9cca5f787","anchor_status":"UNANCHORED","provenance":null},{"time":"2026-10-08T05:10:47Z","block_number":26145500,"block_hash":"0x9de9733b4651bd9ba61b5d6dc566b1ba57b3d1d5bd198bfd0594553dabb185fc","total_supply_base_units":"49103417384172072","total_supply":"49103417384.172072","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"7cd0cd56-4e85-4b57-9e1e-0fd2b50f7696","quorum_log_artifact_id":"047eaa79-a940-4952-bb23-d04ccc9c70a0","storage_proof_artifact_id":"7419bf98-3c37-490e-b0df-166e75898ab2","anchor_status":"UNANCHORED","provenance":null},{"time":"2026-10-08T04:13:11Z","block_number":26145213,"block_hash":"0x32d6307a494db2970f0fb826581ac4bd3309743c9f70dcb82af1334cc2d25e91","total_supply_base_units":"49046136797561314","total_supply":"49046136797.561314","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"6119faf1-2d42-4e35-88e0-41b072eac457","quorum_log_artifact_id":"3857536f-e668-4669-8e75-15816827bbde","storage_proof_artifact_id":"a9192ee0-af29-41fc-bbfc-0758ae780880","anchor_status":"UNANCHORED","provenance":null},{"time":"2026-10-08T03:15:35Z","block_number":26144928,"block_hash":"0xfdaf19d404b948987bb233e033b85de440cc1e0f976dfb1da079ba75e6ff44d1","total_supply_base_units":"49046809704682596","total_supply":"49046809704.682596","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"6abfc4db-27c9-4172-9181-73785e6661c5","quorum_log_artifact_id":"c3626974-8bce-4cc6-b486-98f0bd5d68d8","storage_proof_artifact_id":"0cf58c2e-7e6d-419c-9735-1f97294a2172","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-08T02:11:35Z","block_number":26144608,"block_hash":"0xd37e782f4924820a3a4b5cde323e0f47a6430939abf4b5cd2d125610c561a555","total_supply_base_units":"49059318764710009","total_supply":"49059318764.710009","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"c2ab79b2-4248-412c-a5a9-25460e6ef565","quorum_log_artifact_id":"28438686-0985-41eb-91ef-2ca1374a84fa","storage_proof_artifact_id":"d29a30c2-9752-42c5-85af-e95589e7e576","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-08T01:13:59Z","block_number":26144322,"block_hash":"0x02676a0d3c30ab258f466c0d3bfbf7db35a9d9505a2d37ded5c9b8369c80c75e","total_supply_base_units":"49073539319373414","total_supply":"49073539319.373414","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"3b1110f8-6e09-4b62-90cd-0959ae83ece8","quorum_log_artifact_id":"08376bda-45f5-4890-a7ff-96ee0c3d3850","storage_proof_artifact_id":"0a686e82-be38-4c8d-8609-03a963504245","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-08T00:09:59Z","block_number":26144004,"block_hash":"0x95b0ef2114b40d4abbb349113e10cf5094fbd3b7fd335ea55215ddcbf09ba60b","total_supply_base_units":"49070704221232013","total_supply":"49070704221.232013","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"fbdea12a-b2ec-45e6-99af-b871802b722b","quorum_log_artifact_id":"4e7addff-d1f0-4998-b4a4-1ab6d2170bc0","storage_proof_artifact_id":"e0f8e10f-4c89-404e-985c-ac13bc015295","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-07T23:12:23Z","block_number":26143717,"block_hash":"0x50b0ac6238e8d94e6fa5cb5f2a674d1fc5d43540a91f3a22a528d36dfb4608f7","total_supply_base_units":"49076309199800253","total_supply":"49076309199.800253","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"d708ebd6-54c5-4622-a031-7434fe4992ef","quorum_log_artifact_id":"97d7a01c-6e72-454f-9b7b-5dd659b96d96","storage_proof_artifact_id":"5b6da07b-4fe7-4584-894f-2796608e8079","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-07T22:14:47Z","block_number":26143430,"block_hash":"0x13c64848f60d602bbb31be401dde54a23f8db08b8a686950a8c98c50c760749d","total_supply_base_units":"49023575965451655","total_supply":"49023575965.451655","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"2e624c93-b6a0-4eb6-a7d5-155813bef9b7","quorum_log_artifact_id":"ce710025-238e-49d5-b84c-3c356a5669e8","storage_proof_artifact_id":"9a8ee5be-c672-4919-9e25-fd63479b30f8","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-07T21:10:35Z","block_number":26143111,"block_hash":"0x6532e4a8186a2bb157f95161baedf98c31213d3fe147cf409a5913a9e23aca25","total_supply_base_units":"49012713321297686","total_supply":"49012713321.297686","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"ee0eee1d-55d6-48f2-bd11-4b3355d98111","quorum_log_artifact_id":"43ad2304-5046-4d08-96e2-3a94fa76b9c5","storage_proof_artifact_id":"44826cbe-ba78-4b90-9848-6d9800d94af6","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-07T20:13:11Z","block_number":26142825,"block_hash":"0x9dfd6c254597579b539a3e86b6a48c886e41be7c5f57526e7443c61bf9e09ac4","total_supply_base_units":"49144355426876639","total_supply":"49144355426.876639","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"c35dfa8d-e6e3-421b-a493-929d17b5bc29","quorum_log_artifact_id":"ec013b8c-4526-408d-af4f-4fc463082fdd","storage_proof_artifact_id":"d1953532-9614-44f4-a197-5f18ec1f3f57","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-07T19:15:35Z","block_number":26142537,"block_hash":"0xde321d9100c20d94042605663e16bd3f261d913e2e1dbb9e6ef233421480d3f3","total_supply_base_units":"49181551048161913","total_supply":"49181551048.161913","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"5d7fa722-f67c-4394-9670-22fac72d779d","quorum_log_artifact_id":"0a5592fe-b7ae-40bf-9151-b677f54cf81b","storage_proof_artifact_id":"be986daf-9169-40ba-b586-1165c222fd65","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-07T18:17:59Z","block_number":26142250,"block_hash":"0x23cb491fb1c957496a0f7c68e796e076cd303d6773f9b20bb46206a0b62f594c","total_supply_base_units":"49175789128485793","total_supply":"49175789128.485793","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"8202b5eb-9021-4b7b-8fb7-8bff8d5490ae","quorum_log_artifact_id":"63992831-563d-478d-be90-4fe025a0a7bc","storage_proof_artifact_id":"e034ed99-fa7e-4161-8792-5ef85ee88690","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-07T17:13:59Z","block_number":26141931,"block_hash":"0xc126ab003f36ef99a8892772e88bc90ce4da84784f056c4161c5784827e95b94","total_supply_base_units":"49237650160853029","total_supply":"49237650160.853029","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"86320e41-5afe-4b2c-922c-684db1c4f1b8","quorum_log_artifact_id":"251a0154-5a97-4967-a41e-bfa4adbefc98","storage_proof_artifact_id":"2f1fa271-9489-4333-9656-b499fea9903d","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-07T16:16:23Z","block_number":26141644,"block_hash":"0x8de21f3bcc36905caf13df52ce24bb845aa956f15bc8551fba00d8d5ca41e7a2","total_supply_base_units":"49183918567264634","total_supply":"49183918567.264634","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"3b3e2723-6155-473c-9eaf-4eaaa76f161f","quorum_log_artifact_id":"c996410e-e481-436c-9e86-fcec81d918c0","storage_proof_artifact_id":"45b45dda-ae7a-4f4b-9a18-755ed7a34577","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-07T15:18:47Z","block_number":26141356,"block_hash":"0x7e51ce0d2511c48f375b9f904c4e87e3fbf1cbfc017ba4609050306da17c9b52","total_supply_base_units":"49097278804229778","total_supply":"49097278804.229778","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"67c18881-79e2-4714-9954-76f9a131bab2","quorum_log_artifact_id":"527f8cbb-e4d6-4f42-81d3-9dae20bd4448","storage_proof_artifact_id":"aafc9d77-11dc-4492-9c06-5db957eb6d44","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-07T14:14:47Z","block_number":26141037,"block_hash":"0xc5fab02c9764106bd7d0a1d6a11aab0808029ab77a9541d3c4756f0663cc0820","total_supply_base_units":"49107023333712208","total_supply":"49107023333.712208","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"e73b3ff8-f481-42cf-a990-23dd1355b223","quorum_log_artifact_id":"a44ef62d-75b3-4673-b142-240e2e098fd1","storage_proof_artifact_id":"a1891726-faf1-4202-aec6-f10eb768aaec","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-07T13:17:11Z","block_number":26140753,"block_hash":"0x6eba12bbbc8f4c5eabfb56e9939041878d5017176ae278cbf1e57a91be29b3ea","total_supply_base_units":"49145203942071579","total_supply":"49145203942.071579","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"8319cc21-92c6-4085-8cd6-901f8bb8d8f4","quorum_log_artifact_id":"dd751a98-e722-49cb-b21a-2c83fa1fdb87","storage_proof_artifact_id":"220ec2d5-11fd-45a6-bca5-8b551dd078e1","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-07T12:13:11Z","block_number":26140433,"block_hash":"0xd94bca0b02be9839f8c9ffd1f2a15e305daf32a89cb2bd905e8d9fe6954eb641","total_supply_base_units":"49169557446760588","total_supply":"49169557446.760588","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"59b8f38d-880d-4fee-91c6-dd5a8c28b0d2","quorum_log_artifact_id":"03b5fdd7-3455-4673-9d94-7d1681267daa","storage_proof_artifact_id":"a774c510-1c6d-4ebc-97ca-bc529d40aefd","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-07T11:15:35Z","block_number":26140145,"block_hash":"0x8a2abf4e3fe2c7db707b44067ec183cfb4a61a4e2ac78522fcefc2ed3187fd45","total_supply_base_units":"49118847734621192","total_supply":"49118847734.621192","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"bb5c07c4-0610-4243-8f04-1de87df356d9","quorum_log_artifact_id":"6fee3ef5-a604-4107-a37c-9fcb4bfc536b","storage_proof_artifact_id":"0ffb7f8d-f6a2-4558-9b92-1b4d4b1d6924","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-07T10:11:35Z","block_number":26139827,"block_hash":"0x9b82fda564fc354e4e79d401d6effacba98d15ab735aa298dc8fbd53913cf2ee","total_supply_base_units":"49097034219352725","total_supply":"49097034219.352725","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"881e65ca-2268-4a2b-8e62-a9ed404853c4","quorum_log_artifact_id":"ccbe88c7-325e-47be-8756-c268c003527c","storage_proof_artifact_id":"8fae763c-affe-4652-8df6-325f2307d5e8","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-07T09:20:23Z","block_number":26139572,"block_hash":"0xcac415d3b254028950154284fe08895f9e8134043da2f98d09a7398ca96d1695","total_supply_base_units":"49082542543247805","total_supply":"49082542543.247805","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"91a4101d-01b2-44e9-9b4e-34d6410756e1","quorum_log_artifact_id":"840e8314-1243-4246-b1a2-cfbeb4a7a3eb","storage_proof_artifact_id":"e88438d1-e486-4d00-bd55-1690965977a8","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-07T08:22:47Z","block_number":26139287,"block_hash":"0x8bf56177b57fc5f9e4d88e7edd880dc7b7205f70359a91d2e18ab0e0f824ecb7","total_supply_base_units":"49052615973361429","total_supply":"49052615973.361429","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"d268b1dc-2cfa-41eb-bf6a-334499849ddd","quorum_log_artifact_id":"d3665158-7feb-4502-a905-6bcb9d74669d","storage_proof_artifact_id":"14a21025-6f1f-478f-8562-90327d721e71","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-07T07:18:47Z","block_number":26138969,"block_hash":"0xcbb9e9da8eef7c2b27930e429c3dc1fe0a8cca19fa48cb2f2c3011a190f66a3d","total_supply_base_units":"49058902573587230","total_supply":"49058902573.587230","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"821bac14-c7a7-457c-9de4-a78132bbe62c","quorum_log_artifact_id":"b3ef7c71-d537-4089-a1e5-a6810496936f","storage_proof_artifact_id":"0090fcc3-8e80-4e23-9f4f-74da7a35b0b9","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-07T06:21:11Z","block_number":26138682,"block_hash":"0xf19149815c7fb616e526c3a0745a455dc91dec5273ba19f9fd33b5d50695ab0b","total_supply_base_units":"49071696021908472","total_supply":"49071696021.908472","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"d3b763d2-e704-41dd-ba67-87db7fe4033f","quorum_log_artifact_id":"bd0d2313-68d1-4809-b4bb-d1a46f73fc2b","storage_proof_artifact_id":"aeaa04fe-8266-47b7-9345-06ed903acd1c","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-07T05:10:47Z","block_number":26138330,"block_hash":"0x4559b3a8defcd71ce37ce177187034d61bd021bd744f67e3753ed81afef10d8c","total_supply_base_units":"49083712113111285","total_supply":"49083712113.111285","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"df891b96-3c18-4f0d-98a5-768797c0f466","quorum_log_artifact_id":"30aa2a9a-506c-473e-b9a3-fba9b92677c0","storage_proof_artifact_id":"ac317ade-68f4-41bd-9433-d97879fd75cf","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-07T04:13:11Z","block_number":26138042,"block_hash":"0xc298e1b3823dcccb8b45b9ca9e3d95ce7652d545844de651c5b747e4d4ea3de1","total_supply_base_units":"49090950176013114","total_supply":"49090950176.013114","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"704291c0-38c5-47cc-8fb2-a9ebc05ba3dd","quorum_log_artifact_id":"5c39bb6e-992c-4669-bc14-0bf8f51139fd","storage_proof_artifact_id":"dc4ba1db-b74f-48a1-b930-74e333822f39","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-07T03:15:35Z","block_number":26137756,"block_hash":"0x93d3899238955434eadd8e3e1214dbf425f91bbce0d2b396c66a797ac20a7d1a","total_supply_base_units":"49147005931171138","total_supply":"49147005931.171138","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"801ef39e-ad13-44b2-8812-e0605f159acf","quorum_log_artifact_id":"90a640e4-456d-4f84-9e2a-0f7f8257c545","storage_proof_artifact_id":"67b974c3-3a43-48ad-b319-ba58b6a22388","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-07T02:17:59Z","block_number":26137468,"block_hash":"0xaa7e7e881f38bd945f9b8b41c622629edd9208c722c248894c9174c57c6dcc75","total_supply_base_units":"49149575771033555","total_supply":"49149575771.033555","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"f00206cb-01c5-46cd-814c-afe4d2e7989e","quorum_log_artifact_id":"1283851b-7ee8-4ae1-8505-f8aefeefe549","storage_proof_artifact_id":"ddf05c25-c769-4f00-af4d-343c13db4a62","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-06T19:15:35Z","block_number":26135362,"block_hash":"0x8705ab652be02802891bbdbcc434f4c865290fe1adb466a03f1d9d9478fcde11","total_supply_base_units":"49102515278902010","total_supply":"49102515278.902010","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"f2c9b316-77d1-4c03-ab13-4779b6579b14","quorum_log_artifact_id":"633039c3-992b-40df-a966-22545ee4795c","storage_proof_artifact_id":"32013481-1b77-43f3-8034-43a1cb6f853a","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-06T18:11:35Z","block_number":26135042,"block_hash":"0x6a26adc245bc2c98b4a144506a60e3dc23923fce1971eb963ec4cb98c5665247","total_supply_base_units":"49119788104327294","total_supply":"49119788104.327294","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"ed3b2e70-b6e1-4742-98a3-e9be2fbf77d7","quorum_log_artifact_id":"6c5880a4-c22a-47ec-9473-d6f59f3c33a9","storage_proof_artifact_id":"23c72c84-2336-46dd-8a14-a3d457403309","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-06T17:13:59Z","block_number":26134754,"block_hash":"0x10a40f5d25ce7021a5340d8f655c2612fb0a9a7b4ebad0628eda533d1df826f1","total_supply_base_units":"49061848023875968","total_supply":"49061848023.875968","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"c1d66921-a54a-42e2-b198-b3a55fd44c13","quorum_log_artifact_id":"0f203629-7eb5-4f45-b61b-5a37787f8840","storage_proof_artifact_id":"3825b90a-8a98-4044-8c0c-13ec529ab81b","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-06T16:16:23Z","block_number":26134467,"block_hash":"0xa1243af3defdc7499adb4865449f49a5bf891700452c422eb8b3dafbc851f8e9","total_supply_base_units":"49101721086241944","total_supply":"49101721086.241944","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"851f7f72-6529-4bee-8e83-188568163629","quorum_log_artifact_id":"a0b305f2-9e19-44c6-a16c-07aa998186a2","storage_proof_artifact_id":"40632277-8313-4261-8213-1b4d03e76556","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-06T15:12:23Z","block_number":26134148,"block_hash":"0x654a7d9717fa4739a5cbb5b615a39c04280ec0363a0ef43dcc1e96f5adc8263f","total_supply_base_units":"49115617243314776","total_supply":"49115617243.314776","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"7d46dc6d-5047-4ca8-babd-14743676bc1f","quorum_log_artifact_id":"cbaa5d9f-21fe-4bfb-b954-35afeaf740c2","storage_proof_artifact_id":"41508aa6-b90d-48aa-9cb1-2dee9ed11036","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-06T14:14:47Z","block_number":26133862,"block_hash":"0xf8704589c84f05e67289bbbc2b243fa5f665b3f3eeb0354eccde7e74bec0b2cc","total_supply_base_units":"49049126978592830","total_supply":"49049126978.592830","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"baa30bf1-ff40-47fb-9197-b7759daef683","quorum_log_artifact_id":"57a60f30-0214-4aa1-86f1-75b5c86c7f5e","storage_proof_artifact_id":"92b6afe8-0d5d-4998-990f-c128e54ff424","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-06T13:10:47Z","block_number":26133545,"block_hash":"0x65ea615624e335c6e67413a4b61671d4795237ca059e881ca7befcdb6f82aca6","total_supply_base_units":"49003774812299384","total_supply":"49003774812.299384","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"599f33aa-5078-4b91-ac6f-baa320093e81","quorum_log_artifact_id":"df3fb182-0852-4fa5-9280-ddfb153b57f4","storage_proof_artifact_id":"2315c9f1-2bad-4bb3-ab12-90d40aee5974","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-06T12:13:11Z","block_number":26133258,"block_hash":"0x96a5eec940f4184ec453db2c0fa944021da7cf999bf9d1fb31f5067cbc84a4bd","total_supply_base_units":"49023461294304983","total_supply":"49023461294.304983","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"b88bdc3c-9c19-44db-8d4c-20fed0495df2","quorum_log_artifact_id":"643905b3-7ee8-4867-b807-55241fe0b4c0","storage_proof_artifact_id":"c2c8a376-983c-4a2a-ac35-64172eea26ba","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-06T10:56:23Z","block_number":26132874,"block_hash":"0x34dfc4196568ed08dd4094bcd83c198c3277ea03027e1637bfcbde5075db42b5","total_supply_base_units":"48994073425883222","total_supply":"48994073425.883222","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"133dd712-047b-4c16-849a-045967512a32","quorum_log_artifact_id":"32500547-57a2-4b87-82c1-0592ba3b69f2","storage_proof_artifact_id":"bd5ec2fc-f0fc-481c-8f0c-45eb1f313c4e","anchor_status":"ANCHORED","provenance":null},{"time":"2026-10-06T10:11:35Z","block_number":26132652,"block_hash":"0x7c82eaf7e09997bf3ae2b9570e65043924c264c711fb303fd8a00db1eb1255be","total_supply_base_units":"48988995146175771","total_supply":"48988995146.175771","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"fe2c47ec-c860-4942-b985-9d04920fab25","quorum_log_artifact_id":"e0511f43-fd28-4e6f-9db3-982a61107e66","storage_proof_artifact_id":"0f4e5b37-b8db-4bfe-b2e6-6858c08cb827","anchor_status":"ANCHORED","provenance":null}],"latest_report":{"report_month":"2026-07","template_id":"circle-usdc-v2","issued_on":"2026-08-27","as_of_dates":["2026-07-08","2026-07-31"],"composition_as_of":"2026-07-31","composition":[{"row_kind":"TOTAL","category":"TOTAL_RESERVE","label":"TOTAL USDC RESERVE ASSETS","amount":"71904101332.000000","unit":"USD"},{"row_kind":"LIABILITY","category":"TOKEN_LIABILITY","label":"USDC in Circulation (as defined in the criteria below)","amount":"71826453410.000000","unit":"TOKEN"},{"row_kind":"CATEGORY","category":"TREASURY_REPO","label":"U.S. Treasury Repurchase Agreements","amount":"52723000000.000000","unit":"USD"},{"row_kind":"CATEGORY","category":"CASH","label":"Cash held at regulated financial institutions","amount":"10607410596.000000","unit":"USD"},{"row_kind":"CATEGORY","category":"US_TREASURY","label":"TOTAL U.S. TREASURY SECURITIES","amount":"7179080057.000000","unit":"USD"},{"row_kind":"CATEGORY","category":"CASH","label":"Cash held in Circle Reserve Fund","amount":"1003971911.000000","unit":"USD"},{"row_kind":"CATEGORY","category":"US_TREASURY","label":"TOTAL U.S. TREASURY SECURITIES (OTHER USDC RESERVE ASSETS)","amount":"499418694.000000","unit":"USD"},{"row_kind":"CATEGORY","category":"TIMING","label":"Cash due to/(owed by) Circle due to timing and settlement differences, net","amount":"80025077.000000","unit":"USD"},{"row_kind":"CATEGORY","category":"TIMING","label":"Cash due to/(owed by) Circle Reserve Fund due to timing and settlement differences, net","amount":"-188805003.000000","unit":"USD"}],"position_rows_total":48,"report_scope":"SINGLE_TOKEN","source_tier":"ISSUER_ATTESTED","assurance":"EXAMINED","engagement_type_enum":"EXAMINATION","source_sha256":"9bb3e852cc468819261b1f72bba3e8344c414f93f95765ef963aaf1e9b6ec0e2","source_url":"https://6778953.fs1.hubspotusercontent-na1.net/hubfs/6778953/USDCAttestationReports/2026/2026%20USDC_Examination%20Report%20July%2026%20(1).pdf","source_artifact_id":"4e518324-2374-405d-ac0d-bbcd93df0e8a","report_artifact_id":"7a5c5fd8-7c08-45bf-920c-c1c5d6b9bfa5"},"latest_statement":{"stated_as_of":"2026-09-10","stated_as_of_source":"SURFACE","captured_at":"2026-09-13T10:33:02.065798Z","template_id":"circle-usdc-weekly-v1","issuer_entity_name":"Circle Internet Group, Inc.","assurance":"SELF_REPORTED","engagement_type_enum":"SELF_REPORT","source_url":"https://www.circle.com/transparency","source_sha256":"ff94e5b90f6186ed82801547b75e00cdabe02a6bf3571edd8f6a62a9586857f2","source_artifact_id":"6d241f24-e0f3-40f0-b9f1-924885f664f7","statement_artifact_id":"71d2fa6b-211d-4eaf-92fc-5c3625d24fe8","figures":[{"figure_kind":"ISSUED","label":"Issued","amount":"6.660000","unit":"USD","scale":"BILLIONS","window_days":7,"network":null,"network_label":null},{"figure_kind":"ISSUED","label":"Issued","amount":"38.060000","unit":"USD","scale":"BILLIONS","window_days":30,"network":null,"network_label":null},{"figure_kind":"ISSUED","label":"Issued","amount":"334.680000","unit":"USD","scale":"BILLIONS","window_days":365,"network":null,"network_label":null},{"figure_kind":"REDEEMED","label":"Redeemed","amount":"6.910000","unit":"USD","scale":"BILLIONS","window_days":7,"network":null,"network_label":null},{"figure_kind":"REDEEMED","label":"Redeemed","amount":"36.040000","unit":"USD","scale":"BILLIONS","window_days":30,"network":null,"network_label":null},{"figure_kind":"REDEEMED","label":"Redeemed","amount":"332.880000","unit":"USD","scale":"BILLIONS","window_days":365,"network":null,"network_label":null},{"figure_kind":"TOKENS_IN_CIRCULATION","label":"In circulation","amount":"74.060000","unit":"USD","scale":"BILLIONS","window_days":null,"network":null,"network_label":null},{"figure_kind":"TOTAL_RESERVES","label":"Total Reserves","amount":"74.230000","unit":"USD","scale":"BILLIONS","window_days":null,"network":null,"network_label":null}]},"coverage_series":[{"as_of":"2026-07-31","report_month":"2026-07","total_reserve_usd":"71904101332.000000","tokens_outstanding":"71826453410.000000","coverage_ratio":"1.001081","source_tier":"ISSUER_ATTESTED","source_sha256":"9bb3e852cc468819261b1f72bba3e8344c414f93f95765ef963aaf1e9b6ec0e2","source_url":"https://6778953.fs1.hubspotusercontent-na1.net/hubfs/6778953/USDCAttestationReports/2026/2026%20USDC_Examination%20Report%20July%2026%20(1).pdf","report_artifact_id":"7a5c5fd8-7c08-45bf-920c-c1c5d6b9bfa5"}],"reconciliations":[{"as_of":"2026-07-31","attested_scope":"TOTAL","attested_supply":"71826453410.000000","measured_supply":"49437087942.857481","measured_at":"2026-07-31T23:58:59Z","measured_block":25656287,"measured_tier":"STORAGE_PROVEN","measured_artifact_id":"69ae6519-14cf-47e1-80bc-d8305d1eec59","pairing_offset_h":0.0,"cutoff_at":"2026-07-31T23:59:00Z","delta":null,"delta_ratio":null,"eth_share_of_attested":"0.688285","status":"WITHIN_BOUND","tolerance":"0.005","recon_window_h":0.25,"measurement_basis":"CUTOFF_READ","no_verdict_reason":null,"measured_chains":[{"chain":"ethereum","source":"CUTOFF_READ","supply":"49437087942.857481","block_number":25656287,"measured_at":"2026-07-31T23:58:59Z","tier":"STORAGE_PROVEN","artifact_id":"69ae6519-14cf-47e1-80bc-d8305d1eec59"}],"unread_chains":[]},{"as_of":"2026-07-08","attested_scope":"TOTAL","attested_supply":"73083964102.000000","measured_supply":"50687550635.454289","measured_at":"2026-07-08T23:58:59Z","measured_block":25491291,"measured_tier":"STORAGE_PROVEN","measured_artifact_id":"84a074de-2604-4d88-8628-0b8155fb65c2","pairing_offset_h":0.0,"cutoff_at":"2026-07-08T23:59:00Z","delta":null,"delta_ratio":null,"eth_share_of_attested":"0.693552","status":"WITHIN_BOUND","tolerance":"0.005","recon_window_h":0.25,"measurement_basis":"CUTOFF_READ","no_verdict_reason":null,"measured_chains":[{"chain":"ethereum","source":"CUTOFF_READ","supply":"50687550635.454289","block_number":25491291,"measured_at":"2026-07-08T23:58:59Z","tier":"STORAGE_PROVEN","artifact_id":"84a074de-2604-4d88-8628-0b8155fb65c2"}],"unread_chains":[]},{"as_of":"2026-06-30","attested_scope":"TOTAL","attested_supply":"73268560097.000000","measured_supply":"50892445181.623378","measured_at":"2026-06-30T23:58:59Z","measured_block":25433933,"measured_tier":"STORAGE_PROVEN","measured_artifact_id":"730aace1-ad2f-49fb-9649-f846473a5d82","pairing_offset_h":0.0,"cutoff_at":"2026-06-30T23:59:00Z","delta":null,"delta_ratio":null,"eth_share_of_attested":"0.694601","status":"WITHIN_BOUND","tolerance":"0.005","recon_window_h":0.25,"measurement_basis":"CUTOFF_READ","no_verdict_reason":null,"measured_chains":[{"chain":"ethereum","source":"CUTOFF_READ","supply":"50892445181.623378","block_number":25433933,"measured_at":"2026-06-30T23:58:59Z","tier":"STORAGE_PROVEN","artifact_id":"730aace1-ad2f-49fb-9649-f846473a5d82"}],"unread_chains":[]},{"as_of":"2026-06-02","attested_scope":"TOTAL","attested_supply":"75812529265.000000","measured_supply":"52089966729.327782","measured_at":"2026-06-02T23:58:59Z","measured_block":25233131,"measured_tier":"STORAGE_PROVEN","measured_artifact_id":"3ccb7899-74e5-44bc-8bd3-f63575bb536c","pairing_offset_h":0.0,"cutoff_at":"2026-06-02T23:59:00Z","delta":null,"delta_ratio":null,"eth_share_of_attested":"0.687089","status":"WITHIN_BOUND","tolerance":"0.005","recon_window_h":0.25,"measurement_basis":"CUTOFF_READ","no_verdict_reason":null,"measured_chains":[{"chain":"ethereum","source":"CUTOFF_READ","supply":"52089966729.327782","block_number":25233131,"measured_at":"2026-06-02T23:58:59Z","tier":"STORAGE_PROVEN","artifact_id":"3ccb7899-74e5-44bc-8bd3-f63575bb536c"}],"unread_chains":[]},{"as_of":"2026-05-29","attested_scope":"TOTAL","attested_supply":"75885403148.000000","measured_supply":"52473721610.711629","measured_at":"2026-05-29T23:58:59Z","measured_block":25204459,"measured_tier":"STORAGE_PROVEN","measured_artifact_id":"01c5685b-8b9d-4afd-9d00-497af44658f9","pairing_offset_h":0.0,"cutoff_at":"2026-05-29T23:59:00Z","delta":null,"delta_ratio":null,"eth_share_of_attested":"0.691486","status":"WITHIN_BOUND","tolerance":"0.005","recon_window_h":0.25,"measurement_basis":"CUTOFF_READ","no_verdict_reason":null,"measured_chains":[{"chain":"ethereum","source":"CUTOFF_READ","supply":"52473721610.711629","block_number":25204459,"measured_at":"2026-05-29T23:58:59Z","tier":"STORAGE_PROVEN","artifact_id":"01c5685b-8b9d-4afd-9d00-497af44658f9"}],"unread_chains":[]},{"as_of":"2026-05-05","attested_scope":"TOTAL","attested_supply":"77963911020.000000","measured_supply":"55025941610.258555","measured_at":"2026-05-05T23:58:59Z","measured_block":25032250,"measured_tier":"STORAGE_PROVEN","measured_artifact_id":"7e023b9e-78cb-4053-a4f9-3e09a16cc513","pairing_offset_h":0.0,"cutoff_at":"2026-05-05T23:59:00Z","delta":null,"delta_ratio":null,"eth_share_of_attested":"0.705787","status":"WITHIN_BOUND","tolerance":"0.005","recon_window_h":0.25,"measurement_basis":"CUTOFF_READ","no_verdict_reason":null,"measured_chains":[{"chain":"ethereum","source":"CUTOFF_READ","supply":"55025941610.258555","block_number":25032250,"measured_at":"2026-05-05T23:58:59Z","tier":"STORAGE_PROVEN","artifact_id":"7e023b9e-78cb-4053-a4f9-3e09a16cc513"}],"unread_chains":[]},{"as_of":"2026-04-30","attested_scope":"TOTAL","attested_supply":"77047590794.000000","measured_supply":"54162976742.248704","measured_at":"2026-04-30T23:58:59Z","measured_block":24996362,"measured_tier":"STORAGE_PROVEN","measured_artifact_id":"26a91bd1-0d4c-420d-a302-a02dd67b67df","pairing_offset_h":0.0,"cutoff_at":"2026-04-30T23:59:00Z","delta":null,"delta_ratio":null,"eth_share_of_attested":"0.702981","status":"WITHIN_BOUND","tolerance":"0.005","recon_window_h":0.25,"measurement_basis":"CUTOFF_READ","no_verdict_reason":null,"measured_chains":[{"chain":"ethereum","source":"CUTOFF_READ","supply":"54162976742.248704","block_number":24996362,"measured_at":"2026-04-30T23:58:59Z","tier":"STORAGE_PROVEN","artifact_id":"26a91bd1-0d4c-420d-a302-a02dd67b67df"}],"unread_chains":[]},{"as_of":"2026-04-06","attested_scope":"TOTAL","attested_supply":"77745231766.000000","measured_supply":"55012288346.620598","measured_at":"2026-04-06T23:58:59Z","measured_block":24824072,"measured_tier":"STORAGE_PROVEN","measured_artifact_id":"cfb85b24-cb0f-494f-b5cc-b3f478257a5d","pairing_offset_h":0.0,"cutoff_at":"2026-04-06T23:59:00Z","delta":null,"delta_ratio":null,"eth_share_of_attested":"0.707597","status":"WITHIN_BOUND","tolerance":"0.005","recon_window_h":0.25,"measurement_basis":"CUTOFF_READ","no_verdict_reason":null,"measured_chains":[{"chain":"ethereum","source":"CUTOFF_READ","supply":"55012288346.620598","block_number":24824072,"measured_at":"2026-04-06T23:58:59Z","tier":"STORAGE_PROVEN","artifact_id":"cfb85b24-cb0f-494f-b5cc-b3f478257a5d"}],"unread_chains":[]},{"as_of":"2026-03-31","attested_scope":"TOTAL","attested_supply":"77049290538.000000","measured_supply":"54529568190.488517","measured_at":"2026-03-31T23:58:59Z","measured_block":24781021,"measured_tier":"STORAGE_PROVEN","measured_artifact_id":"29393c46-9831-4a9f-ad0b-d4754c2c4abe","pairing_offset_h":0.0,"cutoff_at":"2026-03-31T23:59:00Z","delta":null,"delta_ratio":null,"eth_share_of_attested":"0.707723","status":"WITHIN_BOUND","tolerance":"0.005","recon_window_h":0.25,"measurement_basis":"CUTOFF_READ","no_verdict_reason":null,"measured_chains":[{"chain":"ethereum","source":"CUTOFF_READ","supply":"54529568190.488517","block_number":24781021,"measured_at":"2026-03-31T23:58:59Z","tier":"STORAGE_PROVEN","artifact_id":"29393c46-9831-4a9f-ad0b-d4754c2c4abe"}],"unread_chains":[]},{"as_of":"2026-03-11","attested_scope":"TOTAL","attested_supply":"78681023356.000000","measured_supply":"55563772770.075531","measured_at":"2026-03-11T23:58:59Z","measured_block":24637655,"measured_tier":"STORAGE_PROVEN","measured_artifact_id":"196d7908-6c3e-42fb-a10a-2c389fa92e5f","pairing_offset_h":0.0,"cutoff_at":"2026-03-11T23:59:00Z","delta":null,"delta_ratio":null,"eth_share_of_attested":"0.706190","status":"WITHIN_BOUND","tolerance":"0.005","recon_window_h":0.25,"measurement_basis":"CUTOFF_READ","no_verdict_reason":null,"measured_chains":[{"chain":"ethereum","source":"CUTOFF_READ","supply":"55563772770.075531","block_number":24637655,"measured_at":"2026-03-11T23:58:59Z","tier":"STORAGE_PROVEN","artifact_id":"196d7908-6c3e-42fb-a10a-2c389fa92e5f"}],"unread_chains":[]},{"as_of":"2026-02-27","attested_scope":"TOTAL","attested_supply":"75109039300.000000","measured_supply":"52958170628.366031","measured_at":"2026-02-27T23:58:59Z","measured_block":24551706,"measured_tier":"STORAGE_PROVEN","measured_artifact_id":"6be19585-1a22-4f62-91cf-9981267d9cce","pairing_offset_h":0.0,"cutoff_at":"2026-02-27T23:59:00Z","delta":null,"delta_ratio":null,"eth_share_of_attested":"0.705084","status":"WITHIN_BOUND","tolerance":"0.005","recon_window_h":0.25,"measurement_basis":"CUTOFF_READ","no_verdict_reason":null,"measured_chains":[{"chain":"ethereum","source":"CUTOFF_READ","supply":"52958170628.366031","block_number":24551706,"measured_at":"2026-02-27T23:58:59Z","tier":"STORAGE_PROVEN","artifact_id":"6be19585-1a22-4f62-91cf-9981267d9cce"}],"unread_chains":[]},{"as_of":"2026-02-19","attested_scope":"TOTAL","attested_supply":"73735407256.000000","measured_supply":"51769042464.562721","measured_at":"2026-02-19T23:58:59Z","measured_block":24494330,"measured_tier":"STORAGE_PROVEN","measured_artifact_id":"688eaa43-7ca4-45c3-b386-e1d11ae113a7","pairing_offset_h":0.0,"cutoff_at":"2026-02-19T23:59:00Z","delta":null,"delta_ratio":null,"eth_share_of_attested":"0.702092","status":"WITHIN_BOUND","tolerance":"0.005","recon_window_h":0.25,"measurement_basis":"CUTOFF_READ","no_verdict_reason":null,"measured_chains":[{"chain":"ethereum","source":"CUTOFF_READ","supply":"51769042464.562721","block_number":24494330,"measured_at":"2026-02-19T23:58:59Z","tier":"STORAGE_PROVEN","artifact_id":"688eaa43-7ca4-45c3-b386-e1d11ae113a7"}],"unread_chains":[]},{"as_of":"2026-01-30","attested_scope":"TOTAL","attested_supply":"69954717486.000000","measured_supply":"48317768344.803245","measured_at":"2026-01-30T23:58:59Z","measured_block":24351122,"measured_tier":"STORAGE_PROVEN","measured_artifact_id":"158255c4-3e42-4597-8713-8c462a281f3e","pairing_offset_h":0.0,"cutoff_at":"2026-01-30T23:59:00Z","delta":null,"delta_ratio":null,"eth_share_of_attested":"0.690701","status":"WITHIN_BOUND","tolerance":"0.005","recon_window_h":0.25,"measurement_basis":"CUTOFF_READ","no_verdict_reason":null,"measured_chains":[{"chain":"ethereum","source":"CUTOFF_READ","supply":"48317768344.803245","block_number":24351122,"measured_at":"2026-01-30T23:58:59Z","tier":"STORAGE_PROVEN","artifact_id":"158255c4-3e42-4597-8713-8c462a281f3e"}],"unread_chains":[]},{"as_of":"2026-01-16","attested_scope":"TOTAL","attested_supply":"75898717670.000000","measured_supply":"52933813813.953075","measured_at":"2026-01-16T23:58:59Z","measured_block":24250732,"measured_tier":"STORAGE_PROVEN","measured_artifact_id":"75615c15-cc68-4de7-843c-7ecc4d20c066","pairing_offset_h":0.0,"cutoff_at":"2026-01-16T23:59:00Z","delta":null,"delta_ratio":null,"eth_share_of_attested":"0.697427","status":"WITHIN_BOUND","tolerance":"0.005","recon_window_h":0.25,"measurement_basis":"CUTOFF_READ","no_verdict_reason":null,"measured_chains":[{"chain":"ethereum","source":"CUTOFF_READ","supply":"52933813813.953075","block_number":24250732,"measured_at":"2026-01-16T23:58:59Z","tier":"STORAGE_PROVEN","artifact_id":"75615c15-cc68-4de7-843c-7ecc4d20c066"}],"unread_chains":[]},{"as_of":"2025-12-31","attested_scope":"TOTAL","attested_supply":"75266033823.000000","measured_supply":"51728439223.394058","measured_at":"2025-12-31T23:58:59Z","measured_block":24136047,"measured_tier":"STORAGE_PROVEN","measured_artifact_id":"0153264f-2f02-40e4-b652-d46c82ac2f93","pairing_offset_h":0.0,"cutoff_at":"2025-12-31T23:59:00Z","delta":null,"delta_ratio":null,"eth_share_of_attested":"0.687275","status":"WITHIN_BOUND","tolerance":"0.005","recon_window_h":0.25,"measurement_basis":"CUTOFF_READ","no_verdict_reason":null,"measured_chains":[{"chain":"ethereum","source":"CUTOFF_READ","supply":"51728439223.394058","block_number":24136047,"measured_at":"2025-12-31T23:58:59Z","tier":"STORAGE_PROVEN","artifact_id":"0153264f-2f02-40e4-b652-d46c82ac2f93"}],"unread_chains":[]},{"as_of":"2025-12-26","attested_scope":"TOTAL","attested_supply":"76404636239.000000","measured_supply":"51933004371.350524","measured_at":"2025-12-26T23:58:59Z","measured_block":24100240,"measured_tier":"STORAGE_PROVEN","measured_artifact_id":"9d550fdc-c862-4108-bd85-14ecbd0adda2","pairing_offset_h":0.0,"cutoff_at":"2025-12-26T23:59:00Z","delta":null,"delta_ratio":null,"eth_share_of_attested":"0.679710","status":"WITHIN_BOUND","tolerance":"0.005","recon_window_h":0.25,"measurement_basis":"CUTOFF_READ","no_verdict_reason":null,"measured_chains":[{"chain":"ethereum","source":"CUTOFF_READ","supply":"51933004371.350524","block_number":24100240,"measured_at":"2025-12-26T23:58:59Z","tier":"STORAGE_PROVEN","artifact_id":"9d550fdc-c862-4108-bd85-14ecbd0adda2"}],"unread_chains":[]},{"as_of":"2025-11-28","attested_scope":"TOTAL","attested_supply":"76435499580.000000","measured_supply":"52521581536.676481","measured_at":"2025-11-28T23:58:59Z","measured_block":23900597,"measured_tier":"STORAGE_PROVEN","measured_artifact_id":"19624ea2-0e1b-4d54-9310-37a465f52e29","pairing_offset_h":0.0,"cutoff_at":"2025-11-28T23:59:00Z","delta":null,"delta_ratio":null,"eth_share_of_attested":"0.687136","status":"WITHIN_BOUND","tolerance":"0.005","recon_window_h":0.25,"measurement_basis":"CUTOFF_READ","no_verdict_reason":null,"measured_chains":[{"chain":"ethereum","source":"CUTOFF_READ","supply":"52521581536.676481","block_number":23900597,"measured_at":"2025-11-28T23:58:59Z","tier":"STORAGE_PROVEN","artifact_id":"19624ea2-0e1b-4d54-9310-37a465f52e29"}],"unread_chains":[]},{"as_of":"2025-11-03","attested_scope":"TOTAL","attested_supply":"75470267265.000000","measured_supply":"51483824444.295890","measured_at":"2025-11-03T23:58:59Z","measured_block":23722230,"measured_tier":"STORAGE_PROVEN","measured_artifact_id":"eedcdf25-20d1-44c2-b5af-c985ae179f40","pairing_offset_h":0.0,"cutoff_at":"2025-11-03T23:59:00Z","delta":null,"delta_ratio":null,"eth_share_of_attested":"0.682174","status":"WITHIN_BOUND","tolerance":"0.005","recon_window_h":0.25,"measurement_basis":"CUTOFF_READ","no_verdict_reason":null,"measured_chains":[{"chain":"ethereum","source":"CUTOFF_READ","supply":"51483824444.295890","block_number":23722230,"measured_at":"2025-11-03T23:58:59Z","tier":"STORAGE_PROVEN","artifact_id":"eedcdf25-20d1-44c2-b5af-c985ae179f40"}],"unread_chains":[]},{"as_of":"2025-10-31","attested_scope":"TOTAL","attested_supply":"75812280166.000000","measured_supply":"51460186772.953070","measured_at":"2025-10-31T23:58:59Z","measured_block":23700761,"measured_tier":"STORAGE_PROVEN","measured_artifact_id":"f5b1ad01-f28b-4456-9ce6-998bbded5d2e","pairing_offset_h":0.0,"cutoff_at":"2025-10-31T23:59:00Z","delta":null,"delta_ratio":null,"eth_share_of_attested":"0.678784","status":"WITHIN_BOUND","tolerance":"0.005","recon_window_h":0.25,"measurement_basis":"CUTOFF_READ","no_verdict_reason":null,"measured_chains":[{"chain":"ethereum","source":"CUTOFF_READ","supply":"51460186772.953070","block_number":23700761,"measured_at":"2025-10-31T23:58:59Z","tier":"STORAGE_PROVEN","artifact_id":"f5b1ad01-f28b-4456-9ce6-998bbded5d2e"}],"unread_chains":[]},{"as_of":"2025-10-13","attested_scope":"TOTAL","attested_supply":"75722097497.000000","measured_supply":"47383137161.437630","measured_at":"2025-10-13T23:58:59Z","measured_block":23572220,"measured_tier":"STORAGE_PROVEN","measured_artifact_id":"4e81a687-9dbc-4b51-b4d6-4ff594c7e2ea","pairing_offset_h":0.0,"cutoff_at":"2025-10-13T23:59:00Z","delta":null,"delta_ratio":null,"eth_share_of_attested":"0.625750","status":"WITHIN_BOUND","tolerance":"0.005","recon_window_h":0.25,"measurement_basis":"CUTOFF_READ","no_verdict_reason":null,"measured_chains":[{"chain":"ethereum","source":"CUTOFF_READ","supply":"47383137161.437630","block_number":23572220,"measured_at":"2025-10-13T23:58:59Z","tier":"STORAGE_PROVEN","artifact_id":"4e81a687-9dbc-4b51-b4d6-4ff594c7e2ea"}],"unread_chains":[]},{"as_of":"2025-09-30","attested_scope":"TOTAL","attested_supply":"73748934193.000000","measured_supply":"48347891011.454873","measured_at":"2025-09-30T23:58:59Z","measured_block":23479238,"measured_tier":"STORAGE_PROVEN","measured_artifact_id":"9aa7e9fa-b613-42cf-8feb-47d0769ed4a2","pairing_offset_h":0.0,"cutoff_at":"2025-09-30T23:59:00Z","delta":null,"delta_ratio":null,"eth_share_of_attested":"0.655574","status":"WITHIN_BOUND","tolerance":"0.005","recon_window_h":0.25,"measurement_basis":"CUTOFF_READ","no_verdict_reason":null,"measured_chains":[{"chain":"ethereum","source":"CUTOFF_READ","supply":"48347891011.454873","block_number":23479238,"measured_at":"2025-09-30T23:58:59Z","tier":"STORAGE_PROVEN","artifact_id":"9aa7e9fa-b613-42cf-8feb-47d0769ed4a2"}],"unread_chains":[]},{"as_of":"2025-09-18","attested_scope":"TOTAL","attested_supply":"74225102864.000000","measured_supply":"49464223399.017807","measured_at":"2025-09-18T23:58:59Z","measured_block":23393394,"measured_tier":"STORAGE_PROVEN","measured_artifact_id":"9a0fa982-5478-4b6a-946e-be330579ee81","pairing_offset_h":0.0,"cutoff_at":"2025-09-18T23:59:00Z","delta":null,"delta_ratio":null,"eth_share_of_attested":"0.666408","status":"WITHIN_BOUND","tolerance":"0.005","recon_window_h":0.25,"measurement_basis":"CUTOFF_READ","no_verdict_reason":null,"measured_chains":[{"chain":"ethereum","source":"CUTOFF_READ","supply":"49464223399.017807","block_number":23393394,"measured_at":"2025-09-18T23:58:59Z","tier":"STORAGE_PROVEN","artifact_id":"9a0fa982-5478-4b6a-946e-be330579ee81"}],"unread_chains":[]},{"as_of":"2025-08-29","attested_scope":"TOTAL","attested_supply":"71384711725.000000","measured_supply":"47166774422.287946","measured_at":"2025-08-29T23:58:59Z","measured_block":23250220,"measured_tier":"STORAGE_PROVEN","measured_artifact_id":"bb4830a0-7b5e-44b6-a8cf-f2f9bf37acfd","pairing_offset_h":0.0,"cutoff_at":"2025-08-29T23:59:00Z","delta":null,"delta_ratio":null,"eth_share_of_attested":"0.660741","status":"WITHIN_BOUND","tolerance":"0.005","recon_window_h":0.25,"measurement_basis":"CUTOFF_READ","no_verdict_reason":null,"measured_chains":[{"chain":"ethereum","source":"CUTOFF_READ","supply":"47166774422.287946","block_number":23250220,"measured_at":"2025-08-29T23:58:59Z","tier":"STORAGE_PROVEN","artifact_id":"bb4830a0-7b5e-44b6-a8cf-f2f9bf37acfd"}],"unread_chains":[]},{"as_of":"2025-08-04","attested_scope":"TOTAL","attested_supply":"64198138583.000000","measured_supply":"42073474651.115003","measured_at":"2025-08-04T23:58:59Z","measured_block":23071140,"measured_tier":"STORAGE_PROVEN","measured_artifact_id":"4438222b-9ca8-4240-b782-8af118379272","pairing_offset_h":0.0,"cutoff_at":"2025-08-04T23:59:00Z","delta":null,"delta_ratio":null,"eth_share_of_attested":"0.655369","status":"WITHIN_BOUND","tolerance":"0.005","recon_window_h":0.25,"measurement_basis":"CUTOFF_READ","no_verdict_reason":null,"measured_chains":[{"chain":"ethereum","source":"CUTOFF_READ","supply":"42073474651.115003","block_number":23071140,"measured_at":"2025-08-04T23:58:59Z","tier":"STORAGE_PROVEN","artifact_id":"4438222b-9ca8-4240-b782-8af118379272"}],"unread_chains":[]}],"report_score":{"kind":"REPORT","rubric_version":"tb21-disclosure-v4","scored_at":"2026-10-03T22:36:23.740668Z","met_count":9,"dimension_count":11,"dimensions":[{"dimension":"accountant_named","met":false,"fact":"NOT_IN_TEXT_LAYER","fact_source":"attestation_reports.accountant_name","what_would_change_it":"Changes when a published report names the accounting firm that performed the engagement in the document itself, rather than only in a press release or on a web page."},{"dimension":"engagement_standard_cited","met":true,"fact":"attestation standards established by the American Institute of Certified Public Accountants","fact_source":"attestation_reports.engagement_standard_text","what_would_change_it":"Changes when the report cites, in its own words, the professional standard the engagement was performed under."},{"dimension":"engagement_type_stated","met":true,"fact":"examined","fact_source":"attestation_reports.engagement_type","what_would_change_it":"Changes when the report states what kind of engagement produced it — an examination, agreed-upon procedures, or an audit — rather than leaving a reader to infer it."},{"dimension":"document_dated","met":true,"fact":"2026-08-27","fact_source":"attestation_reports.issued_on","what_would_change_it":"Changes when the report carries its own issue date, so a reader can measure how long after the period it covers the report was published."},{"dimension":"publication_lag_measurable_and_within","met":true,"fact":"27 days","fact_source":"attestation_reports.issued_on - max(as_of_dates)","what_would_change_it":"Changes when a report is issued within 45 days of the latest date it covers. A report with no issue date cannot be measured at all, and is counted as not met rather than guessed at."},{"dimension":"category_breakdown","met":true,"fact":"14","fact_source":"reserve_composition[row_kind=CATEGORY] count","what_would_change_it":"Changes when the report breaks the reserve down into categories of instrument instead of stating one total."},{"dimension":"position_itemization","met":true,"fact":"30","fact_source":"reserve_composition[row_kind=POSITION] count","what_would_change_it":"Changes when the report itemizes individual positions inside those categories."},{"dimension":"instrument_identifiers","met":true,"fact":"30","fact_source":"reserve_composition[row_kind=POSITION, cusip NOT NULL] count","what_would_change_it":"Changes when itemized positions carry instrument identifiers such as CUSIPs, so a reader can look a holding up independently."},{"dimension":"per_chain_liability","met":false,"fact":"0","fact_source":"reserve_composition[category=TOKEN_LIABILITY, row_kind=POSITION] count","what_would_change_it":"Changes when the report states the token liability outstanding per network, instead of one consolidated figure across all of them."},{"dimension":"arithmetic_cross_foots","met":true,"fact":"12","fact_source":"ATTESTATION_REPORT artifact checks[] (numeric equality) count","what_would_change_it":"Changes when the report states totals a reader can re-add from its own line items, and those restatements are captured when the document is parsed."},{"dimension":"single_token_scope","met":true,"fact":"SINGLE_TOKEN","fact_source":"attestation_reports.report_scope","what_would_change_it":"Changes when a report covers one token on its own. A report covering several tokens together states no per-token scope, which is a scope fact about the document and not a shortcoming of the issuer."}],"score_artifact_id":"12f56ae9-6738-4132-a4c9-4485d32841ce","anchor_status":"ANCHORED"},"series_score":{"kind":"SERIES","rubric_version":"tb21-disclosure-v4","scored_at":"2026-10-03T22:36:23.740668Z","met_count":2,"dimension_count":3,"dimensions":[{"dimension":"cadence_stated_by_issuer","met":false,"fact":"OBSERVED","fact_source":"attestation_sources.cadence_basis","what_would_change_it":"Changes when the issuer publishes the reporting cadence it intends to keep, so the expected schedule is the issuer's own statement rather than our inference from past reports."},{"dimension":"series_gap_free","met":true,"fact":"25 of 25 expected MONTHLY periods, 2 of them published by the issuer; not readable here","fact_source":"attestation_reports.report_month + published_unreadable_periods.period vs attestation_sources.expected_cadence","what_would_change_it":"Changes when every period due under that stated cadence carries at least one published report. Publishing more often than the stated cadence is not a gap."},{"dimension":"series_depth","met":true,"fact":"23 active reports (threshold 6)","fact_source":"attestation_reports active count","what_would_change_it":"Changes when at least 6 published reports are on record for the token — the shortest series over which regularity is observable rather than anecdotal."}],"score_artifact_id":"667ef290-3736-470b-99bd-2f3aca525abf","anchor_status":"ANCHORED"},"corroboration":{"outcome":"CORROBORATED","reason":null,"fund_name":"Circle Reserve Fund","series_id":"S000077205","attested_labels":["TOTAL U.S. TREASURY SECURITIES","U.S. Treasury Repurchase Agreements","Cash held in Circle Reserve Fund","Cash due to/(owed by) Circle Reserve Fund due to timing and settlement differences, net"],"as_of":"2026-05-29","attested_amount":"65167217582.000000","filed_report_date":"2026-05-31","filed_net_assets":"65167217581.55","divergence_bps":"0.00","tolerance_bps":"10","window_days":7,"accession_number":"0001193125-26-258597","dataset_url":"https://www.sec.gov/files/dera/data/form-n-mfp-data-sets/20260508-20260605_nmfp.zip","dataset_sha256":"457262a60055c2e560b40aaff077f44db98d8e8c326a1584a659ffbadb3892fd","filing_artifact_id":"da875850-4f7e-45c8-aabe-9fe97ac2778d","corroboration_artifact_id":"3da020d9-60b7-468d-877f-033c4bd1cdcd","anchor_status":"ANCHORED","compared_at":"2026-07-12T04:48:18.799880Z"},"history_window_days":30,"walled_history_points":45,"first_snapshot_at":"2018-08-04T20:53:11Z","supply_series_truncated":true,"supply_series_total_available":3453,"coverage_series_truncated":true,"coverage_series_total_available":46,"reconciliations_truncated":true,"reconciliations_total_available":46,"network_slices":[],"measured_float":null,"unmeasured_context":null,"coverage_ratio_all":null,"meta":{"disclaimer":"ReserveBeat renders figures from issuer-published reports and public blockchains, verbatim and at their stated scope. It is not an auditor, makes no attestation, and states no opinion on any issuer's solvency. Nothing here is investment, trading, legal, tax, or accounting advice. No figure published here is a recommendation to hold, buy, sell, or redeem any token.","terms":"http://localhost:3781/terms@3","licence":"CC-BY-4.0: these rows are board data, free to reuse — including commercially — provided the attribution set out on the data license page travels with them.","attested_as_of":"2026-07-31","stated_as_of":"2026-09-10","measured_at":"2026-10-08T15:12:23Z","attested_as_of_max":"2026-07-31","measured_at_max":"2026-10-08T15:12:23Z","snapshot_status":"SNAPSHOT_LATE","snapshot_late_after_seconds":10800},"restatements":[],"plan_gated":[{"field":"restatements","withheld_count":81,"plan_required":"enterprise","reason":"The restatement record for this token — every superseded parse and score beside the one that replaced it — is served to accounts holding a compute-unit balance or on the enterprise plan. No correction is withheld from anyone: the same supersessions are published for every reader on the public revision log, which is the website's /revisions page and, free and unmetered, this API's GET /v1/board/revisions."}]},"summary":"GET /v1/board/tokens/USDC (served 2026-10-08T22:07:04Z)"}}}},"headers":{"ETag":{"schema":{"type":"string"}}}},"304":{"description":"Not Modified","headers":{"ETag":{"schema":{"type":"string"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"keyless","security":[{},{"ApiKeyHeader":[]}]}},"/v1/board/coverage":{"get":{"tags":["v1"],"summary":"V1 Board Coverage","operationId":"getBoardCoverage","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1BoardCoverage"}}},"headers":{"ETag":{"schema":{"type":"string"}}}},"304":{"description":"Not Modified","headers":{"ETag":{"schema":{"type":"string"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"keyless","security":[{},{"ApiKeyHeader":[]}],"parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"type":"string"}},{"name":"If-None-Match","in":"header","required":false,"schema":{"type":"string"}}]}},"/v1/board/history":{"get":{"tags":["v1"],"summary":"V1 Board History","operationId":"getBoardHistory","parameters":[{"name":"days","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"title":"Days"}},{"name":"from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"From"}},{"name":"to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"To"}},{"name":"granularity","in":"query","required":false,"schema":{"enum":["hour","day","month"],"type":"string","default":"hour","title":"Granularity"}},{"name":"symbol","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Symbol"}},{"name":"X-API-Key","in":"header","required":true,"schema":{"type":"string"}},{"name":"If-None-Match","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1BoardHistory"},"examples":{"v1_board_history_usdc_1d_day":{"value":{"review":{"status":"CURRENT","reviewed_at":"2026-09-13T06:21:08.030901Z","reviewer":"ReserveBeat","methodology_sha256":"1f8a98d4580255820063be9e1f344a0b433d0973ff15f2b407bd2c0579233060","artifact_id":"190caf34-8c0e-43dc-9552-95eb8d9eeba6","anchor_status":"ANCHORED","methodology_notice":"Since 26 September 2026 the board compares each attested supply figure only with on-chain supply at, or within minutes of, the time its report states, instead of the nearest reading inside the 72-hour window described in section 4 below. The methodology text will be revised and re-reviewed."},"tokens":[{"symbol":"USDC","chain":"ethereum","series":[],"supply":[{"time":"2026-10-08T15:12:23Z","block_number":26148499,"block_hash":"0x2f173ef7ebcb720314d122a35711b7a438abb8e88f726612401bdf6dc72461cf","total_supply_base_units":"48904588475613932","total_supply":"48904588475.613932","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"c8fd95f6-51c7-43c0-98e2-7be05931e708","quorum_log_artifact_id":"0a2c9035-290d-4792-b79c-7773d3823368","storage_proof_artifact_id":"160f86e7-f38d-4491-a07b-8ebeb724534d","anchor_status":"UNANCHORED","provenance":null},{"time":"2026-10-07T23:12:23Z","block_number":26143717,"block_hash":"0x50b0ac6238e8d94e6fa5cb5f2a674d1fc5d43540a91f3a22a528d36dfb4608f7","total_supply_base_units":"49076309199800253","total_supply":"49076309199.800253","source_tier":"STORAGE_PROVEN","snapshot_artifact_id":"d708ebd6-54c5-4622-a031-7434fe4992ef","quorum_log_artifact_id":"97d7a01c-6e72-454f-9b7b-5dd659b96d96","storage_proof_artifact_id":"5b6da07b-4fe7-4584-894f-2796608e8079","anchor_status":"ANCHORED","provenance":null}],"latest_outside_range":{"as_of":"2026-07-31","coverage_ratio":"1.001081"},"supply_latest_outside_range":null,"expected_points":2,"served_points":2,"gaps":[],"pending_points":0,"supply_buckets":[{"bucket_start":"2026-10-08T00:00:00Z","time":"2026-10-08T15:12:23Z","total_supply":"48904588475.613932"},{"bucket_start":"2026-10-07T00:00:00Z","time":"2026-10-07T23:12:23Z","total_supply":"49076309199.800253"}]}],"window_days":1,"walled_history_points":45,"granularity":"day","from":"2026-10-07","to":"2026-10-08","meta":{"disclaimer":"ReserveBeat renders figures from issuer-published reports and public blockchains, verbatim and at their stated scope. It is not an auditor, makes no attestation, and states no opinion on any issuer's solvency. Nothing here is investment, trading, legal, tax, or accounting advice. No figure published here is a recommendation to hold, buy, sell, or redeem any token.","terms":"http://localhost:3781/terms@3","licence":"CC-BY-4.0: these rows are board data, free to reuse — including commercially — provided the attribution set out on the data license page travels with them.","attested_as_of":"2026-07-31","stated_as_of":null,"measured_at":"2026-10-08T15:12:23Z","attested_as_of_max":"2026-07-31","measured_at_max":"2026-10-08T15:12:23Z","snapshot_status":null,"snapshot_late_after_seconds":null}},"summary":"GET /v1/board/history?symbol=USDC&days=1&granularity=day (served 2026-10-08T22:07:04Z)"}}}},"headers":{"ETag":{"schema":{"type":"string"}}}},"304":{"description":"Not Modified","headers":{"ETag":{"schema":{"type":"string"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"},"examples":{"plan_wall":{"value":{"detail":"Coverage history deeper than the most recent 30 days is not publicly served. Without a key, the API serves the most recent 30 days of a token's series in its one-token response, and its history endpoint answers only a request carrying a key, at any depth. Every tracked token's most recent figures remain public.","error":{"code":"plan_depth_exceeded","message":"Coverage history deeper than the most recent 30 days is not served without a key. Any API key reads it at full depth, metered in compute units. Per-period attestation reports stay free at any age, and every tracked token's most recent figures remain public.","request_id":"00000000000000000000000000000000","doc_url":"https://reservebeat.com/docs#error-plan_depth_exceeded","plan_required":"enterprise","window_days":30,"requested_days":31,"walled_history_points":null,"upgrade_url":"https://reservebeat.com/api#access","purchase_url":"https://reservebeat.com/api#access","pricing_url":"https://reservebeat.com/v1/pricing"}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"},"examples":{"rate_limited":{"value":{"detail":"rate limit exceeded (20 compute units/second; at most 200 in any 10-second window); Retry-After says when this request's compute units fit","error":{"code":"rate_limited","message":"rate limit exceeded (20 compute units/second; at most 200 in any 10-second window); Retry-After says when this request's compute units fit","request_id":"00000000000000000000000000000000","doc_url":"https://reservebeat.com/docs#error-rate_limited"}}}}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"keyed","security":[{"ApiKeyHeader":[]}]}},"/v1/board/attestations":{"get":{"tags":["v1"],"summary":"V1 Board Attestations","operationId":"listBoardAttestations","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1BoardAttestationIndex"}}},"headers":{"ETag":{"schema":{"type":"string"}}}},"304":{"description":"Not Modified","headers":{"ETag":{"schema":{"type":"string"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"keyless","security":[{},{"ApiKeyHeader":[]}],"parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"type":"string"}},{"name":"If-None-Match","in":"header","required":false,"schema":{"type":"string"}}]}},"/v1/board/attestations/{symbol}/{period}":{"get":{"tags":["v1"],"summary":"V1 Board Attestation","operationId":"getBoardAttestation","parameters":[{"name":"symbol","in":"path","required":true,"schema":{"type":"string","pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Symbol"}},{"name":"period","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","title":"Period"}},{"name":"chain","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Chain"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"type":"string"}},{"name":"If-None-Match","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1BoardAttestationPeriod"}}},"headers":{"ETag":{"schema":{"type":"string"}}}},"304":{"description":"Not Modified","headers":{"ETag":{"schema":{"type":"string"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"keyless","security":[{},{"ApiKeyHeader":[]}]}},"/v1/board/revisions":{"get":{"tags":["v1"],"summary":"V1 Board Revisions","operationId":"getBoardRevisions","parameters":[{"name":"symbol","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Symbol"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"type":"string"}},{"name":"If-None-Match","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1BoardRevisions"}}},"headers":{"ETag":{"schema":{"type":"string"}}}},"304":{"description":"Not Modified","headers":{"ETag":{"schema":{"type":"string"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"keyless","security":[{},{"ApiKeyHeader":[]}],"description":"Every correction ReserveBeat has recorded, newest first, as a supersession: the replaced record beside the record replacing it, both of their timestamps and anchors, and the reason given. It is the log the website's /revisions page shows. Pass symbol to read one token's record. It is free and unmetered: it needs no key, and a key sent with it is verified, recorded as unmetered and never charged."}},"/v1/pricing":{"get":{"tags":["v1"],"summary":"V1 Pricing","operationId":"getPricing","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1Pricing"}}},"headers":{"ETag":{"schema":{"type":"string"}}}},"304":{"description":"Not Modified","headers":{"ETag":{"schema":{"type":"string"}}}},"401":{"description":"A key was presented in X-API-Key and could not be verified: malformed, unknown, revoked or expired (error.code says which); or an Authorization: Bearer token was sent that does not verify, which is refused on every path. A request with neither is not refused 401 here, and a verified key is neither recorded nor charged: the response is the one a caller with no key gets.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"keyless","security":[{},{"ApiKeyHeader":[]}],"parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"type":"string"}},{"name":"If-None-Match","in":"header","required":false,"schema":{"type":"string"}}]}},"/v1/board/evidence/{symbol}/bundle":{"get":{"tags":["v1"],"summary":"V1 Evidence Bundle","operationId":"getEvidenceBundle","parameters":[{"name":"symbol","in":"path","required":true,"schema":{"type":"string","pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Symbol"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"type":"string"}},{"name":"If-None-Match","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"The evidence bundle (verifier/FORMAT.md v1).","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}},"headers":{"ETag":{"schema":{"type":"string"}}}},"304":{"description":"Not Modified","headers":{"ETag":{"schema":{"type":"string"}}}},"401":{"description":"A key was presented in X-API-Key and could not be verified: malformed, unknown, revoked or expired (error.code says which); or an Authorization: Bearer token was sent that does not verify, which is refused on every path. A request with neither is not refused 401 here, and a verified key is neither recorded nor charged: the response is the one a caller with no key gets.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"keyless","security":[{},{"ApiKeyHeader":[]}]}},"/v1/account/balance":{"get":{"tags":["v1"],"summary":"V1 Account Balance","operationId":"getAccountBalance","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1AccountBalance"}}},"headers":{"ETag":{"schema":{"type":"string"}}}},"304":{"description":"Not Modified","headers":{"ETag":{"schema":{"type":"string"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-reservebeat-tier":"keyed","security":[{"ApiKeyHeader":[]}],"parameters":[{"name":"X-API-Key","in":"header","required":true,"schema":{"type":"string"}},{"name":"If-None-Match","in":"header","required":false,"schema":{"type":"string"}}]}}},"components":{"schemas":{"AcceptTermsRequest":{"properties":{"accept":{"type":"boolean","title":"Accept","default":false,"description":"Must be true to record acceptance of the currently published terms; when false or omitted the request is refused and nothing is recorded."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Version","description":"Optional terms version the caller read; when present it must equal the currently published version or the request is refused, and when omitted the current version is accepted."}},"type":"object","title":"AcceptTermsRequest"},"AccountClosed":{"properties":{"closed_at":{"type":"string","format":"date-time","title":"Closed At","description":"When the account was closed (ISO 8601 date-time); from that instant every request carrying one of its sessions is refused as unauthenticated."},"keys_revoked":{"type":"integer","title":"Keys Revoked","description":"How many API keys were still live and were revoked by the close; keys revoked earlier are not counted."},"endpoints_revoked":{"type":"integer","title":"Endpoints Revoked","description":"How many webhook endpoints were not yet revoked and were revoked by the close, auto-disabled ones included; endpoints revoked earlier are not counted."},"survives":{"items":{"type":"string","enum":["account_record","revoked_key_records","revoked_endpoint_records","delivery_records","usage_records","audit_records","email_sha256"]},"type":"array","title":"Survives","description":"Everything that outlives the close, as stable names: account_record (the closed account's row, with its email address removed), revoked_key_records and revoked_endpoint_records (revocation is a flag, never a deletion), delivery_records (the webhook deliveries made to its endpoints), usage_records and audit_records (append-only, which nobody can erase), and email_sha256 (the one-way hash of the address the close removed, kept on the audit record of the close)."}},"type":"object","required":["closed_at","keys_revoked","endpoints_revoked","survives"],"title":"AccountClosed"},"AccountRecoveryResult":{"properties":{"status":{"type":"string","enum":["email_verified","password_reset","password_changed","email_changed"],"title":"Status","description":"What the completed action did: email_verified (the address is confirmed), password_reset (the new password is set; sign in with it, since a reset never signs you in), password_changed or email_changed (the account now uses the new email address; sign in with it, since every earlier session has ended)."}},"type":"object","required":["status"],"title":"AccountRecoveryResult"},"AccountSessionsRevoked":{"properties":{"status":{"type":"string","const":"sessions_revoked","title":"Status","description":"Always sessions_revoked: every account session issued before sessions_not_before, the one that made this request included, is refused from now on (401 invalid_token). Sign in again to start a new one."},"sessions_not_before":{"type":"string","format":"date-time","title":"Sessions Not Before","description":"When every earlier session was signed out (ISO 8601 date-time). A token issued by a sign-in after it works as usual."},"keys_affected":{"type":"boolean","const":false,"title":"Keys Affected","default":false,"description":"Always false: API keys are not sessions, so every live key keeps working. Revoke a key on its own to stop it."}},"type":"object","required":["status","sessions_not_before"],"title":"AccountSessionsRevoked"},"AccountSignedOut":{"properties":{"status":{"type":"string","const":"signed_out","title":"Status","description":"Always signed_out: the bearer token that made this request is refused from now until it would have expired (401 invalid_token). Your other sessions and every API key are untouched."}},"type":"object","required":["status"],"title":"AccountSignedOut"},"AgentConnectApproveRequest":{"properties":{"user_code":{"type":"string","maxLength":16,"minLength":1,"pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"User Code","description":"The code the agent showed its person, in the form XXXX-XXXX; hyphens, spaces and letter case are ignored (at most 16 characters)."},"decision":{"type":"string","enum":["approve","deny"],"title":"Decision","description":"approve to have the agent's key issued under your account with the scopes and cap sent here, or deny to refuse it; after either, the code matches no pending request."},"scopes":{"anyOf":[{"items":{"type":"string","enum":["account","board","pricing"]},"type":"array","maxItems":3,"minItems":1},{"type":"null"}],"title":"Scopes","description":"Optional: the /v1 route families the agent's key may call: account (the balance read), board (every board read, the evidence bundle included) and pricing (the price list). Omit it, or send null, for a key that may call every family; an empty list is refused. A deny ignores it."},"cu_cap_month":{"type":"integer","maximum":9007199254740991.0,"minimum":0.0,"title":"Cu Cap Month","description":"Required, and never null: the most compute units the agent's key may spend in a calendar month (UTC), counting what the free allowance and the prepaid balance pay together; a request that would pass it is refused 429 key_cap_reached. Every key issued this way carries a cap. A deny ignores the value."},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At","description":"An optional instant (ISO 8601 date-time with a time zone offset) after which the agent's key stops working; it must lie in the future both now and when the agent collects the key. Omit it for a key that never expires."}},"type":"object","required":["user_code","decision","cu_cap_month"],"title":"AgentConnectApproveRequest"},"AgentConnectDecision":{"properties":{"status":{"type":"string","enum":["approved","denied"],"title":"Status","description":"approved when the agent's next poll will collect the key (the account's key rules are checked again then), or denied when the request was refused."}},"type":"object","required":["status"],"title":"AgentConnectDecision"},"AgentConnectKey":{"properties":{"key":{"type":"string","title":"Key","description":"The full API key, in the form rb_<8-character prefix>_<32-character secret>, sent in the X-API-Key header; it is delivered only in this response, once, and is not stored, so save it now."},"key_id":{"type":"string","title":"Key Id","description":"The unique identifier of the new API key, under which it appears in its person's key list, where it can be revoked like any other key."},"key_prefix":{"type":"string","title":"Key Prefix","description":"The key's 8-character public prefix, which identifies it in its person's key list after the full key is no longer shown."},"label":{"type":"string","title":"Label","description":"The key's label: the agent_name given when the connect request was started."},"scopes":{"anyOf":[{"items":{"type":"string","enum":["account","board","pricing"]},"type":"array"},{"type":"null"}],"title":"Scopes","description":"The /v1 route families this key may call, as its person approved them: account (the balance read), board (every board read, the evidence bundle included) and pricing (the price list). Null means every family."},"cu_cap_month":{"type":"integer","title":"Cu Cap Month","description":"The most compute units this key may spend in a calendar month (UTC), as its person approved it; never null, since every key issued this way is capped."},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At","description":"When the key stops working (ISO 8601 date-time), as its person approved it; null means it never expires."}},"type":"object","required":["key","key_id","key_prefix","label","scopes","cu_cap_month","expires_at"],"title":"AgentConnectKey"},"AgentConnectRequestView":{"properties":{"agent_name":{"type":"string","title":"Agent Name","description":"The name the agent gave itself when it started the request, exactly as stated; the service does not verify it."},"scopes":{"anyOf":[{"items":{"type":"string","enum":["account","board","pricing"]},"type":"array"},{"type":"null"}],"title":"Scopes","description":"The /v1 route families the agent asked for, a starting point its person may change before approving; null when it named none."},"cu_cap_month":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cu Cap Month","description":"The monthly compute-unit cap the agent suggested, a starting point its person may change; null when it suggested none. Approving still requires a cap."},"expires_at":{"type":"string","format":"date-time","title":"Expires At","description":"When this connect request expires (ISO 8601 date-time); after it, the code matches no pending request."}},"type":"object","required":["agent_name","scopes","cu_cap_month","expires_at"],"title":"AgentConnectRequestView"},"AgentConnectStartRequest":{"properties":{"agent_name":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[^\\u0000-\\u001f\\u007f]*[^\\s\\u0000-\\u001f\\u007f][^\\u0000-\\u001f\\u007f]*$","title":"Agent Name","description":"A name for the agent, shown to its person on the approval page as stated and used as the issued key's label (1 to 64 characters after surrounding whitespace is trimmed; control characters are refused)."},"scopes":{"anyOf":[{"items":{"type":"string","enum":["account","board","pricing"]},"type":"array","maxItems":3,"minItems":1},{"type":"null"}],"title":"Scopes","description":"Optional: the /v1 route families the agent asks for: account (the balance read), board (every board read, the evidence bundle included) and pricing (the price list). Its person sees them as a starting point and decides; an empty list is refused."},"cu_cap_month":{"anyOf":[{"type":"integer","maximum":9007199254740991.0,"minimum":0.0},{"type":"null"}],"title":"Cu Cap Month","description":"Optional: a monthly compute-unit cap the agent suggests for its key. Its person sees it as a starting point and sets the cap the key gets."}},"type":"object","required":["agent_name"],"title":"AgentConnectStartRequest"},"AgentConnectStarted":{"properties":{"device_code":{"type":"string","title":"Device Code","description":"The agent's secret for this request, sent to POST /account/agent/token to collect the key. Keep it private: only user_code is for the person."},"user_code":{"type":"string","title":"User Code","description":"The code to show the agent's person, in the form XXXX-XXXX; they type it at verification_uri while signed in to their account."},"verification_uri":{"type":"string","title":"Verification Uri","description":"The page where the agent's person signs in and types user_code."},"verification_uri_complete":{"type":"string","title":"Verification Uri Complete","description":"verification_uri with user_code already filled in, for a link the person can open directly."},"expires_in":{"type":"integer","title":"Expires In","description":"Seconds until this connect request expires; after that, the device code answers expired_token and the user code matches no pending request."},"interval":{"type":"integer","title":"Interval","description":"The fewest seconds to wait between polls of POST /account/agent/token; a sooner poll is refused slow_down and adds 5 seconds to the interval."}},"type":"object","required":["device_code","user_code","verification_uri","verification_uri_complete","expires_in","interval"],"title":"AgentConnectStarted"},"AgentConnectTokenRequest":{"properties":{"device_code":{"type":"string","maxLength":128,"minLength":1,"pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Device Code","description":"The device_code from the start response."}},"type":"object","required":["device_code"],"title":"AgentConnectTokenRequest"},"ApiAccountLoginRequest":{"properties":{"email":{"type":"string","maxLength":254,"pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Email","description":"The account's email address, matched case-insensitively after surrounding whitespace is trimmed (at most 254 characters)."},"password":{"type":"string","title":"Password","description":"The account's password; a wrong address or password returns the same refusal, so the response never reveals which was wrong."}},"type":"object","required":["email","password"],"title":"ApiAccountLoginRequest"},"ApiAccountLoginResult":{"properties":{"token":{"type":"string","title":"Token","description":"A bearer token for the /account endpoints, valid for a limited time; it authorizes account management only and is not an API key for /v1 requests."},"account":{"$ref":"#/components/schemas/ApiAccountSummary","description":"The signed-in account's own summary, including its plan and terms-acceptance state as read at login."}},"type":"object","required":["token","account"],"title":"ApiAccountLoginResult"},"ApiAccountSignupAck":{"properties":{"status":{"type":"string","const":"accepted","title":"Status","default":"accepted","description":"Always \"accepted\"; the response is identical whatever address was sent and whether or not it has an account, and anything that follows arrives by email to that address."}},"type":"object","title":"ApiAccountSignupAck"},"ApiAccountSignupRequest":{"properties":{"email":{"type":"string","maxLength":254,"pattern":"^[^\\u0000-\\u001f\\u007f]*$","format":"email","title":"Email","description":"The email address to register, stored trimmed and lowercased (at most 254 characters)."},"password":{"type":"string","minLength":12,"title":"Password","description":"The password for the new account; it must be at least 12 characters long."},"accept_terms":{"type":"boolean","title":"Accept Terms","default":false,"description":"Must be true to accept the currently published terms; when false or omitted the signup is refused and no account is created."},"terms_version":{"anyOf":[{"type":"string"},{"type":"null"}],"pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Terms Version","description":"Optional terms version the caller read; when present it must equal the currently published version or the signup is refused, and when omitted the account is bound to the current version."},"utm":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Utm","description":"Optional first-touch campaign tags: utm_source, utm_medium, utm_campaign, utm_term, utm_content and referrer_host. Other keys are ignored, and a value over 200 characters is cut. The tags are stored on a new account only and never cause a refusal."}},"type":"object","required":["email","password"],"title":"ApiAccountSignupRequest"},"ApiAccountSummary":{"properties":{"id":{"type":"string","title":"Id","description":"The account's unique identifier."},"email":{"type":"string","title":"Email","description":"The account's email address as stored (trimmed and lowercased at signup)."},"active":{"type":"boolean","title":"Active","description":"Whether the account is active; an inactive account cannot sign in and its API keys are refused."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"When the account was created (ISO 8601 date-time)."},"terms_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Terms Version","description":"The terms version this account last accepted, verbatim as published at that time; null means the account has not accepted any terms version."},"terms_accepted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Terms Accepted At","description":"When the account accepted the terms version in terms_version (ISO 8601 date-time); null means no acceptance is on record."},"terms_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Terms Sha256","description":"The SHA-256 of the exact terms text this account accepted, recorded with the version and the time; null means no acceptance is on record or it was recorded before text hashes were kept."},"terms_current_version":{"type":"string","title":"Terms Current Version","description":"The terms version ReserveBeat publishes right now, which is not account state and is shown so it can be compared with terms_version."},"terms_current_sha256":{"type":"string","title":"Terms Current Sha256","description":"The SHA-256 of the terms text published right now (RFC 8785 canonical JSON of the terms_* strings in the claim library, excluding the version), shown so it can be compared with terms_sha256."},"terms_acceptance_required":{"type":"boolean","title":"Terms Acceptance Required","description":"True when terms_version differs from terms_current_version; while true no new API key or webhook endpoint can be created, but existing keys keep working and can still be revoked."},"plan":{"type":"string","enum":["free","enterprise"],"title":"Plan","description":"The contract this account is on: free for every account created through signup, or enterprise when an Enterprise contract is arranged on the account. Pay as you go is a prepaid compute-unit balance, not a plan."},"raised_api_entitlement":{"type":"boolean","title":"Raised Api Entitlement","description":"True when the account is on the enterprise plan or holds a positive prepaid compute-unit balance, read when this summary was built; a raised account is served the raised throughput, the restatement record and webhook event deliveries. Read this field rather than inferring it from plan."},"email_verified":{"type":"boolean","title":"Email Verified","description":"True once the account's email address has been confirmed by a mailed link or a completed password reset; while false no new API key or webhook endpoint can be created, and signing in, reading and revoking are unaffected."},"email_verified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Email Verified At","description":"When the account's email address was confirmed (ISO 8601 date-time); null means it has not been confirmed."},"google_linked":{"type":"boolean","title":"Google Linked","description":"True when a Google account is linked to this account because it signed in with Google; its holder can then close the account, or set a password, by confirming with that Google account instead of entering the current password."}},"type":"object","required":["id","email","active","created_at","terms_version","terms_accepted_at","terms_sha256","terms_current_version","terms_current_sha256","terms_acceptance_required","plan","raised_api_entitlement","email_verified","email_verified_at","google_linked"],"title":"ApiAccountSummary"},"ApiError":{"properties":{"detail":{"anyOf":[{"type":"string"},{"items":{"$ref":"#/components/schemas/ApiValidationIssue"},"type":"array"}],"title":"Detail","description":"The reason for the refusal: a single sentence for refusals the service raises itself, or a list of validation issues when the request did not match the schema."},"error":{"$ref":"#/components/schemas/ApiErrorBody","description":"The machine-readable half of the refusal, carried beside detail on every refusal under /v1 and /account: a stable code to branch on, the reason as one sentence, the request identifier and a link to where the code is explained."}},"type":"object","required":["detail","error"],"title":"ApiError"},"ApiErrorBody":{"properties":{"code":{"type":"string","enum":["api_key_required","api_key_invalid","api_key_revoked","api_key_expired","use_x_api_key_header","account_auth_required","invalid_token","invalid_credentials","key_scope","current_password_incorrect","email_unverified","recovery_link_invalid","terms_required","terms_version_stale","plan_depth_exceeded","plan_required","key_limit_reached","unknown_token","unknown_chain","unknown_period","already_revoked","unknown_user_code","invalid_period","validation_error","invalid_parameter","disposable_email","rate_limited","quota_exhausted","cu_balance_exhausted","key_cap_reached","authorization_pending","slow_down","access_denied","expired_token","limiter_unavailable","at_capacity","board_withheld","mail_unavailable","mail_budget_exhausted","agent_connect_unavailable","bad_request","unauthorized","forbidden","not_found","method_not_allowed","request_timeout","conflict","gone","request_too_large","request_header_too_large","internal_error","service_unavailable"],"title":"Code","description":"A stable identifier for the kind of refusal, from a closed list; branch on this rather than on the wording of detail or message.","x-enum-descriptions":["The route needs an API key and the request carried none; send it in the X-API-Key header.","The X-API-Key value is malformed, names no key, or does not match its key; check the value, or issue a new key.","The key's secret matched, but the key has been revoked; issue a new key from your account. This code is only ever sent to a caller that presented the whole key.","The key's secret matched, but the key is past the expiry chosen when it was issued; issue a new key from your account. This code is only ever sent to a caller that presented the whole key.","An API key was sent as an Authorization bearer token; send it in the X-API-Key header instead. Bearer tokens are for the account endpoints.","The account endpoint needs the bearer token that signing in returns, and the request carried none.","The account bearer token is malformed, expired, not one this service signed, or was issued before the account's password was last changed or reset; sign in again for a new token.","Sign-in was refused: the address and password do not match an active account. The response is the same whichever of the two was wrong.","The API key is valid, but its holder scoped it to other route families, so this route was refused and nothing was charged. Only the key's holder can widen its scopes, by signing in to the account; a key issued without scopes may call every route.","The current password given to change the password, or to close the account, does not match the account's password; nothing was changed. Use the password reset link instead if it is lost.","The account's email address has not been confirmed yet, so no new API key or webhook endpoint can be created for it. Open the confirmation link mailed at signup, or request a new one; signing in, reading and revoking are unaffected.","The confirmation or password-reset token is not one this service issued, has already been used, was replaced by a newer one, or has expired; request a new link.","The currently published terms have not been accepted. Signup must accept them; an account must accept the current version before it can create a new key or webhook endpoint.","The terms version stated in the request is not the one published now; read the current terms and state that version, or omit it.","The request asked for more history than the window that applies to it allows. No window applies to a request carrying an API key, which is served any depth at the full-depth weight, so this is sent only to a keyless history read. The refusal states the window, the depth asked for, the one plan that lifts it and how many points lie outside the window; ask for a shorter range to be served now, or send a key.","The feature requested needs a positive prepaid compute-unit balance or the enterprise plan, and the account has neither.","The account already holds the most unrevoked API keys one account may hold; revoke one to issue another.","No token by that symbol is tracked. The token index lists every tracked symbol.","The token is tracked, but not on the chain named in the request. The refusal lists the chains it is tracked on.","The token is tracked, but no active report is published for that month. The attestation index lists every published report by token and month.","The key or webhook endpoint named is already revoked; nothing was changed.","No pending connect request has this code: it may be mistyped, may have expired, may already have been approved or denied, or may already have delivered its key. Each code that matches no pending request counts against the signed-in account's limit on wrong codes, which answers rate_limited once spent.","The period is not a calendar month written YYYY-MM (a four-digit year, a hyphen and a two-digit month), so it could not name a report.","The request did not match the published schema; detail lists each offending field and why, without repeating the submitted value.","A value in the request was refused by the service itself, for the reason message states: for example a date range that runs backwards, both forms of a range at once, a password that is too short, or a control character in a path.","The sign-up address is at a disposable-email domain, and this service does not open accounts on one; sign up with an address you will keep.","Requests arrived faster than a limit allows: the key's throughput budget, the ceiling on one network address, the sign-in throttle, or the daily cap on sign-ups from one network address; wait the number of seconds in Retry-After, then retry.","No longer sent: a spent monthly allowance is now refused with cu_balance_exhausted. The code stays in this list so a client that branches on it keeps working.","The month's free compute units and the account's prepaid compute units together cannot cover this request, after what the account's requests still in flight hold, so it was refused and nothing was charged; requests sent together are never served past what is left. The refusal states the price per thousand compute units, the balance left, what is left of the month's allowance, what this request costs, the cheaper request shapes that would still be served, when the free allowance resets and where to buy more. To be served, lower the request to one of those shapes, or add funds by buying compute units. Retry-After, the seconds until the reset, is sent only when what is left cannot cover even the cheapest priced request; while it can, a cheaper request is still served.","This API key has a monthly compute-unit cap set by its holder, and this request would take it past that cap, after what the key's requests still in flight hold, so the request was refused and nothing was charged. The refusal states what this request costs, what is left of the cap and the cheaper request shapes that still fit it. The cap counts what the key spent this calendar month (UTC) and resets at the start of the next; only the key's holder can raise it, by signing in to the account. Retry-After, the seconds until the reset, is sent only when what is left of the cap cannot cover even the cheapest priced request.","The agent's person has not yet approved or denied this connect request; poll again after the interval the start response gave.","This connect request was polled sooner than its interval allows, so its interval grew for this and every later poll; Retry-After carries the new interval in seconds.","No key was issued for this connect request: the agent's person denied it, or their account could no longer take a new key when the agent came to collect it. Start a new connect request to ask again.","The device code is not one this service issued, has expired, or has already delivered its key; start a new connect request.","The rate limiter could not be read, so the request was refused rather than served without a limit. Retry after the seconds in Retry-After, which is a back-off hint, not a prediction of when service returns.","No database connection was available in time, so the request was refused rather than queued. Retry after the seconds in Retry-After, which is a back-off hint, not a prediction of when service returns.","The recorded pre-publication review does not cover the methodology currently served, so the figures are withheld rather than served unreviewed. Retry-After is a back-off hint; the withholding lifts only when a new review is recorded.","The request depends on sending an email (a confirmation or password-reset link, or the notice that a password changed) and this service has no outbound mail configured, so nothing was recorded rather than a link that could never arrive. Retry-After is a back-off hint, not a prediction of when mail returns.","The request depends on sending an email, and this hour's budget for account mail, which every account shares, is already spent, so nothing was done rather than accepting a request whose mail would not be sent. Retry after the seconds in Retry-After, when the next hour's budget begins.","This deployment has no public web address configured to send the agent's person to, so no connect request was recorded. Retry-After is a back-off hint, not a prediction of when connecting returns.","The request was refused as malformed; message states why.","The request's credentials were refused; message states why.","The request is not permitted for this caller; message states why.","Nothing is published at this path, or the resource it names does not exist.","The path exists but does not accept this HTTP method.","The request did not arrive in full within the time the server waits for it, so it was refused before any route read it and the connection was closed; send it again.","The request conflicts with the resource's current state; message states how.","The resource named existed but is no longer available.","The request body is larger than this route accepts.","The request's headers are larger than the server at this address accepts, so it was refused before any route read it and the connection was closed; send it again with fewer or smaller headers. Behind this address, the API's own server answers only on the same machine, so no request from outside reaches it; a very large header block sent to it there is refused by that server in plain text, without this envelope.","The service failed while handling the request; quote request_id when reporting it.","A part of the service this response depends on could not be read, so the response was withheld rather than served incomplete. Retry after the seconds in Retry-After, which is a back-off hint, not a prediction of when service returns."]},"message":{"type":"string","title":"Message","description":"The reason for the refusal as one human-readable sentence; for a validation refusal it names each offending field and never repeats the submitted value."},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id","description":"The identifier of this request, equal to the X-Request-ID response header; quote it when asking about a refusal."},"doc_url":{"type":"string","title":"Doc Url","description":"The address of the documentation entry that explains this code and what lifts it."},"plan_required":{"anyOf":[{"type":"string","enum":["free","enterprise"]},{"type":"null"}],"title":"Plan Required","description":"Present on plan_depth_exceeded and plan_required only: the one published plan that includes what was refused by itself, enterprise; a positive prepaid compute-unit balance lifts the same refusal, and purchase_url says where to get one."},"window_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Window Days","description":"Present on plan_depth_exceeded only: how many days back the caller's plan allows."},"requested_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Requested Days","description":"Present on plan_depth_exceeded only: how many days back the request asked for."},"walled_history_points":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Walled History Points","description":"Present on plan_depth_exceeded only: how many coverage points a request at the allowed window would leave outside it; null when that count cannot be stated because the board is withheld or the request named a symbol the service refuses."},"upgrade_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Upgrade Url","description":"Present on plan_depth_exceeded and plan_required only: the page purchase_url names on the same refusal. While the pricing page is published it is that page's API access card, which states the compute-unit rate and, where a contact address is published, that address and a link to ask to be told when self-serve purchase opens; otherwise it is the API page's section on access beyond the free limits, which says that access is bought in compute units and, where a contact address is published, names it."},"contact_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Url","description":"Present on plan_depth_exceeded and plan_required only, and only where this service publishes a contact address: a mailto link to that address, for asking about paid API access; absent when no address is published."},"tracked_chains":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tracked Chains","description":"Present on unknown_chain only: the chains the requested token is tracked on, home chain first."},"unit_price_per_1000_cu":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit Price Per 1000 Cu","description":"Present on cu_balance_exhausted only: the published price of 1,000 compute units beyond the free allowance, as a decimal string in the currency named by currency."},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency","description":"Present on cu_balance_exhausted only: the ISO 4217 code of the currency unit_price_per_1000_cu is stated in."},"balance_cu":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Balance Cu","description":"Present on cu_balance_exhausted only: the prepaid compute units this account had left when the request was refused, after what its requests still in flight hold, read at that moment."},"balance_locked":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Balance Locked","description":"Present on cu_balance_exhausted only: true while a dispute on one of this account's payments is open; the prepaid balance then reads 0 and purchase_url refuses with 409 balance_locked until the dispute closes."},"allowance_remaining_cu":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Allowance Remaining Cu","description":"Present on cu_balance_exhausted only: the compute units left in this month's free allowance when the request was refused, after what this account's requests still in flight hold; the X-Quota-Remaining figure read at that moment."},"cost_cu":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cost Cu","description":"Present on cu_balance_exhausted and key_cap_reached only: the compute units the refused request would have cost had it been served, as GET /v1/pricing prices its shape."},"free_allowance_cu":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Free Allowance Cu","description":"Present on cu_balance_exhausted only: this account's monthly allowance of free compute units."},"free_allowance_resets_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Free Allowance Resets At","description":"Present on cu_balance_exhausted only: when the monthly allowance starts again (ISO 8601 date-time), the start of next calendar month, UTC."},"purchase_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Purchase Url","description":"Present on cu_balance_exhausted, plan_depth_exceeded and plan_required only: where to get more compute units. On cu_balance_exhausted, once self-serve purchase is open, it is a checkout link for the refused key's account that needs no sign-in, is valid for at least a day and buys the smallest purchase GET /v1/pricing states unless a units query parameter asks for more; everywhere else, and before purchase opens, it is the pricing page's API access card while that page is published, and the API page's section on access beyond the free limits otherwise."},"pricing_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pricing Url","description":"Present on cu_balance_exhausted, plan_depth_exceeded and plan_required only: the address of the machine-readable price list, GET /v1/pricing, which states the compute-unit schedule, the free allowance and the price of compute units beyond it."},"in_flight_cu":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"In Flight Cu","description":"Present on cu_balance_exhausted and key_cap_reached only: the compute units held by requests still being served when this one was refused, the account's on cu_balance_exhausted and this key's on key_cap_reached; the figures left beside it are net of them, so concurrent requests are never served past what is left."},"fitting_shapes":{"anyOf":[{"items":{"$ref":"#/components/schemas/V1PricingScheduleEntry"},"type":"array"},{"type":"null"}],"title":"Fitting Shapes","description":"Present on cu_balance_exhausted and key_cap_reached only: each request shape GET /v1/pricing prices whose cost fits what is left, with its route and cost, so a cheaper request of that shape would be served now; empty when none fits, and only then is Retry-After sent."},"cap_remaining_cu":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cap Remaining Cu","description":"Present on key_cap_reached only: the compute units left under this key's monthly cap when the request was refused, after what its requests still in flight hold."}},"type":"object","required":["code","message","request_id","doc_url"],"title":"ApiErrorBody"},"ApiKeyIssueRequest":{"properties":{"label":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Label","description":"An optional free-text label to help you recognize the key later (at most 200 characters)."},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At","description":"An optional instant (ISO 8601 date-time with a time zone offset) after which the key stops working; it must lie in the future, and later only a rotation can bring it earlier. Omit it for a key that never expires."},"scopes":{"anyOf":[{"items":{"type":"string","enum":["account","board","pricing"]},"type":"array","maxItems":3,"minItems":1},{"type":"null"}],"title":"Scopes","description":"Optional: the /v1 route families this key may call: account (the balance read), board (every board read, the evidence bundle included) and pricing (the price list). Omit it, or send null, for a key that may call every family; an empty list is refused."},"cu_cap_month":{"anyOf":[{"type":"integer","maximum":9007199254740991.0,"minimum":0.0},{"type":"null"}],"title":"Cu Cap Month","description":"Optional: the most compute units this key may spend in a calendar month (UTC), counting what the free allowance and the prepaid balance pay together; a request that would pass it is refused 429 key_cap_reached. Omit it, or send null, for no cap of the key's own; the account's allowance and balance still apply."}},"type":"object","title":"ApiKeyIssueRequest"},"ApiKeyIssued":{"properties":{"id":{"type":"string","title":"Id","description":"The unique identifier of the new API key, used to revoke it."},"key":{"type":"string","title":"Key","description":"The full API key, in the form rb_<8-character prefix>_<32-character secret>, sent in the X-API-Key header; it is shown only in this response and is not stored, so save it now."},"key_prefix":{"type":"string","title":"Key Prefix","description":"The key's 8-character public prefix, which identifies it in listings after the full key is no longer shown."},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label","description":"The label supplied when the key was issued, or null if none was given."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"When the key was issued (ISO 8601 date-time)."},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At","description":"When the key stops working (ISO 8601 date-time), as requested at issue; null means it never expires."},"scopes":{"anyOf":[{"items":{"type":"string","enum":["account","board","pricing"]},"type":"array"},{"type":"null"}],"title":"Scopes","description":"The /v1 route families this key may call: account (the balance read), board (every board read, the evidence bundle included) and pricing (the price list). Null means every family."},"cu_cap_month":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cu Cap Month","description":"The most compute units this key may spend in a calendar month (UTC); null means the key has no cap of its own."}},"type":"object","required":["id","key","key_prefix","label","created_at","expires_at","scopes","cu_cap_month"],"title":"ApiKeyIssued"},"ApiKeyLimitsRequest":{"properties":{"scopes":{"anyOf":[{"items":{"type":"string","enum":["account","board","pricing"]},"type":"array","maxItems":3,"minItems":1},{"type":"null"}],"title":"Scopes","description":"The /v1 route families this key may call: account (the balance read), board (every board read, the evidence bundle included) and pricing (the price list). Send null for every family; an empty list is refused. The key's next request is judged by the new value."},"cu_cap_month":{"anyOf":[{"type":"integer","maximum":9007199254740991.0,"minimum":0.0},{"type":"null"}],"title":"Cu Cap Month","description":"The most compute units this key may spend in a calendar month (UTC), counting what it has already spent this month; send null for no cap of the key's own. The key's next request is judged by the new value."}},"type":"object","required":["scopes","cu_cap_month"],"title":"ApiKeyLimitsRequest"},"ApiKeyList":{"properties":{"keys":{"items":{"$ref":"#/components/schemas/ApiKeySummary"},"type":"array","title":"Keys","description":"Every API key this account has issued, including revoked ones."}},"type":"object","required":["keys"],"title":"ApiKeyList"},"ApiKeyRenameRequest":{"properties":{"label":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Label","description":"The key's new label (at most 200 characters); null, an empty string or only spaces removes the label. Surrounding spaces are trimmed."}},"type":"object","title":"ApiKeyRenameRequest"},"ApiKeyRotateRequest":{"properties":{"grace_seconds":{"type":"integer","maximum":604800.0,"minimum":0.0,"title":"Grace Seconds","default":86400,"description":"How many seconds the old key keeps working after the rotation, from 0 (it stops at once) to 604800 (seven days); 86400 (one day) when omitted. An old key that already ends sooner keeps its own end."},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At","description":"An optional instant (ISO 8601 date-time with a time zone offset) after which the new key stops working; it must lie in the future. The old key's own end date is not carried over: omit this for a new key that never expires."}},"type":"object","title":"ApiKeyRotateRequest"},"ApiKeyRotated":{"properties":{"id":{"type":"string","title":"Id","description":"The unique identifier of the new API key."},"key":{"type":"string","title":"Key","description":"The full new API key, in the form rb_<8-character prefix>_<32-character secret>, sent in the X-API-Key header; it is shown only in this response and is not stored, so save it now."},"key_prefix":{"type":"string","title":"Key Prefix","description":"The new key's 8-character public prefix, which identifies it in listings after the full key is no longer shown."},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label","description":"The new key's label, copied from the key it replaces; null if that key had none."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"When the new key was issued (ISO 8601 date-time)."},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At","description":"When the new key stops working (ISO 8601 date-time), as requested in the rotation; null means it never expires."},"scopes":{"anyOf":[{"items":{"type":"string","enum":["account","board","pricing"]},"type":"array"},{"type":"null"}],"title":"Scopes","description":"The /v1 route families the new key may call, copied from the key it replaces; null means every family."},"cu_cap_month":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cu Cap Month","description":"The new key's monthly compute-unit cap, copied from the key it replaces; null means no cap of its own. The new key's spending is counted from zero."},"replaces":{"$ref":"#/components/schemas/ApiKeySummary","description":"The key this rotation replaced, as it stands now: its expires_at is the end of the grace period, or its own earlier end."}},"type":"object","required":["id","key","key_prefix","label","created_at","expires_at","scopes","cu_cap_month","replaces"],"title":"ApiKeyRotated"},"ApiKeySummary":{"properties":{"id":{"type":"string","title":"Id","description":"The API key's unique identifier."},"key_prefix":{"type":"string","title":"Key Prefix","description":"The key's 8-character public prefix; the secret part of the key is never shown again after issue."},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label","description":"The key's label, as supplied when it was issued or last renamed, or null if it has none."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"When the key was issued (ISO 8601 date-time)."},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At","description":"When the key was revoked (ISO 8601 date-time); null means the key has not been revoked."},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At","description":"When the service last recorded a request made with this key (ISO 8601 date-time), counting every recorded request whether or not it was metered or succeeded; null means none has been recorded."},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At","description":"When the key stops working (ISO 8601 date-time), as chosen at issue or brought forward by a rotation; null means it never expires."},"expired":{"type":"boolean","title":"Expired","description":"True when the key is past its expires_at, judged on the service's clock when this response was made; an expired key is refused like a revoked one."},"scopes":{"anyOf":[{"items":{"type":"string","enum":["account","board","pricing"]},"type":"array"},{"type":"null"}],"title":"Scopes","description":"The /v1 route families this key may call: account (the balance read), board (every board read, the evidence bundle included) and pricing (the price list). Null means every family."},"cu_cap_month":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cu Cap Month","description":"The most compute units this key may spend in a calendar month (UTC); null means the key has no cap of its own."}},"type":"object","required":["id","key_prefix","label","created_at","revoked_at","last_used_at","expires_at","expired","scopes","cu_cap_month"],"title":"ApiKeySummary"},"ApiPurchase":{"properties":{"purchased_at":{"type":"string","format":"date-time","title":"Purchased At","description":"When the purchase's compute units were credited to this account: the instant its payment was recorded as paid, not when checkout was opened."},"cu":{"type":"integer","title":"Cu","description":"How many compute units the purchase credited to this account."},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At","description":"When this purchase's compute units lapse: twelve months after they were credited. Compute units spent before then are not affected."},"lapsed":{"type":"boolean","title":"Lapsed","description":"True once expires_at has passed; any of this purchase's compute units still unspent at that instant no longer count toward balance_cu."},"events":{"items":{"$ref":"#/components/schemas/ApiPurchaseEvent"},"type":"array","title":"Events","description":"Everything later recorded against this purchase in this account's compute-unit ledger, oldest first: refunds, a failed refund giving its compute units back, a dispute holding them and its close, and a recorded lapse."}},"type":"object","required":["purchased_at","cu","expires_at","lapsed","events"],"title":"ApiPurchase"},"ApiPurchaseEvent":{"properties":{"kind":{"type":"string","enum":["refund","refund_failed","dispute_lock","dispute_close","expiry","adjust"],"title":"Kind","description":"What happened: refund (a refund took compute units back), refund_failed (that refund failed and gave them back), dispute_lock (a dispute held them), dispute_close (the dispute closed: a positive delta_cu gives them back, zero means they stay removed), expiry (a recorded lapse) or adjust (any other correction recorded against the payment)."},"delta_cu":{"type":"integer","title":"Delta Cu","description":"The compute units this entry added to the balance (positive) or took from it (negative); zero when it moved none."},"occurred_at":{"type":"string","format":"date-time","title":"Occurred At","description":"When this entry was recorded in the ledger."}},"type":"object","required":["kind","delta_cu","occurred_at"],"title":"ApiPurchaseEvent"},"ApiPurchaseHistory":{"properties":{"purchases":{"items":{"$ref":"#/components/schemas/ApiPurchase"},"type":"array","title":"Purchases","description":"Every purchase of compute units this account has made, newest first, read from its compute-unit ledger alone. The Stripe invoice remains the receipt of record."}},"type":"object","required":["purchases"],"title":"ApiPurchaseHistory"},"ApiUsageByKey":{"properties":{"key_id":{"type":"string","title":"Key Id","description":"The API key's unique identifier."},"key_prefix":{"type":"string","title":"Key Prefix","description":"The key's 8-character public prefix."},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label","description":"The key's current label, or null if it has none."},"served":{"type":"integer","title":"Served","description":"This key's share of served."},"total_requests":{"type":"integer","title":"Total Requests","description":"This key's share of total_requests."},"unmetered":{"type":"integer","title":"Unmetered","description":"This key's share of unmetered."},"cu_served":{"type":"integer","title":"Cu Served","description":"This key's share of cu_served."}},"type":"object","required":["key_id","key_prefix","label","served","total_requests","unmetered","cu_served"],"title":"ApiUsageByKey"},"ApiUsageByRoute":{"properties":{"route":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Route","description":"The request path as recorded, for example /v1/board/history; null on the one row that folds the paths beyond the listed ones (see by_route_truncated)."},"metered":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Metered","description":"Whether requests on this path went to an endpoint that needs a key and whose successful responses cost compute units (true), or were made with a key to an endpoint that needs none and cost nothing (false); null on the one row that folds the paths beyond the listed ones."},"served":{"type":"integer","title":"Served","description":"This path's share of served."},"total_requests":{"type":"integer","title":"Total Requests","description":"This path's share of total_requests."},"unmetered":{"type":"integer","title":"Unmetered","description":"This path's share of unmetered."},"cu_served":{"type":"integer","title":"Cu Served","description":"This path's share of cu_served."}},"type":"object","required":["route","metered","served","total_requests","unmetered","cu_served"],"title":"ApiUsageByRoute"},"ApiUsageSummary":{"properties":{"month":{"type":"string","title":"Month","description":"The calendar month these counts cover, formatted YYYY-MM."},"served":{"type":"integer","title":"Served","description":"The number of successful (2xx) /v1 requests this account made this month. It is a count of requests; compute units are counted in cu_served."},"quota":{"type":"integer","title":"Quota","description":"The monthly allowance, in compute units, this account is currently served under, according to its plan and any limits set on the account."},"quota_remaining":{"type":"integer","title":"Quota Remaining","description":"How many compute units of this month's allowance are left: quota minus the compute units the allowance paid for this month, never below zero. A request is served only if its whole cost fits in what is left here plus balance_cu."},"cu_served":{"type":"integer","title":"Cu Served","description":"The compute units this account's metered /v1 requests used this month, whether the monthly allowance or the prepaid balance paid for them. Only a successful (2xx) request on an endpoint that needs a key costs compute units; everything else costs none."},"total_requests":{"type":"integer","title":"Total Requests","description":"Every metered /v1 request attributed to this account this month that was admitted, including those refused or failed while being served (a 404, a 422, a 5xx). A request refused at admission writes no record and is not counted: a 429 for the rate, a 402 for compute units, or a 503 because the limiter or the database could not be reached."},"unmetered":{"type":"integer","title":"Unmetered","description":"The number of requests this account's keys made this month to endpoints that need no key. They are verified and recorded, never cost compute units, and are never counted in served, total_requests, cu_served or the allowance."},"grand_total":{"type":"integer","title":"Grand Total","description":"Every request this account's keys made this month that was recorded, metered or not: exactly total_requests plus unmetered."},"resets_at":{"type":"string","format":"date-time","title":"Resets At","description":"When the monthly counters start again from zero (ISO 8601 date-time): the start of next calendar month, UTC."},"by_key":{"items":{"$ref":"#/components/schemas/ApiUsageByKey"},"type":"array","title":"By Key","description":"This month's counts split by API key: one row per key that made at least one recorded request this month, and the rows' served, total_requests, unmetered and cu_served each add up exactly to the figures of the same name."},"by_route":{"items":{"$ref":"#/components/schemas/ApiUsageByRoute"},"type":"array","title":"By Route","description":"This month's counts split by request path and by whether the path is metered, busiest first; the rows' served, total_requests, unmetered and cu_served each add up exactly to the figures of the same name."},"by_route_truncated":{"type":"boolean","title":"By Route Truncated","description":"True when by_route lists only the busiest 100 paths and folds the rest into one final row whose route is null, so the sums still hold."},"by_route_total_available":{"type":"integer","title":"By Route Total Available","description":"How many distinct path rows this month's requests produced, before any were folded together."},"free_allowance_cu":{"type":"integer","title":"Free Allowance Cu","description":"The monthly allowance of free compute units this account is served under; the same figure as quota, in the compute-unit name."},"allowance_remaining_cu":{"type":"integer","title":"Allowance Remaining Cu","description":"How many of this month's free compute units are left; the same figure as quota_remaining, in the compute-unit name. Requests use it before balance_cu."},"balance_cu":{"type":"integer","title":"Balance Cu","description":"The prepaid compute units this account holds now, the same figure a cu_balance_exhausted refusal states; used only once the monthly allowance is spent."},"balance_expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Balance Expires At","description":"When the earliest prepaid compute units this account still holds lapse (ISO 8601 date-time); null when none are held or what is held does not lapse."},"balance_locked":{"type":"boolean","title":"Balance Locked","description":"True while a dispute on one of this account's payments is open: the prepaid balance then reads 0 however much was bought, and compute units cannot be bought until the dispute closes."}},"type":"object","required":["month","served","quota","quota_remaining","cu_served","total_requests","unmetered","grand_total","resets_at","by_key","by_route","by_route_truncated","by_route_total_available","free_allowance_cu","allowance_remaining_cu","balance_cu","balance_expires_at","balance_locked"],"title":"ApiUsageSummary"},"ApiValidationIssue":{"properties":{"type":{"type":"string","title":"Type","description":"A machine-readable code for the kind of validation failure."},"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Loc","description":"The path to the offending input, starting with where it was sent (for example body or query) followed by field names or list indexes."},"msg":{"type":"string","title":"Msg","description":"A human-readable explanation of the validation failure."}},"type":"object","required":["type","loc","msg"],"title":"ApiValidationIssue"},"BoardAnchorInfo":{"properties":{"kind":{"type":"string","enum":["DAILY","MONTHLY"],"title":"Kind","description":"Whether this is a DAILY or MONTHLY anchor of the evidence chain."},"status":{"type":"string","enum":["PENDING","ANCHORED","LATE_ANCHOR","UNANCHORED"],"title":"Status","description":"The anchor's timestamping state: PENDING until a timestamp authority responds, ANCHORED once one has, LATE_ANCHOR when that happened later than the late-anchor threshold."},"covers_to":{"type":"string","format":"date","title":"Covers To","description":"The last date (ISO 8601) whose evidence records this anchor covers."},"merkle_root":{"type":"string","title":"Merkle Root","description":"The hex-encoded Merkle root over the hashes of the evidence records this anchor covers, which is the value that was timestamped."},"anchored_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Anchored At","description":"Timestamp (ISO 8601) at which the anchor received its first external timestamp; null while it is still pending."},"cadence_state":{"anyOf":[{"type":"string","enum":["CURRENT","LATE"]},{"type":"null"}],"title":"Cadence State","description":"Whether the newest anchor is as recent as its kind's cadence says: on a daily anchor, CURRENT through the day after covers_to and LATE from the day after that; null on a monthly anchor, for which no cadence rule is published. status is unaffected: an old anchor stays ANCHORED."},"days_behind":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Days Behind","description":"Whole days from covers_to to today's UTC date by the database clock, on a daily anchor; null on a monthly anchor."},"expected_next_anchor_by":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Expected Next Anchor By","description":"The UTC date by which the next daily anchor is due: the day after covers_to. Null on a monthly anchor."}},"type":"object","required":["kind","status","covers_to","merkle_root","anchored_at","cadence_state","days_behind","expected_next_anchor_by"],"title":"BoardAnchorInfo"},"BoardAttestationEntry":{"properties":{"symbol":{"type":"string","title":"Symbol","description":"The token's ticker symbol as tracked on the board."},"token_name":{"type":"string","title":"Token Name","description":"The token's full display name as held in ReserveBeat's registry."},"issuer_name":{"type":"string","title":"Issuer Name","description":"The issuer's short display name as held in ReserveBeat's registry."},"issuer_entity_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Issuer Entity Name","description":"The issuing legal entity recorded for the token's attestation source; null when no attestation source is recorded for the token."},"chain":{"type":"string","title":"Chain","description":"ReserveBeat's registry name for the network this tracked token is listed on, for example ethereum."},"period":{"type":"string","title":"Period","description":"The report month this attestation covers, formatted YYYY-MM."},"report_scope":{"type":"string","enum":["SINGLE_TOKEN","CONSOLIDATED_GROUP"],"title":"Report Scope","description":"Whether the report covers this token alone (SINGLE_TOKEN) or several tokens of an issuer group together (CONSOLIDATED_GROUP)."},"composition_as_of":{"type":"string","format":"date","title":"Composition As Of","description":"The latest as-of date (ISO 8601) the report states, which is the date its reserve composition figures are shown at."},"issued_on":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Issued On","description":"The issue date (ISO 8601) the report states for itself; null when no issue date was found in the document."},"restated":{"type":"boolean","title":"Restated","description":"True when this active parse of the period supersedes an earlier parse of the same report period."},"report_artifact_id":{"type":"string","title":"Report Artifact Id","description":"Identifier of the evidence record for this parsed report, usable to look up the report and verify its hash."},"accountant_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accountant Name","description":"The accounting firm named in the report's own text, exactly as written; null when no firm name was extracted, and metadata.accountant_name says why."},"metadata":{"additionalProperties":{"type":"string","enum":["EXTRACTED","NOT_FOUND_IN_DOCUMENT","NOT_PROBED","NOT_IN_TEXT_LAYER","NOT_EXTRACTED","IMAGE_PINNED"]},"type":"object","title":"Metadata","description":"For each report metadata field (accountant name, engagement standard text, engagement type), how this report's value was reached: EXTRACTED (the document's own words are held), NOT_FOUND_IN_DOCUMENT (the parser looked and the document's text does not state it), NOT_PROBED (the parser for this layout does not look for it, so no finding either way), NOT_IN_TEXT_LAYER (the document carries it only as an image, such as a signature), IMAGE_PINNED (the document carries it only as an image, and the value is the identical reading of every OCR engine the methodology names, checked by eye against the page crop before it was published), or NOT_EXTRACTED (the report was parsed before metadata was read)."},"assurance":{"type":"string","enum":["ATTESTED","EXAMINED"],"title":"Assurance","description":"The kind of third-party engagement behind the report: EXAMINED for an examination-grade engagement, ATTESTED for a limited assurance engagement, agreed-upon procedures or a report whose engagement type is not stated."},"engagement_type_enum":{"anyOf":[{"type":"string","enum":["EXAMINATION","LIMITED_ASSURANCE","AUP","AUDIT","GENIUS_EXAMINED_REPORT","SELF_REPORT"]},{"type":"null"}],"title":"Engagement Type Enum","description":"This report's engagement level, classified from its own engagement wording: EXAMINATION for an examination or reasonable assurance engagement, LIMITED_ASSURANCE for a limited assurance engagement; null when the report's text carries no engagement wording the vocabulary classifies."},"captured_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Captured At","description":"When the board captured the report's source document (ISO 8601 date-time), the date capture_lag_days is measured to; null when no capture record is held."}},"type":"object","required":["symbol","token_name","issuer_name","issuer_entity_name","chain","period","report_scope","composition_as_of","issued_on","restated","report_artifact_id","accountant_name","metadata","assurance","engagement_type_enum","captured_at"],"title":"BoardAttestationEntry"},"BoardAttestationFlag":{"properties":{"kind":{"type":"string","enum":["RESTATED","SCOPE_CHANGED","TEMPLATE_CHANGED","ACCOUNTANT_CHANGED","ENGAGEMENT_CHANGED","CATEGORY_ADDED","CATEGORY_REMOVED"],"title":"Kind","description":"Which notable change this report shows against the prior active report, or that it restates an earlier parse of the same month."},"detail":{"type":"string","title":"Detail","description":"Text detail of the change: the restatement reason, the prior and current values separated by an arrow, or the reserve category added or removed."}},"type":"object","required":["kind","detail"],"title":"BoardAttestationFlag"},"BoardAttestationQuote":{"properties":{"kind":{"type":"string","enum":["OPINION","ASSERTION"],"title":"Kind","description":"Whose sentence it is: OPINION, the accountant's opinion; ASSERTION, the issuer management's own assertion."},"text":{"type":"string","title":"Text","description":"The sentence, verbatim as the document's text layer holds it."},"page":{"type":"integer","title":"Page","description":"The 1-based page of the source PDF the sentence is on, counted in the file, not a page number printed on the page."}},"type":"object","required":["kind","text","page"],"title":"BoardAttestationQuote"},"BoardAttestedCoverage":{"properties":{"as_of":{"type":"string","format":"date","title":"As Of","description":"The as-of date (ISO 8601) the attestation report states for both the reserve and the tokens-outstanding figure."},"report_month":{"type":"string","title":"Report Month","description":"The report month of the attestation these figures come from, formatted YYYY-MM."},"total_reserve_usd":{"type":"string","title":"Total Reserve Usd","description":"The total reserve figure in US dollars the attestation report states, as a decimal string exactly as stated."},"tokens_outstanding":{"type":"string","title":"Tokens Outstanding","description":"The tokens-outstanding figure the same attestation report states at the same as-of date, as a decimal string exactly as stated."},"coverage_ratio":{"type":"string","title":"Coverage Ratio","description":"The total reserve figure an attestation report states, divided by the tokens-outstanding figure the same report states at the same as-of date, quantized to six decimal places with banker's rounding. Only a single-token-scope report produces one. A document stating just one of the two sides yields no ratio at all rather than a half-computed one, and no on-chain measurement ever enters the division."},"source_tier":{"type":"string","const":"ISSUER_ATTESTED","title":"Source Tier","description":"Always ISSUER_ATTESTED: both figures come from the issuer's attestation report, not from an on-chain measurement."},"source_sha256":{"type":"string","title":"Source Sha256","description":"SHA-256 hash (hex) of the attestation report document these figures were read from."},"source_url":{"type":"string","title":"Source Url","description":"The URL the attestation report document was retrieved from."},"report_artifact_id":{"type":"string","title":"Report Artifact Id","description":"Identifier of the evidence record for the parsed attestation report these figures come from."}},"type":"object","required":["as_of","report_month","total_reserve_usd","tokens_outstanding","coverage_ratio","source_tier","source_sha256","source_url","report_artifact_id"],"title":"BoardAttestedCoverage"},"BoardCompositionDelta":{"properties":{"row_kind":{"type":"string","enum":["CATEGORY","TOTAL","LIABILITY"],"title":"Row Kind","description":"Which kind of line group this difference compares: the reserve TOTAL, the token LIABILITY, or one reserve CATEGORY."},"category":{"type":"string","enum":["US_TREASURY","TREASURY_REPO","GOVT_MMF","CASH","TIMING","OTHER","CORPORATE_BOND","PRECIOUS_METALS","BITCOIN","PUBLIC_EQUITY","SECURED_LOAN","OTHER_REPO","NON_US_TREASURY","TOTAL_RESERVE","TOKEN_LIABILITY"],"title":"Category","description":"The normalized reserve category both periods are matched on, since the verbatim line labels can differ between reports."},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label","description":"The current report's verbatim line text when it states exactly one line in this group; null when it states none or several."},"line_count":{"type":"integer","title":"Line Count","description":"How many lines the current report states in this group; 0 means the category is absent from the current period."},"current_amount":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Amount","description":"The sum of the current report's lines in this group, as a decimal string; null when the current period states no such line, never zero."},"prior_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prior Label","description":"The prior report's verbatim line text when it states exactly one line in this group; null when it states none or several."},"prior_line_count":{"type":"integer","title":"Prior Line Count","description":"How many lines the prior period's report states in this group; 0 means the category is absent from the prior period."},"prior_amount":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prior Amount","description":"The sum of the prior period's lines in this group, as a decimal string; null when the prior period states no such line, never zero."},"delta":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Delta","description":"Current amount minus prior amount, computed by ReserveBeat as a decimal string; null unless both periods state the group in the same unit."},"unit":{"anyOf":[{"type":"string","enum":["USD","TOKEN"]},{"type":"null"}],"title":"Unit","description":"The unit shared by both sides, USD or TOKEN; null when the two periods state the group in different units, in which case no delta is given."}},"type":"object","required":["row_kind","category","label","line_count","current_amount","prior_label","prior_line_count","prior_amount","delta","unit"],"title":"BoardCompositionDelta"},"BoardCompositionRow":{"properties":{"row_kind":{"type":"string","enum":["CATEGORY","POSITION","TOTAL","LIABILITY"],"title":"Row Kind","description":"The kind of line: the reserve TOTAL, the token LIABILITY, a reserve CATEGORY, or a per-network POSITION of the token liability."},"category":{"type":"string","enum":["US_TREASURY","TREASURY_REPO","GOVT_MMF","CASH","TIMING","OTHER","CORPORATE_BOND","PRECIOUS_METALS","BITCOIN","PUBLIC_EQUITY","SECURED_LOAN","OTHER_REPO","NON_US_TREASURY","TOTAL_RESERVE","TOKEN_LIABILITY"],"title":"Category","description":"ReserveBeat's normalized category for this line, used to compare reports whose verbatim labels differ."},"label":{"type":"string","title":"Label","description":"The report's own line text, exactly as written."},"amount":{"type":"string","title":"Amount","description":"The amount the report states on this line, as a decimal string at a fixed six decimal places: the digits are the report's own, and zeros past the precision the report printed are padding, since the printed precision is not held."},"unit":{"type":"string","enum":["USD","TOKEN"],"title":"Unit","description":"The unit the report states this amount in, never converted: USD on every reserve line; on a token-liability line, TOKEN when the report counts tokens and USD when it states the liability in dollars."}},"type":"object","required":["row_kind","category","label","amount","unit"],"title":"BoardCompositionRow"},"BoardCorroboration":{"properties":{"outcome":{"type":"string","enum":["CORROBORATED","DIVERGENT","NOT_APPLICABLE","WITHHELD_STALE"],"title":"Outcome","description":"Result of comparing an SEC N-MFP filing's net assets with the matching attested fund figure: corroborated within tolerance, divergent beyond it, not applicable, or withheld because the token's attested figures are withheld as stale."},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason","description":"Plain-text explanation of why no divergence was computed, given for NOT_APPLICABLE and WITHHELD_STALE outcomes; null when the comparison completed."},"fund_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fund Name","description":"Name of the money market fund exactly as printed in the issuer's attestation report; null when no fund is mapped for this token or the token is withheld."},"series_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Series Id","description":"SEC EDGAR series identifier of the mapped fund; null when no fund is mapped for this token or the token is withheld."},"attested_labels":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Attested Labels","description":"Reserve category labels, verbatim from the attestation report, whose amounts are summed to form the attested fund figure; null when no fund is mapped or the token is withheld."},"as_of":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"As Of","description":"Attestation as-of date (ISO 8601) whose figure was compared with the filing; null when no attested figure was compared."},"attested_amount":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Attested Amount","description":"Sum of the mapped category amounts stated in the attestation report at the as-of date, as a decimal string; null when no attested figure was compared."},"filed_report_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Filed Report Date","description":"Report date (ISO 8601) of the SEC N-MFP filing used; null when no filing has been pulled for this token or the token is withheld."},"filed_net_assets":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filed Net Assets","description":"Fund net assets as stated in the SEC N-MFP filing, as a decimal string; null when no filing has been pulled for this token or the token is withheld."},"divergence_bps":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Divergence Bps","description":"The absolute difference between the net-asset figure an SEC-filed N-MFP report states and the fund figure it is compared against, divided by the filed figure and expressed in basis points to two decimal places, against a per-issuer tolerance. A filing stating zero net assets yields no divergence figure, and none is stated when no comparison ran (NOT_APPLICABLE, WITHHELD_STALE). The comparison adjusts neither side and enters no ratio."},"tolerance_bps":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tolerance Bps","description":"Maximum divergence, in basis points as a decimal string, at or below which the outcome reads CORROBORATED; set per fund mapping, null when no fund is mapped or the token is withheld."},"window_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Window Days","description":"Maximum number of days allowed between the filing's report date and the attested as-of date for a comparison to run; null when no fund is mapped or the token is withheld."},"accession_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accession Number","description":"SEC EDGAR accession number of the N-MFP filing used; null when no filing has been pulled for this token or the token is withheld."},"dataset_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataset Url","description":"URL of the SEC N-MFP dataset the filing was extracted from; null when no filing has been pulled for this token or the token is withheld."},"dataset_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataset Sha256","description":"SHA-256 hex digest of the downloaded SEC N-MFP dataset; null when no filing has been pulled for this token or the token is withheld."},"filing_artifact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filing Artifact Id","description":"Identifier of the evidence-chain artifact recording the extracted filing figures; null when no filing has been pulled for this token or the token is withheld."},"corroboration_artifact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Corroboration Artifact Id","description":"Identifier of the evidence-chain artifact recording this comparison; null when no comparison has been recorded for this token or the token is withheld."},"anchor_status":{"anyOf":[{"type":"string","enum":["PENDING","ANCHORED","LATE_ANCHOR","UNANCHORED"]},{"type":"null"}],"title":"Anchor Status","description":"External timestamp-anchoring state of the comparison artifact: pending, anchored, anchored late, or UNANCHORED when no anchor batch covers it yet; null when there is no comparison artifact."},"compared_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Compared At","description":"When ReserveBeat recorded this comparison; null when no comparison has been recorded for this token or the token is withheld."}},"type":"object","required":["outcome","reason","fund_name","series_id","attested_labels","as_of","attested_amount","filed_report_date","filed_net_assets","divergence_bps","tolerance_bps","window_days","accession_number","dataset_url","dataset_sha256","filing_artifact_id","corroboration_artifact_id","anchor_status","compared_at"],"title":"BoardCorroboration"},"BoardCoverageRatioAll":{"properties":{"status":{"type":"string","enum":["RATIO","NO_CONTEMPORANEOUS_SNAPSHOT"],"title":"Status","description":"RATIO when every published network has a supply measurement at the report's stated cutoff, or NO_CONTEMPORANEOUS_SNAPSHOT, in which case every figure here is null."},"as_of":{"type":"string","format":"date","title":"As Of","description":"ISO 8601 as-of date of the attested reserve figure used as the numerator."},"report_month":{"type":"string","title":"Report Month","description":"The report month, in YYYY-MM form, of the attestation report the reserve figure comes from."},"total_reserve_usd":{"type":"string","title":"Total Reserve Usd","description":"The total reserve figure the issuer's attestation report states, as a decimal string passed through verbatim."},"measured_float":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measured Float","description":"The sum of ReserveBeat's supply measurements across all published networks at the report's stated cutoff: each read at the last block at or before the cutoff, or, where no such read exists, taken from ReserveBeat's recorder snapshot within 15 minutes of it. Null when status is NO_CONTEMPORANEOUS_SNAPSHOT."},"coverage_ratio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Coverage Ratio","description":"The attested total reserve divided by the measured float across all published networks, six decimal places with banker's rounding; null when no ratio can be stated."},"source_tier":{"anyOf":[{"type":"string","enum":["STORAGE_PROVEN","ETH_CALL","RPC_QUORUM"]},{"type":"null"}],"title":"Source Tier","description":"The weakest evidence tier among the supply readings in the measured float; null when status is NO_CONTEMPORANEOUS_SNAPSHOT."},"networks":{"items":{"type":"string"},"type":"array","title":"Networks","description":"The published networks whose supply measurement at the report's stated cutoff is in the measured float."},"networks_missing":{"items":{"type":"string"},"type":"array","title":"Networks Missing","description":"Published networks with no supply measurement at the report's stated cutoff (no read at the cutoff block and no snapshot within 15 minutes of it), which is why no ratio is stated."},"eth_slice_supply":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Eth Slice Supply","description":"The Ethereum reading used in the measured float, as a decimal string; null when there is no Ethereum reading or no ratio is stated."},"eth_slice_ratio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Eth Slice Ratio","description":"The same attested reserve divided by the Ethereum reading alone, six decimal places with banker's rounding, shown beside the widened ratio; null when unavailable."},"window_hours":{"type":"number","title":"Window Hours","description":"The hours on either side of the report's stated cutoff within which a recorder snapshot may stand in for a network whose supply was not read at the cutoff block. Always 0.25 (15 minutes)."}},"type":"object","required":["status","as_of","report_month","total_reserve_usd","measured_float","coverage_ratio","source_tier","networks","networks_missing","eth_slice_supply","eth_slice_ratio","window_hours"],"title":"BoardCoverageRatioAll"},"BoardCoverageToken":{"properties":{"symbol":{"type":"string","title":"Symbol","description":"Ticker symbol of the tracked token."},"token_name":{"type":"string","title":"Token Name","description":"Display name of the tracked token."},"issuer_name":{"type":"string","title":"Issuer Name","description":"Short display name of the token's issuer."},"issuer_entity_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Issuer Entity Name","description":"Legal name of the issuing entity as recorded for the token's attestation source; null when no attestation source is recorded."},"chain":{"type":"string","title":"Chain","description":"The token's home network, the one every other field on this row was read from."},"chains":{"items":{"type":"string"},"type":"array","title":"Chains","deprecated":true,"description":"The same list as chains_ingested, under the name this field was first published with; kept for one release and then retired with notice."},"chains_ingested":{"items":{"type":"string"},"type":"array","title":"Chains Ingested","description":"Every network this board measures and publishes this symbol on, home network first; always present, with one element for a single-network token. It is not every network the issuer has deployed the token to."},"snapshot_enabled":{"type":"boolean","title":"Snapshot Enabled","description":"Whether ReserveBeat takes on-chain supply readings for this token on its home network."},"latest_snapshot_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Latest Snapshot At","description":"Timestamp of the most recent on-chain supply reading held for this token; null when no reading has been taken."},"latest_snapshot_tier":{"anyOf":[{"type":"string","enum":["STORAGE_PROVEN","ETH_CALL","RPC_QUORUM"]},{"type":"null"}],"title":"Latest Snapshot Tier","description":"Verification tier of the most recent on-chain supply reading: storage-proven, quorum contract call, or RPC quorum; null when no reading has been taken."},"has_attestation_series":{"type":"boolean","title":"Has Attestation Series","description":"Whether ReserveBeat holds at least one active parsed attestation report for this token."},"template_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Id","description":"Identifier of the document layout template the latest active attestation report was parsed with; null when no report is held."},"expected_cadence":{"anyOf":[{"type":"string","enum":["MONTHLY","QUARTERLY","SEMIANNUAL","ANNUAL"]},{"type":"null"}],"title":"Expected Cadence","description":"How often attestation reports are expected for this token, as recorded for its attestation source; null when none is recorded and the default monthly cadence applies."},"cadence_basis":{"anyOf":[{"type":"string","enum":["ISSUER_STATED","OBSERVED"]},{"type":"null"}],"title":"Cadence Basis","description":"Whether the expected cadence is stated in the issuer's own document or inferred from the observed report series; null when no cadence is recorded."},"attestation_status":{"type":"string","enum":["CURRENT","STALE","WITHHELD_STALE","NONE"],"title":"Attestation Status","description":"The age of a token's most recent report month, measured against the cadence expected for that token — the cadence recorded for its attestation source, or the default cadence when none is recorded. Past that limit the status reads STALE; within it, CURRENT. Past it by a further stated withholding grace, the status reads WITHHELD_STALE: the board stops serving that token's report-derived figures and states the withholding instead, while its on-chain supply still renders. By default the limit is forty-five days after the report month ends for a monthly cadence or when no cadence is recorded, one hundred and six days for a quarterly cadence, one hundred and ninety-eight days for a semiannual cadence and three hundred and eighty days for an annual cadence: each cadence's own period plus the same fourteen days of publication grace. The withholding grace is a further thirty days by default, so the figures are withheld past seventy-five days for a monthly cadence, one hundred and thirty-six days for a quarterly cadence, two hundred and twenty-eight days for a semiannual cadence and four hundred and ten days for an annual cadence. Every token card and token response states its own two limits, as stale_after_days and withheld_after_days. A token with no attestation series at all reads NONE, which is an absence rather than a value. The status states age, not lateness: an issuer publishing on its usual schedule can read STALE while its next report is not yet due, which is what overdue answers."},"first_report_month":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Report Month","description":"Earliest report month (YYYY-MM) among the token's active attestation reports; null when none is held."},"last_report_month":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Report Month","description":"Latest report month (YYYY-MM) among the token's active attestation reports; null when none is held."},"report_count":{"type":"integer","title":"Report Count","description":"Number of active (not superseded) attestation reports held for this token; zero when none is held."},"publication_lag_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Publication Lag Days","description":"The number of days between the latest as-of date a report states and the issue date the same report states. Both dates come from the document; neither is inferred."},"capture_lag_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Capture Lag Days","description":"The number of days between a report's stated issue date and the moment ReserveBeat captured and hash-anchored the document. It measures this site's own latency, not the issuer's."},"lag_basis":{"type":"string","const":"LATEST_REPORT","title":"Lag Basis","description":"What publication_lag_days and capture_lag_days are computed over: LATEST_REPORT, the newest active report's own dates, not a median over the series."},"metadata":{"additionalProperties":{"type":"string","enum":["EXTRACTED","NOT_FOUND_IN_DOCUMENT","NOT_PROBED","NOT_IN_TEXT_LAYER","NOT_EXTRACTED","IMAGE_PINNED"]},"type":"object","title":"Metadata","description":"For each report metadata field (accountant name, engagement standard text, engagement type), how the latest active report's value was reached: EXTRACTED, NOT_FOUND_IN_DOCUMENT (the parser looked and the document's text does not state it), NOT_PROBED (the parser for this layout does not look for it), NOT_IN_TEXT_LAYER (the document carries it only as an image), IMAGE_PINNED (the document carries it only as an image, and the value is the identical reading of every OCR engine the methodology names, checked by eye against the page crop before it was published), or NOT_EXTRACTED (parsed before metadata was read); empty when no report is held."},"engagement_type_enum":{"anyOf":[{"type":"string","enum":["EXAMINATION","LIMITED_ASSURANCE","AUP","AUDIT","GENIUS_EXAMINED_REPORT","SELF_REPORT"]},{"type":"null"}],"title":"Engagement Type Enum","description":"The engagement level of the token's newest attestation report, classified from the report's own engagement wording: EXAMINATION for an examination or reasonable assurance engagement, LIMITED_ASSURANCE for a limited assurance engagement; null when the token has no report or the report's text carries no engagement wording the vocabulary classifies."},"missing_periods":{"items":{"type":"string"},"type":"array","title":"Missing Periods","description":"Report months (YYYY-MM), oldest first, that the token's expected cadence called for between its first and last active report and for which no report is held: no active report covers them and they are not listed in published_unreadable_periods; empty when the series has no hole. Months after the last report are not listed."},"published_unreadable_periods":{"items":{"$ref":"#/components/schemas/BoardPublishedUnreadable"},"type":"array","title":"Published Unreadable Periods","description":"Report months inside the series, oldest first, whose document the issuer published and ReserveBeat holds byte-exact but could not read: published by the issuer; not readable here. Each names the issuer's document and the SHA-256 of the held bytes. Nothing from these documents is used in any figure. Empty when there are none; a month leaves this list when a report for it is held."},"overdue":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Overdue","description":"Whether a token's next attestation report is late against the token's own schedule. The next report is expected by the end of the reporting period after the latest report month, stepped by the token's expected cadence, plus the publication lag that latest report itself showed. Overdue reads true once today's UTC date is past that expected-by date plus a stated grace window with no newer report held, and false until then. Held means captured by this board, so the grace window also absorbs the days between an issuer publishing and the board capturing. It is null when no expected-by date can be built: a token with no attestation series, or a latest report that states no issue date to measure a lag from."},"next_report_expected_by":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Next Report Expected By","description":"The date (ISO 8601) the token's next attestation report is expected by: the end of the reporting period after last_report_month, stepped by the expected cadence, plus the newest report's own publication lag. Null when the token has no attestation series or its newest report states no issue date."},"overdue_grace_days":{"type":"integer","title":"Overdue Grace Days","description":"The days past next_report_expected_by allowed before overdue reads true, the same grace for every cadence; stated so the verdict can be recomputed."},"stale_after_days":{"type":"integer","title":"Stale After Days","description":"The days after the end of the latest report month past which attestation_status reads STALE, for this token's expected cadence; stated so the verdict can be recomputed."},"withheld_after_days":{"type":"integer","title":"Withheld After Days","description":"The days after the end of the latest report month past which attestation_status reads WITHHELD_STALE and the report-derived figures are withheld, for this token's expected cadence: stale_after_days plus the withholding grace."}},"type":"object","required":["symbol","token_name","issuer_name","issuer_entity_name","chain","chains","chains_ingested","snapshot_enabled","latest_snapshot_at","latest_snapshot_tier","has_attestation_series","template_id","expected_cadence","cadence_basis","attestation_status","first_report_month","last_report_month","report_count","publication_lag_days","capture_lag_days","lag_basis","metadata","engagement_type_enum","missing_periods","published_unreadable_periods","overdue","next_report_expected_by","overdue_grace_days","stale_after_days","withheld_after_days"],"title":"BoardCoverageToken"},"BoardDisclosureScore":{"properties":{"kind":{"type":"string","enum":["REPORT","SERIES"],"title":"Kind","description":"What was scored: REPORT for a single attestation report, SERIES for the token's run of reports over time."},"rubric_version":{"type":"string","title":"Rubric Version","description":"Version identifier of the fixed disclosure rubric this score was produced under."},"scored_at":{"type":"string","format":"date-time","title":"Scored At","description":"Timestamp (ISO 8601) at which this score was recorded."},"met_count":{"type":"integer","title":"Met Count","description":"A count, not a rate: how many dimensions of a fixed, versioned rubric a published disclosure meets, rendered as the number met over the number of dimensions with the rubric version beside it. Every dimension records the stored fact it was decided from. A report that has never been scored renders no score rather than an assumed one."},"dimension_count":{"type":"integer","title":"Dimension Count","description":"The number of rubric dimensions assessed, the denominator of the score."},"dimensions":{"items":{"$ref":"#/components/schemas/BoardScoreDimension"},"type":"array","title":"Dimensions","description":"Each rubric dimension with whether it is met, the stored fact it was decided from, and what would change it."},"score_artifact_id":{"type":"string","title":"Score Artifact Id","description":"Identifier of the evidence record holding this score."},"anchor_status":{"anyOf":[{"type":"string","enum":["PENDING","ANCHORED","LATE_ANCHOR","UNANCHORED"]},{"type":"null"}],"title":"Anchor Status","description":"Whether the score's evidence record is covered by an external timestamp anchor yet (UNANCHORED when no anchor covers it); null when no anchoring state is available."}},"type":"object","required":["kind","rubric_version","scored_at","met_count","dimension_count","dimensions","score_artifact_id","anchor_status"],"title":"BoardDisclosureScore"},"BoardHeadline":{"properties":{"total":{"type":"string","title":"Total","description":"The exact sum of the total reserve figure each tracked token's latest active attestation report states. The addition runs over string decimals brought to a common scale, so no floating-point value ever touches a reserve figure, and a single unreadable input refuses the whole sum rather than publishing a partial one. As-of dates differ by issuer, a consolidated-scope report counts once at its stated scope, and a token with no attested series adds nothing. The homepage prints the sum split by scope: the part from single-token reports and the part from consolidated group reports, each with the tokens it covers."},"scopes":{"items":{"$ref":"#/components/schemas/BoardHeadlineScope"},"type":"array","title":"Scopes","description":"The sum split by the scope the reports state their figures at: the part from single-token reports first, then the part from consolidated group reports; a scope no counted report states is left out."}},"type":"object","required":["total","scopes"],"title":"BoardHeadline"},"BoardHeadlineScope":{"properties":{"scope":{"type":"string","enum":["SINGLE_TOKEN","CONSOLIDATED_GROUP"],"title":"Scope","description":"The scope this part covers: SINGLE_TOKEN for reports stating one token's figures, CONSOLIDATED_GROUP for reports stating an issuer's whole group of tokens."},"total":{"type":"string","title":"Total","description":"The exact sum of the total reserve the reports at this scope state, in USD, as a decimal string; a consolidated group report counts once however many tracked tokens it covers."},"symbols":{"items":{"type":"string"},"type":"array","title":"Symbols","description":"The symbol of every tracked token a counted report at this scope covers, in the order tokens lists them, each named once."}},"type":"object","required":["scope","total","symbols"],"title":"BoardHeadlineScope"},"BoardHistoryGap":{"properties":{"from":{"type":"string","format":"date-time","title":"From","description":"Start of the first empty time bucket in this run, as an ISO 8601 timestamp; the run covers from this instant up to, not including, to."},"to":{"type":"string","format":"date-time","title":"To","description":"End of this run of empty buckets, exclusive: the start of the next bucket that holds a reading, or the end of the grid; on the pending run, the end of the bucket still in progress, so the value stays the same for every request made inside that bucket."},"missing_points":{"type":"integer","title":"Missing Points","description":"How many consecutive time buckets in this run hold no supply reading."},"pending":{"type":"boolean","title":"Pending","default":false,"description":"True on the one run that reaches the moment of the request while its newest bucket is still in progress, so that bucket's reading is not yet due; false on every other run."}},"type":"object","required":["from","to","missing_points"],"title":"BoardHistoryGap"},"BoardHistoryPoint":{"properties":{"as_of":{"type":"string","format":"date","title":"As Of","description":"The as-of date, as an ISO 8601 date, that the attestation report states for this coverage point."},"coverage_ratio":{"type":"string","title":"Coverage Ratio","description":"The total reserve figure an attestation report states, divided by the tokens-outstanding figure the same report states at the same as-of date, quantized to six decimal places with banker's rounding. Only a single-token-scope report produces one. A document stating just one of the two sides yields no ratio at all rather than a half-computed one, and no on-chain measurement ever enters the division."}},"type":"object","required":["as_of","coverage_ratio"],"title":"BoardHistoryPoint"},"BoardHistoryToken":{"properties":{"symbol":{"type":"string","title":"Symbol","description":"The token's ticker symbol as tracked on the board."},"chain":{"type":"string","title":"Chain","description":"The home network this token's series were read from."},"series":{"items":{"$ref":"#/components/schemas/BoardHistoryPoint"},"type":"array","title":"Series","description":"The token's attested coverage ratio points within the applied range, newest first; empty for consolidated-scope reports or when attested figures are withheld as stale."},"supply":{"anyOf":[{"items":{"$ref":"#/components/schemas/BoardSupplyFigure"},"type":"array"},{"type":"null"}],"title":"Supply","description":"ReserveBeat's measured on-chain supply readings over the same range, one per time bucket, newest first; null when the request did not name a symbol, empty when none are held."},"latest_outside_range":{"anyOf":[{"$ref":"#/components/schemas/BoardHistoryPoint"},{"type":"null"}],"description":"The newest attested coverage point dated before the range, served only when no point falls inside the range, so the current figure stays visible without being counted as part of the range; null otherwise or when attested figures are withheld as stale."},"supply_latest_outside_range":{"anyOf":[{"$ref":"#/components/schemas/BoardSupplyFigure"},{"type":"null"}],"description":"The newest measured supply reading dated before the range, served only when the supply series holds no reading inside the range; null otherwise or when no supply series was requested."},"expected_points":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Expected Points","description":"How many time buckets of the applied granularity the range spans, from the bucket holding its start up to the present or the end of the range, whichever is earlier; null when no supply series was requested."},"served_points":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Served Points","description":"How many time buckets of the supply series hold a reading; null when no supply series was requested."},"gaps":{"anyOf":[{"items":{"$ref":"#/components/schemas/BoardHistoryGap"},"type":"array"},{"type":"null"}],"title":"Gaps","description":"Every run of consecutive empty time buckets in the supply series, oldest first, so the missing buckets sum to expected minus served points; empty when none is missing, null when no supply series was requested."},"pending_points":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pending Points","description":"How many buckets of the pending gap run are still in progress: 1 when that run exists, 0 otherwise, so missing points minus pending points counts only buckets whose reading was due; null when no supply series was requested."},"supply_buckets":{"anyOf":[{"items":{"$ref":"#/components/schemas/BoardSupplyBucket"},"type":"array"},{"type":"null"}],"title":"Supply Buckets","description":"The full grid of time buckets for the supply series, newest first, each naming its start and, when a reading falls in it, that reading's time and supply; empty buckets carry null. Served only when the request names granularity and a symbol; null otherwise."}},"type":"object","required":["symbol","chain","series"],"title":"BoardHistoryToken"},"BoardIssuerStated":{"properties":{"figure":{"type":"string","title":"Figure","description":"The issuer's stated token amount for this network, quoted verbatim from its attestation report's per-network table and never split from a total."},"as_of":{"type":"string","format":"date","title":"As Of","description":"ISO 8601 as-of date the attestation report states for this figure, not the date of the measured slice beside it."},"source_artifact_id":{"type":"string","title":"Source Artifact Id","description":"Identifier of the evidence artifact holding the captured bytes of the attestation report this figure is quoted from."}},"type":"object","required":["figure","as_of","source_artifact_id"],"title":"BoardIssuerStated"},"BoardIssuerStatement":{"properties":{"stated_as_of":{"type":"string","format":"date","title":"Stated As Of","description":"The as-of date (ISO 8601) the issuer's own statement gives for its figures, not the date ReserveBeat captured it."},"stated_as_of_source":{"type":"string","enum":["SURFACE","OPERATOR"],"title":"Stated As Of Source","description":"Where the as-of date came from: SURFACE when it was read from the captured statement itself, OPERATOR when the captured file carries no date and a person entered it from the issuer's published page."},"captured_at":{"type":"string","format":"date-time","title":"Captured At","description":"Timestamp (ISO 8601) at which ReserveBeat captured the issuer's statement."},"template_id":{"type":"string","title":"Template Id","description":"Identifier of the parsing template ReserveBeat used to read this issuer statement's layout."},"issuer_entity_name":{"type":"string","title":"Issuer Entity Name","description":"The issuing legal entity recorded for the source this self-reported statement was captured from."},"assurance":{"type":"string","const":"SELF_REPORTED","title":"Assurance","description":"Always SELF_REPORTED: these figures are the issuer's own statement about itself, with no accountant's engagement behind them."},"engagement_type_enum":{"type":"string","const":"SELF_REPORT","title":"Engagement Type Enum","description":"Always SELF_REPORT, stating explicitly that no third-party engagement produced this statement."},"source_url":{"type":"string","title":"Source Url","description":"The URL of the issuer's published statement that ReserveBeat captured."},"source_sha256":{"type":"string","title":"Source Sha256","description":"SHA-256 hash (hex) of the exact captured statement bytes, so a reader can check a copy against it."},"source_artifact_id":{"type":"string","title":"Source Artifact Id","description":"Identifier of the evidence record holding the captured statement bytes."},"statement_artifact_id":{"type":"string","title":"Statement Artifact Id","description":"Identifier of the evidence record holding the figures parsed from the captured statement."},"figures":{"items":{"$ref":"#/components/schemas/BoardIssuerStatementFigure"},"type":"array","title":"Figures","description":"The figures the issuer's statement prints, each with its verbatim label, amount, unit and scale."}},"type":"object","required":["stated_as_of","stated_as_of_source","captured_at","template_id","issuer_entity_name","assurance","engagement_type_enum","source_url","source_sha256","source_artifact_id","statement_artifact_id","figures"],"title":"BoardIssuerStatement"},"BoardIssuerStatementFigure":{"properties":{"figure_kind":{"type":"string","enum":["TOKENS_IN_CIRCULATION","TOTAL_RESERVES","ISSUED","REDEEMED","TOTAL_AUTHORIZED","NOT_ISSUED","QUARANTINED"],"title":"Figure Kind","description":"What the figure measures, such as tokens in circulation, total reserves, issuance or redemption flows, or a per-network balance."},"label":{"type":"string","title":"Label","description":"The issuer statement's own label for this figure, exactly as printed."},"amount":{"type":"string","title":"Amount","description":"The number exactly as the issuer's statement prints it, as a decimal string, before applying the magnitude given in scale."},"unit":{"type":"string","enum":["USD","EUR","TOKEN"],"title":"Unit","description":"The currency or token unit the issuer's statement declares for this figure."},"scale":{"type":"string","enum":["UNITS","THOUSANDS","MILLIONS","BILLIONS"],"title":"Scale","description":"The magnitude the statement declares for the amount, for example MILLIONS; multiply the amount by it to get units."},"window_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Window Days","description":"For issuance and redemption flows, the length in days of the trailing window ending at the statement's as-of date; null on a balance."},"network":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Network","description":"ReserveBeat's registry name for the network this figure belongs to; null on a token-wide figure or when the statement names a network ReserveBeat does not recognize."},"network_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Network Label","description":"The issuer statement's own identifier for the network this figure belongs to, exactly as printed; null on a token-wide figure."}},"type":"object","required":["figure_kind","label","amount","unit","scale","window_days"],"title":"BoardIssuerStatementFigure"},"BoardLatestStated":{"properties":{"total_reserve":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Total Reserve","description":"The total reserve the report states, in USD, as a decimal string exactly as the composition table carries it; null when the report states none."},"liability":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Liability","description":"The liability the report states, as a decimal string exactly as the composition table carries it; null when the report states none."},"liability_unit":{"anyOf":[{"type":"string","enum":["USD","TOKEN"]},{"type":"null"}],"title":"Liability Unit","description":"The unit the report states the liability in: TOKEN when it counts tokens, USD when it states dollars; null when no liability is stated."},"as_of":{"type":"string","format":"date","title":"As Of","description":"The report's newest as-of date (ISO 8601) carrying these figures."},"report_month":{"type":"string","title":"Report Month","description":"The report month (YYYY-MM) of the report these figures come from."},"scope":{"type":"string","enum":["SINGLE_TOKEN","CONSOLIDATED_GROUP"],"title":"Scope","description":"The scope the report states its figures at: SINGLE_TOKEN for this token alone, CONSOLIDATED_GROUP for the issuer's whole group of tokens, counted once."},"source_tier":{"type":"string","const":"ISSUER_ATTESTED","title":"Source Tier","description":"Always ISSUER_ATTESTED: the figures are the issuer's attested report, passed through verbatim."},"source_sha256":{"type":"string","title":"Source Sha256","description":"SHA-256 of the source document these figures were read from."},"source_url":{"type":"string","title":"Source Url","description":"Where the source document was retrieved from."},"report_artifact_id":{"type":"string","title":"Report Artifact Id","description":"Identifier of the evidence artifact recording this parsed report."}},"type":"object","required":["total_reserve","liability","liability_unit","as_of","report_month","scope","source_tier","source_sha256","source_url","report_artifact_id"],"title":"BoardLatestStated"},"BoardMeasuredChain":{"properties":{"chain":{"type":"string","title":"Chain","description":"The network's name in the board registry."},"source":{"type":"string","enum":["CUTOFF_READ","SNAPSHOT"],"title":"Source","description":"How this network's supply at the cutoff was measured. CUTOFF_READ: read at the last block at or before the stated cutoff. SNAPSHOT: ReserveBeat's recorder snapshot within 15 minutes of the cutoff, which is used only when no cutoff read exists."},"supply":{"type":"string","title":"Supply","description":"This network's measured total supply, in whole tokens as a decimal string."},"block_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Block Number","description":"The block this network's supply was measured at. Null when the stored measurement names none."},"measured_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Measured At","description":"Timestamp (ISO 8601) of that block, or of the snapshot. Null when the stored measurement names none."},"tier":{"anyOf":[{"type":"string","enum":["STORAGE_PROVEN","ETH_CALL","RPC_QUORUM"]},{"type":"null"}],"title":"Tier","description":"How this network's supply was verified, from strongest (storage proof) to weakest (provider quorum). Null when the stored measurement names none."},"artifact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Artifact Id","description":"Identifier of the evidence record holding this network's measurement. Null when none is stored."}},"type":"object","required":["chain","source","supply","block_number","measured_at","tier","artifact_id"],"title":"BoardMeasuredChain"},"BoardMeasuredFloat":{"properties":{"total_supply":{"type":"string","title":"Total Supply","description":"The sum of the latest measured supply across every published network for this token, as a decimal string; late slices are included, not dropped."},"source_tier":{"type":"string","enum":["STORAGE_PROVEN","ETH_CALL","RPC_QUORUM"],"title":"Source Tier","description":"The weakest evidence tier among the summed slices, because a total is only as strong as its weakest part."},"as_of":{"type":"string","format":"date-time","title":"As Of","description":"ISO 8601 timestamp of the oldest slice in the sum, because a total is no fresher than its stalest reading."},"networks":{"items":{"type":"string"},"type":"array","title":"Networks","description":"The published networks whose slices are included in this sum."},"slice_count":{"type":"integer","title":"Slice Count","description":"How many network slices are included in this sum."},"late_networks":{"items":{"type":"string"},"type":"array","title":"Late Networks","description":"Networks whose slice in the sum is currently SNAPSHOT_LATE; they are still summed, and an empty list means none are late."},"history_weakest_tier":{"type":"string","enum":["STORAGE_PROVEN","ETH_CALL","RPC_QUORUM"],"title":"History Weakest Tier","description":"The weakest evidence tier appearing anywhere in the history of any network included in the sum, the label for a chart of the combined series."},"all_networks_measured":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"All Networks Measured","description":"Whether the recorded third-party DefiLlama network split shows no circulating value outside the published networks; null when that recorded split cannot answer for this token."}},"type":"object","required":["total_supply","source_tier","as_of","networks","slice_count","late_networks","history_weakest_tier","all_networks_measured"],"title":"BoardMeasuredFloat"},"BoardNetworkSlice":{"properties":{"network":{"type":"string","title":"Network","description":"ReserveBeat's registry name for the published network this slice was measured on, for example ethereum."},"family":{"type":"string","enum":["EVM","TRON","SOLANA","XRPL","STELLAR","HEDERA"],"title":"Family","description":"The blockchain family of this network, which determines how the supply reading and its pin are taken."},"address":{"type":"string","title":"Address","description":"The token's contract or issuance address on this network, as recorded in ReserveBeat's registry."},"decimals":{"type":"integer","title":"Decimals","description":"The number of decimals the token uses on this network, which can differ between networks for the same symbol."},"total_supply":{"type":"string","title":"Total Supply","description":"The measured total supply on this network as a decimal string, scaled by this slice's own decimals from the base-unit reading."},"total_supply_base_units":{"type":"string","title":"Total Supply Base Units","description":"The measured total supply on this network as an integer string in the token's base units, exactly as read on-chain."},"source_tier":{"type":"string","enum":["STORAGE_PROVEN","ETH_CALL","RPC_QUORUM"],"title":"Source Tier","description":"The evidence tier of this reading: storage-proven, a quorum contract call, or RPC-quorum agreement only, from strongest to weakest."},"pin_kind":{"anyOf":[{"type":"string","enum":["BLOCK_HASH","BLOCK_ID","SLOT_BLOCKHASH","LEDGER_HASH","LEDGER_SEQUENCE_HASH","MIRROR_BLOCK_HASH"]},{"type":"null"}],"title":"Pin Kind","description":"The kind of chain-native reference the reading was pinned to, such as a block hash, a Solana slot and blockhash, or a ledger hash; null when the reading recorded no pin."},"pin_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pin Ref","description":"The chain-native reference value the reading was pinned to, in the form named by pin_kind; null when the reading recorded no pin."},"block_number":{"type":"integer","title":"Block Number","description":"The network's own position counter at the reading: a block number, slot, or ledger index depending on the network family."},"as_of":{"type":"string","format":"date-time","title":"As Of","description":"ISO 8601 timestamp of the block or ledger the reading was taken at, not the time ReserveBeat wrote it."},"age_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Age Seconds","description":"Seconds between this reading's as_of and the moment the response was built, measured by the database clock; null if no age could be measured."},"freshness":{"type":"string","enum":["CURRENT","SNAPSHOT_LATE","NONE"],"title":"Freshness","description":"Freshness verdict for this reading: CURRENT, SNAPSHOT_LATE once it is more than three hours old, or NONE when no age is available."},"legs":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Legs","description":"How many independent providers returned this reading, taken from the reading's own quorum record; null when no count is held, never zero, with the reason in legs_absence."},"legs_absence":{"anyOf":[{"type":"string","enum":["RETENTION_EXPIRED","NO_QUORUM_RECORD","PAYLOAD_UNREADABLE","NO_PARTICIPANT_LIST"]},{"type":"null"}],"title":"Legs Absence","description":"Why legs is null for this reading, such as the quorum record having been removed under retention or never having existed; null whenever legs carries a count."},"snapshot_artifact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Snapshot Artifact Id","description":"Identifier of the evidence artifact recording this supply snapshot; null when the reading has no snapshot artifact."},"quorum_log_artifact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quorum Log Artifact Id","description":"Identifier of the evidence artifact recording the provider quorum behind this reading; null when the reading cites no quorum record."},"storage_proof_artifact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Storage Proof Artifact Id","description":"Identifier of the evidence artifact holding the storage proof for this reading; null when the reading has no storage proof."},"first_measured_at":{"type":"string","format":"date-time","title":"First Measured At","description":"ISO 8601 timestamp of the earliest reading ReserveBeat holds for this token on this network, marking when measurement there began."},"history_points":{"type":"integer","title":"History Points","description":"The number of supply readings ReserveBeat holds for this token on this network."},"history_tiers":{"items":{"type":"string","enum":["STORAGE_PROVEN","ETH_CALL","RPC_QUORUM"]},"type":"array","title":"History Tiers","description":"Every distinct evidence tier that appears anywhere in this network's reading history, strongest first, with no dates attached."},"history_weakest_tier":{"type":"string","enum":["STORAGE_PROVEN","ETH_CALL","RPC_QUORUM"],"title":"History Weakest Tier","description":"The weakest evidence tier appearing anywhere in this network's reading history, the honest label for a chart of the whole series."},"issuer_stated":{"anyOf":[{"$ref":"#/components/schemas/BoardIssuerStated"},{"type":"null"}],"description":"The issuer's own figure for this network as stated in its latest active attestation report, shown beside the measurement and never combined with it; null when that report states no figure for this network."},"self_reported":{"anyOf":[{"$ref":"#/components/schemas/BoardSelfReportedNetwork"},{"type":"null"}],"description":"The issuer's own self-reported figures for this network from its machine-readable file, not attested by any accountant; null when no active statement names this network."}},"type":"object","required":["network","family","address","decimals","total_supply","total_supply_base_units","source_tier","pin_kind","pin_ref","block_number","as_of","age_seconds","freshness","legs","snapshot_artifact_id","quorum_log_artifact_id","storage_proof_artifact_id","first_measured_at","history_points","history_tiers","history_weakest_tier","issuer_stated"],"title":"BoardNetworkSlice"},"BoardNotCovered":{"properties":{"chains_ingested":{"items":{"type":"string"},"type":"array","title":"Chains Ingested","description":"Every network on which the board publishes tracked tokens."},"tokens_without_attestation_series":{"items":{"type":"string"},"type":"array","title":"Tokens Without Attestation Series","description":"Symbols of tracked tokens for which ReserveBeat holds no attestation report series."},"source_tiers_in_use":{"items":{"type":"string","enum":["STORAGE_PROVEN","ETH_CALL","RPC_QUORUM"]},"type":"array","title":"Source Tiers In Use","description":"Every evidence tier that appears in supply readings on published networks, so a reader can see which tiers the board's figures rest on."}},"type":"object","required":["chains_ingested","tokens_without_attestation_series","source_tiers_in_use"],"title":"BoardNotCovered"},"BoardPublishedUnreadable":{"properties":{"period":{"type":"string","title":"Period","description":"The report month (YYYY-MM) the issuer's document was published for."},"document_url":{"type":"string","title":"Document Url","description":"Address of the document as the issuer's own reporting page lists it."},"document_sha256":{"type":"string","title":"Document Sha256","description":"SHA-256 hex digest of the document bytes ReserveBeat holds, so a reader can fetch the issuer's document and compare."},"captured_at":{"type":"string","format":"date-time","title":"Captured At","description":"ISO 8601 timestamp when ReserveBeat captured the document's bytes."}},"type":"object","required":["period","document_url","document_sha256","captured_at"],"title":"BoardPublishedUnreadable"},"BoardReconciliation":{"properties":{"as_of":{"type":"string","format":"date","title":"As Of","description":"The as-of date (ISO 8601) that the attestation report states for the attested supply figure on this row."},"attested_scope":{"type":"string","enum":["ETHEREUM","NETWORK","TOTAL"],"title":"Attested Scope","description":"What the report itemized for this comparison: ETHEREUM when it states a per-network liability row naming the token's network and that network is Ethereum (a direct comparison), NETWORK when it states such a row for a token whose home network is another one (the same direct comparison, on that network), TOTAL when it states only a whole-token liability (a bound check of the supply measured on the token's home network against that total)."},"attested_supply":{"type":"string","title":"Attested Supply","description":"The tokens-outstanding figure the attestation report states for this scope at this as-of date, as a decimal string exactly as the report states it."},"measured_supply":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measured Supply","description":"The on-chain total supply ReserveBeat measured at the stated cutoff on the token's own (home) network, in whole tokens as a decimal string. For TOTAL scope it is that network's slice only, checked as an upper bound against the whole-token total; the token's other networks are not measured into it. Null when no result is issued."},"measured_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Measured At","description":"Timestamp (ISO 8601) of the measurement: the last block at or before the stated cutoff when the supply was read there, or the recorder snapshot's time when a snapshot within 15 minutes of the cutoff stood in. Null when nothing was measured."},"measured_block":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Measured Block","description":"Number of the block the token's home-network supply was measured at: the last block whose timestamp is at or before the stated cutoff, or the snapshot's block when a snapshot stood in. Null when nothing was measured."},"measured_tier":{"anyOf":[{"type":"string","enum":["STORAGE_PROVEN","ETH_CALL","RPC_QUORUM"]},{"type":"null"}],"title":"Measured Tier","description":"How the supply at the cutoff was verified, from strongest (storage proof) to weakest (provider quorum). Null when nothing was measured."},"measured_artifact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measured Artifact Id","description":"Identifier of the evidence record behind the token's home-network measurement: the supply read at the cutoff block, or the snapshot that stood in for it. Null when nothing was measured."},"pairing_offset_h":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pairing Offset H","description":"Hours from the document's stated cutoff instant (cutoff_at) to measured_at, to two decimals. Zero or a few seconds negative when the supply was read at the cutoff block; within plus or minus 0.25 when a snapshot stood in. Null when nothing was measured."},"cutoff_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Cutoff At","description":"The instant the attesting document states its figures are as of: the as-of date at the document family's stated time of day, in its stated zone, expressed in UTC (for example 5:00 PM Eastern Time, or 11:59 PM Coordinated Universal Time). Supply is read at the last block at or before this instant. Null when the document family states no time of day; nothing is then measured, and the row reads NO_CONTEMPORANEOUS_SNAPSHOT."},"delta":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Delta","description":"An attested figure set against the token's own on-chain supply, read at the last block at or before the time the report states its figures are as of. Where the document itemizes the token's own network, the delta is the supply read there minus that itemized figure, with its ratio to the attested figure quantized to six decimal places against a published tolerance. Where the document states only a total, the supply read on the token's own network is bound-checked against that total instead of differenced, with that network's share of the total beside it. Without a read at that block, ReserveBeat's recorder snapshot within fifteen minutes of the stated time stands in, and the row says which. Where neither exists — the report states no time of day, the read has not landed yet, or the read was refused — the row states the absence and the reason, never a pass."},"delta_ratio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Delta Ratio","description":"Measured supply minus attested supply, divided by attested supply, as a decimal string at six decimal places with banker's rounding; null for TOTAL scope, when no supply was read at the cutoff, or when the attested figure is zero."},"eth_share_of_attested":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Eth Share Of Attested","description":"The supply measured at the cutoff on the token's home network, divided by the report's whole-token total, as a decimal string at six decimal places with banker's rounding. Present only for TOTAL scope. Null otherwise, or when no result is issued."},"status":{"type":"string","enum":["RECONCILED","WITHIN_BOUND","EXCEEDS_TOLERANCE","NO_CONTEMPORANEOUS_SNAPSHOT"],"title":"Status","description":"The comparison outcome. RECONCILED (ETHEREUM or NETWORK scope): the supply measured at the stated cutoff is within the tolerance of the attested figure. WITHIN_BOUND (TOTAL scope): the home-network supply measured at the cutoff does not exceed the attested whole-token total plus the tolerance, a bound check rather than a reconciliation. EXCEEDS_TOLERANCE: the comparison does not hold. NO_CONTEMPORANEOUS_SNAPSHOT: nothing was measured at the cutoff (no_verdict_reason says why)."},"tolerance":{"type":"string","title":"Tolerance","description":"The relative tolerance the comparison was judged against, as a decimal string fraction (by default 0.005, i.e. half a percent)."},"recon_window_h":{"type":"number","title":"Recon Window H","description":"The window in hours on either side of the document's stated cutoff instant (cutoff_at) within which a recorder snapshot may stand in when the supply was not read at the cutoff block. Always 0.25 (15 minutes)."},"measurement_basis":{"anyOf":[{"type":"string","enum":["CUTOFF_READ","SNAPSHOT"]},{"type":"null"}],"title":"Measurement Basis","description":"How the measured supply was obtained. CUTOFF_READ: read at the last block at or before the stated cutoff, through at least two independent providers that must agree byte for byte. SNAPSHOT: ReserveBeat's recorder snapshot within 15 minutes of the cutoff, which is used only where no cutoff read exists. Null when nothing was measured."},"no_verdict_reason":{"anyOf":[{"type":"string","enum":["CUTOFF_UNKNOWN","READ_PENDING","CHAIN_UNREADABLE"]},{"type":"null"}],"title":"No Verdict Reason","description":"Why no result is issued on this row. CUTOFF_UNKNOWN: the report states no cutoff time of day. READ_PENDING: the supply at the cutoff has not been read yet, and no snapshot within 15 minutes of it exists. CHAIN_UNREADABLE: the token's home network could not be read at the cutoff and has no snapshot within 15 minutes of it (see unread_chains). Null when a result is issued."},"measured_chains":{"items":{"$ref":"#/components/schemas/BoardMeasuredChain"},"type":"array","title":"Measured Chains","description":"The measurement behind measured_supply: the token's own (home) network, for both scopes, with how it was measured (source), its supply, block, timestamp, tier and evidence record. Empty when nothing was measured."},"unread_chains":{"items":{"$ref":"#/components/schemas/BoardUnreadChain"},"type":"array","title":"Unread Chains","description":"The token's home network when it has no measurement at the cutoff (no read at the cutoff block and no snapshot within 15 minutes of it), with its reason. Empty when a result is issued, or when the cutoff itself is unknown."}},"type":"object","required":["as_of","attested_scope","attested_supply","measured_supply","measured_at","measured_block","measured_tier","measured_artifact_id","pairing_offset_h","cutoff_at","delta","delta_ratio","eth_share_of_attested","status","tolerance","recon_window_h","measurement_basis","no_verdict_reason","measured_chains","unread_chains"],"title":"BoardReconciliation"},"BoardReportDetail":{"properties":{"report_month":{"type":"string","title":"Report Month","description":"Month the attestation report covers, as YYYY-MM, taken from the document text."},"template_id":{"type":"string","title":"Template Id","description":"Identifier of the document layout template this report was parsed with."},"issued_on":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Issued On","description":"Issue date (ISO 8601) the report states; null when the document states none."},"as_of_dates":{"items":{"type":"string","format":"date"},"type":"array","title":"As Of Dates","description":"Every as-of date (ISO 8601) the report states figures for, in ascending order."},"composition_as_of":{"type":"string","format":"date","title":"Composition As Of","description":"The latest stated as-of date (ISO 8601), the date the composition rows shown here are taken from."},"composition":{"items":{"$ref":"#/components/schemas/BoardCompositionRow"},"type":"array","title":"Composition","description":"Total, liability and category rows, plus token-liability position rows, that the attestation report states at the composition as-of date, with amounts verbatim as stated."},"position_rows_total":{"type":"integer","title":"Position Rows Total","description":"Total number of composition rows stored for this report across all its as-of dates, including position-level rows not rendered in the composition list."},"report_scope":{"type":"string","enum":["SINGLE_TOKEN","CONSOLIDATED_GROUP"],"title":"Report Scope","description":"Whether the report covers this token alone or a consolidated group of the issuer's tokens."},"source_tier":{"type":"string","const":"ISSUER_ATTESTED","title":"Source Tier","description":"Source voice of these figures, always ISSUER_ATTESTED: stated in an issuer's attestation report, not measured by ReserveBeat."},"assurance":{"type":"string","enum":["ATTESTED","EXAMINED"],"title":"Assurance","description":"What stands behind these figures: EXAMINED when the document's engagement wording classifies as an examination or audit, otherwise ATTESTED."},"engagement_type_enum":{"anyOf":[{"type":"string","enum":["EXAMINATION","LIMITED_ASSURANCE","AUP","AUDIT","GENIUS_EXAMINED_REPORT","SELF_REPORT"]},{"type":"null"}],"title":"Engagement Type Enum","description":"The document's verbatim engagement wording classified into a fixed vocabulary; null when the document carries no engagement wording or wording the vocabulary does not classify."},"source_sha256":{"type":"string","title":"Source Sha256","description":"SHA-256 hex digest of the source document this report was parsed from."},"source_url":{"type":"string","title":"Source Url","description":"URL the source attestation document was retrieved from."},"source_artifact_id":{"type":"string","title":"Source Artifact Id","description":"Identifier of the evidence-chain artifact holding the captured source document."},"report_artifact_id":{"type":"string","title":"Report Artifact Id","description":"Identifier of the evidence-chain artifact holding the parsed report record."}},"type":"object","required":["report_month","template_id","issued_on","as_of_dates","composition_as_of","composition","position_rows_total","report_scope","source_tier","assurance","engagement_type_enum","source_sha256","source_url","source_artifact_id","report_artifact_id"],"title":"BoardReportDetail"},"BoardRestatedRow":{"properties":{"as_of":{"type":"string","format":"date","title":"As Of","description":"The as-of date (ISO 8601) of the changed line."},"row_kind":{"type":"string","enum":["CATEGORY","POSITION","TOTAL","LIABILITY"],"title":"Row Kind","description":"The kind of the changed line: CATEGORY, POSITION, TOTAL or LIABILITY."},"category":{"type":"string","enum":["US_TREASURY","TREASURY_REPO","GOVT_MMF","CASH","TIMING","OTHER","CORPORATE_BOND","PRECIOUS_METALS","BITCOIN","PUBLIC_EQUITY","SECURED_LOAN","OTHER_REPO","NON_US_TREASURY","TOTAL_RESERVE","TOKEN_LIABILITY"],"title":"Category","description":"The changed line's normalized category."},"label":{"type":"string","title":"Label","description":"The changed line's own text, exactly as the report writes it."},"unit":{"type":"string","enum":["USD","TOKEN"],"title":"Unit","description":"The unit of the line's amount: USD or TOKEN."},"old":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Old","description":"The amount the superseded parse carried for the line; null when it had no such line."},"new":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"New","description":"The amount this parse carries for the line; null when this parse has no such line."}},"type":"object","required":["as_of","row_kind","category","label","unit","old","new"],"title":"BoardRestatedRow"},"BoardRestatement":{"properties":{"superseded_report_artifact_id":{"type":"string","title":"Superseded Report Artifact Id","description":"Identifier of the evidence-chain artifact holding the earlier parse this report replaced, which is retained and independently verifiable."},"superseded_parsed_at":{"type":"string","format":"date-time","title":"Superseded Parsed At","description":"When ReserveBeat parsed the earlier report record this one replaced."},"superseded_source_sha256":{"type":"string","title":"Superseded Source Sha256","description":"SHA-256 hex digest of the source document the replaced parse was read from."},"restatement_reason":{"type":"string","title":"Restatement Reason","description":"The reason recorded, as text, when this parse replaced the earlier one."},"figures_changed":{"type":"boolean","title":"Figures Changed","description":"Whether any amount differs between the superseded parse and this one; false when the re-parse changed only what was read around the figures."},"changed_rows":{"items":{"$ref":"#/components/schemas/BoardRestatedRow"},"type":"array","title":"Changed Rows","description":"Every composition line whose amount differs between the superseded parse and this one, with both amounts; empty when figures_changed is false."}},"type":"object","required":["superseded_report_artifact_id","superseded_parsed_at","superseded_source_sha256","restatement_reason","figures_changed","changed_rows"],"title":"BoardRestatement"},"BoardReviewStatus":{"properties":{"status":{"type":"string","enum":["CURRENT","STALE","MISSING"],"title":"Status","description":"Whether the latest board review covers the current methodology: CURRENT if it does, STALE if it does not or cannot be read, MISSING if no review exists."},"reviewed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Reviewed At","description":"Timestamp (ISO 8601) at which the latest board review record was filed; null when no review exists."},"reviewer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewer","description":"The organisation that reviewed and stands behind this release (ReserveBeat), never a person's name; null when no review exists or its record could not be read."},"methodology_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Methodology Sha256","description":"SHA-256 hash (hex) of the methodology document the latest review says it covers; null when no review exists or its record could not be read."},"artifact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Artifact Id","description":"Identifier of the evidence record holding the latest board review; null when no review exists."},"anchor_status":{"anyOf":[{"type":"string","enum":["PENDING","ANCHORED","LATE_ANCHOR","UNANCHORED"]},{"type":"null"}],"title":"Anchor Status","description":"Whether the latest review's evidence record is covered by an external timestamp anchor yet; null when no review exists."},"methodology_notice":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Methodology Notice","description":"The publisher's notice shown above the methodology document on the website, while the current methodology document still describes a rule the board no longer applies; null when no such notice applies or the document could not be read."}},"type":"object","required":["status"],"title":"BoardReviewStatus"},"BoardRevisionEntry":{"properties":{"family":{"type":"string","enum":["ATTESTATION_REPORT","DISCLOSURE_SCORE"],"title":"Family","description":"Which kind of record was superseded in this revision: a parsed attestation report or a disclosure score."},"score_kind":{"anyOf":[{"type":"string","enum":["REPORT","SERIES"]},{"type":"null"}],"title":"Score Kind","description":"For a disclosure-score revision, whether the score covers a single report or the token's whole series; null for attestation-report revisions."},"symbol":{"type":"string","title":"Symbol","description":"Ticker symbol of the token whose record was revised."},"token_name":{"type":"string","title":"Token Name","description":"Display name of the token whose record was revised."},"issuer_name":{"type":"string","title":"Issuer Name","description":"Short display name of the token's issuer."},"chain":{"type":"string","title":"Chain","description":"Name of the network of the token record the revision belongs to."},"period":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Period","description":"Report month (YYYY-MM) the revised record covers; null for a disclosure score that covers the whole series rather than one report."},"restatement_reason":{"type":"string","title":"Restatement Reason","description":"The reason recorded, as text, when the superseding record replaced the earlier one."},"superseding_recorded_at":{"type":"string","format":"date-time","title":"Superseding Recorded At","description":"When ReserveBeat recorded the superseding record: its parse time for an attestation report, or its scoring time for a disclosure score."},"superseding_artifact_id":{"type":"string","title":"Superseding Artifact Id","description":"Identifier of the evidence-chain artifact holding the superseding record, which can be retrieved and verified independently."},"superseding_anchor_status":{"anyOf":[{"type":"string","enum":["PENDING","ANCHORED","LATE_ANCHOR","UNANCHORED"]},{"type":"null"}],"title":"Superseding Anchor Status","description":"External timestamp-anchoring state of the superseding record's artifact: pending, anchored, anchored late, or UNANCHORED when no anchor batch covers it yet."},"superseding_source_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Superseding Source Sha256","description":"SHA-256 hex digest of the source document the superseding attestation parse was read from; null for disclosure-score revisions."},"superseding_rubric_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Superseding Rubric Version","description":"Version of the disclosure-score rubric the superseding score was computed under; null for attestation-report revisions."},"superseding_active":{"type":"boolean","title":"Superseding Active","description":"True while the superseding record is still the active one; false when it has itself since been superseded by a later revision."},"superseded_recorded_at":{"type":"string","format":"date-time","title":"Superseded Recorded At","description":"When ReserveBeat recorded the superseded (earlier) record: its parse time for an attestation report, or its scoring time for a disclosure score."},"superseded_artifact_id":{"type":"string","title":"Superseded Artifact Id","description":"Identifier of the evidence-chain artifact holding the superseded record, which is retained and can still be verified independently."},"superseded_anchor_status":{"anyOf":[{"type":"string","enum":["PENDING","ANCHORED","LATE_ANCHOR","UNANCHORED"]},{"type":"null"}],"title":"Superseded Anchor Status","description":"External timestamp-anchoring state of the superseded record's artifact: pending, anchored, anchored late, or UNANCHORED when no anchor batch covers it yet."},"superseded_source_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Superseded Source Sha256","description":"SHA-256 hex digest of the source document the superseded attestation parse was read from; null for disclosure-score revisions."},"superseded_rubric_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Superseded Rubric Version","description":"Version of the disclosure-score rubric the superseded score was computed under; null for attestation-report revisions."}},"type":"object","required":["family","score_kind","symbol","token_name","issuer_name","chain","period","restatement_reason","superseding_recorded_at","superseding_artifact_id","superseding_anchor_status","superseding_source_sha256","superseding_rubric_version","superseding_active","superseded_recorded_at","superseded_artifact_id","superseded_anchor_status","superseded_source_sha256","superseded_rubric_version"],"title":"BoardRevisionEntry"},"BoardScoreDimension":{"properties":{"dimension":{"type":"string","title":"Dimension","description":"The identifier of this rubric dimension, for example accountant_named."},"met":{"type":"boolean","title":"Met","description":"True when the disclosure meets this dimension, judged from the stored fact beside it."},"fact":{"type":"string","title":"Fact","description":"The stored fact this dimension was decided from, as text, or a marker: NOT_FOUND_IN_DOCUMENT when the document was checked and does not contain it, NOT_PROBED when the parser for this layout does not check for it, NOT_IN_TEXT_LAYER when the document carries it only as an image."},"fact_source":{"type":"string","title":"Fact Source","description":"A reference naming the stored field the fact was read from, so the decision can be traced back to its data."},"what_would_change_it":{"type":"string","title":"What Would Change It","description":"A published sentence stating the condition under which this dimension would change, describing the document or series rather than the issuer."}},"type":"object","required":["dimension","met","fact","fact_source","what_would_change_it"],"title":"BoardScoreDimension"},"BoardSelfReportedNetwork":{"properties":{"figures":{"items":{"$ref":"#/components/schemas/BoardIssuerStatementFigure"},"type":"array","title":"Figures","description":"The figures the issuer's own statement gives for this network, each with its verbatim label, amount, unit and scale, passed through without arithmetic."},"stated_as_of":{"type":"string","format":"date","title":"Stated As Of","description":"ISO 8601 date the issuer's statement is as of, which is not the date of the measured slice beside it."},"stated_as_of_source":{"type":"string","enum":["SURFACE","OPERATOR"],"title":"Stated As Of Source","description":"Where stated_as_of came from: SURFACE when read from the captured statement itself, OPERATOR when the statement carries no date and a person supplied it from the issuer's published page."},"captured_at":{"type":"string","format":"date-time","title":"Captured At","description":"ISO 8601 timestamp when ReserveBeat captured the issuer's statement."},"template_id":{"type":"string","title":"Template Id","description":"Identifier of the parsing template ReserveBeat used to read the issuer's statement."},"assurance":{"type":"string","const":"SELF_REPORTED","title":"Assurance","description":"Always SELF_REPORTED: these figures are the issuer's own statement and no accountant's engagement stands behind them."},"engagement_type_enum":{"type":"string","const":"SELF_REPORT","title":"Engagement Type Enum","description":"Always SELF_REPORT, marking that no practitioner engagement covers these figures."},"network_label":{"type":"string","title":"Network Label","description":"The issuer's own name for this network, verbatim as it appears in the statement."},"source_artifact_id":{"type":"string","title":"Source Artifact Id","description":"Identifier of the evidence artifact holding the captured bytes of the issuer's statement."},"statement_artifact_id":{"type":"string","title":"Statement Artifact Id","description":"Identifier of the evidence artifact recording ReserveBeat's parsed record of the issuer's statement."}},"type":"object","required":["figures","stated_as_of","stated_as_of_source","captured_at","template_id","assurance","engagement_type_enum","network_label","source_artifact_id","statement_artifact_id"],"title":"BoardSelfReportedNetwork"},"BoardSupplyBucket":{"properties":{"bucket_start":{"type":"string","format":"date-time","title":"Bucket Start","description":"Start of this time bucket, as an ISO 8601 timestamp in UTC."},"time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time","description":"Timestamp of the supply reading this bucket holds, the same reading served in the supply series; null when the bucket is empty."},"total_supply":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Total Supply","description":"The measured total supply of that reading, the same string the supply series serves; null when the bucket is empty."}},"type":"object","required":["bucket_start","time","total_supply"],"title":"BoardSupplyBucket"},"BoardSupplyFigure":{"properties":{"time":{"type":"string","format":"date-time","title":"Time","description":"ISO 8601 timestamp of the block the supply reading was taken at."},"block_number":{"type":"integer","title":"Block Number","description":"The network's position counter at the reading: a block number, slot, or ledger index depending on the network."},"block_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Block Hash","description":"The EVM block hash the reading was taken at; null on networks whose pin is not an EVM block hash."},"total_supply_base_units":{"type":"string","title":"Total Supply Base Units","description":"The measured total supply as an integer string in the token's base units, exactly as read on-chain."},"total_supply":{"type":"string","title":"Total Supply","description":"The measured total supply as a decimal string, scaled exactly from the base units by the token's decimals."},"source_tier":{"type":"string","enum":["STORAGE_PROVEN","ETH_CALL","RPC_QUORUM"],"title":"Source Tier","description":"The evidence tier of this reading: storage-proven, a quorum contract call, or RPC-quorum agreement only, from strongest to weakest."},"snapshot_artifact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Snapshot Artifact Id","description":"Identifier of the evidence artifact recording this supply snapshot; null when the reading has no snapshot artifact."},"quorum_log_artifact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quorum Log Artifact Id","description":"Identifier of the evidence artifact recording the provider quorum behind this reading; null when none is held."},"storage_proof_artifact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Storage Proof Artifact Id","description":"Identifier of the evidence artifact holding the storage proof for this reading; null when the reading has no storage proof."},"anchor_status":{"anyOf":[{"type":"string","enum":["PENDING","ANCHORED","LATE_ANCHOR","UNANCHORED"]},{"type":"null"}],"title":"Anchor Status","description":"Whether the snapshot's evidence record is covered by an external timestamp anchor (pending, anchored, anchored late, or not yet anchored); null when there is no evidence record to anchor."},"provenance":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provenance","description":"Null when ReserveBeat's own recorder observed this reading; otherwise a verbatim note that the standby recorder observed it, naming that host, when it observed, and its own record reference."}},"type":"object","required":["time","block_number","block_hash","total_supply_base_units","total_supply","source_tier","snapshot_artifact_id","quorum_log_artifact_id","storage_proof_artifact_id","anchor_status","provenance"],"title":"BoardSupplyFigure"},"BoardTokenCard":{"properties":{"symbol":{"type":"string","title":"Symbol","description":"The token's ticker symbol as tracked on the board, used as the path key for its routes."},"token_name":{"type":"string","title":"Token Name","description":"The token's full name as recorded in ReserveBeat's token registry."},"issuer_name":{"type":"string","title":"Issuer Name","description":"The issuer's short display name, such as the brand a reader knows the issuer by."},"issuer_entity_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Issuer Entity Name","description":"The issuing legal entity the token's attestation source names; null when no attestation source is recorded for this token, so no entity is stated."},"chain":{"type":"string","title":"Chain","description":"The home network this row's contract address, decimals and measured figures were read from."},"address":{"type":"string","title":"Address","description":"The token's contract address on the home network named in chain."},"decimals":{"type":"integer","title":"Decimals","description":"The number of decimals the token contract uses, which scales base-unit supply readings into whole tokens."},"supply":{"anyOf":[{"$ref":"#/components/schemas/BoardSupplyFigure"},{"type":"null"}],"description":"ReserveBeat's latest measured on-chain supply reading for this token on its home network; null when none has been taken."},"latest_attested":{"anyOf":[{"$ref":"#/components/schemas/BoardAttestedCoverage"},{"type":"null"}],"description":"The newest attested coverage point for this token; null when none is held or when it is withheld because the latest report is stale."},"attestation_status":{"type":"string","enum":["CURRENT","STALE","WITHHELD_STALE","NONE"],"title":"Attestation Status","description":"The age of a token's most recent report month, measured against the cadence expected for that token — the cadence recorded for its attestation source, or the default cadence when none is recorded. Past that limit the status reads STALE; within it, CURRENT. Past it by a further stated withholding grace, the status reads WITHHELD_STALE: the board stops serving that token's report-derived figures and states the withholding instead, while its on-chain supply still renders. By default the limit is forty-five days after the report month ends for a monthly cadence or when no cadence is recorded, one hundred and six days for a quarterly cadence, one hundred and ninety-eight days for a semiannual cadence and three hundred and eighty days for an annual cadence: each cadence's own period plus the same fourteen days of publication grace. The withholding grace is a further thirty days by default, so the figures are withheld past seventy-five days for a monthly cadence, one hundred and thirty-six days for a quarterly cadence, two hundred and twenty-eight days for a semiannual cadence and four hundred and ten days for an annual cadence. Every token card and token response states its own two limits, as stale_after_days and withheld_after_days. A token with no attestation series at all reads NONE, which is an absence rather than a value. The status states age, not lateness: an issuer publishing on its usual schedule can read STALE while its next report is not yet due, which is what overdue answers."},"report_scope":{"anyOf":[{"type":"string","enum":["SINGLE_TOKEN","CONSOLIDATED_GROUP"]},{"type":"null"}],"title":"Report Scope","description":"Whether the latest active attestation report covers this token alone or a consolidated group of tokens; null when no report is held."},"engagement_type_enum":{"anyOf":[{"type":"string","enum":["EXAMINATION","LIMITED_ASSURANCE","AUP","AUDIT","GENIUS_EXAMINED_REPORT","SELF_REPORT"]},{"type":"null"}],"title":"Engagement Type Enum","description":"The engagement level of the token's newest attestation report, classified from the report's own engagement wording: EXAMINATION for an examination or reasonable assurance engagement, LIMITED_ASSURANCE for a limited assurance engagement; null when the token has no report or the report's text carries no engagement wording the vocabulary classifies."},"withheld_stale":{"anyOf":[{"$ref":"#/components/schemas/BoardWithheldStale"},{"type":"null"}],"description":"Set when the latest attestation report is past its staleness limit, meaning the attested figure on this card is withheld rather than missing; null when nothing is withheld."},"chains":{"items":{"type":"string"},"type":"array","title":"Chains","deprecated":true,"description":"The same list as chains_ingested, under the name this field was first published with; kept for one release and then retired with notice."},"chains_ingested":{"items":{"type":"string"},"type":"array","title":"Chains Ingested","description":"Every network this board measures and publishes this symbol on, home network first; always present, with one element for a single-network token. It is not every network the issuer has deployed the token to."},"latest_stated":{"anyOf":[{"$ref":"#/components/schemas/BoardLatestStated"},{"type":"null"}],"description":"The newest active report's own total reserve and liability figures at the scope the report states them, including a consolidated group report whose figures latest_attested leaves out; null when the token has no active report and while its attested figures are withheld as stale."},"overdue":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Overdue","description":"Whether a token's next attestation report is late against the token's own schedule. The next report is expected by the end of the reporting period after the latest report month, stepped by the token's expected cadence, plus the publication lag that latest report itself showed. Overdue reads true once today's UTC date is past that expected-by date plus a stated grace window with no newer report held, and false until then. Held means captured by this board, so the grace window also absorbs the days between an issuer publishing and the board capturing. It is null when no expected-by date can be built: a token with no attestation series, or a latest report that states no issue date to measure a lag from."},"next_report_expected_by":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Next Report Expected By","description":"The date (ISO 8601) the token's next attestation report is expected by: the end of the reporting period after last_report_month, stepped by the expected cadence, plus the newest report's own publication lag. Null when the token has no attestation series or its newest report states no issue date."},"overdue_grace_days":{"type":"integer","title":"Overdue Grace Days","description":"The days past next_report_expected_by allowed before overdue reads true, the same grace for every cadence; stated so the verdict can be recomputed."},"stale_after_days":{"type":"integer","title":"Stale After Days","description":"The days after the end of the latest report month past which attestation_status reads STALE, for this token's expected cadence; stated so the verdict can be recomputed."},"withheld_after_days":{"type":"integer","title":"Withheld After Days","description":"The days after the end of the latest report month past which attestation_status reads WITHHELD_STALE and the report-derived figures are withheld, for this token's expected cadence: stale_after_days plus the withholding grace."}},"type":"object","required":["symbol","token_name","issuer_name","issuer_entity_name","chain","address","decimals","supply","latest_attested","attestation_status","report_scope","engagement_type_enum","withheld_stale","chains","chains_ingested","latest_stated","overdue","next_report_expected_by","overdue_grace_days","stale_after_days","withheld_after_days"],"title":"BoardTokenCard"},"BoardUnmeasuredContext":{"properties":{"amount_usd":{"type":"string","title":"Amount Usd","description":"Third-party context, not a measurement: the USD value DefiLlama's recorded pull shows circulating on networks ReserveBeat does not publish, as a two-decimal string."},"total_usd":{"type":"string","title":"Total Usd","description":"The token's total USD circulation across all networks in the same recorded DefiLlama pull, as a two-decimal string."},"networks":{"items":{"type":"string"},"type":"array","title":"Networks","description":"The largest unpublished networks in the recorded DefiLlama pull, by DefiLlama's own names, biggest first."},"other_network_count":{"type":"integer","title":"Other Network Count","description":"How many further smaller unpublished networks the recorded pull contains beyond those listed in networks."},"measured_networks":{"items":{"type":"string"},"type":"array","title":"Measured Networks","description":"The DefiLlama names of the published networks subtracted from the total, so the remainder can be checked against the pull."},"source":{"type":"string","title":"Source","description":"The name of the third-party source of this context, DefiLlama."},"source_url":{"type":"string","title":"Source Url","description":"The URL the recorded third-party pull was taken from."},"pulled_at":{"type":"string","title":"Pulled At","description":"ISO 8601 UTC timestamp string of when the recorded third-party pull was taken."},"raw_sha256":{"type":"string","title":"Raw Sha256","description":"SHA-256 hex digest of the raw response body of the recorded third-party pull, so the source bytes can be checked."}},"type":"object","required":["amount_usd","total_usd","networks","other_network_count","measured_networks","source","source_url","pulled_at","raw_sha256"],"title":"BoardUnmeasuredContext"},"BoardUnreadChain":{"properties":{"chain":{"type":"string","title":"Chain","description":"The network's name in the board registry."},"reason":{"type":"string","enum":["HISTORY_UNSUPPORTED","NO_QUORUM","LEG_FLOOR","DIVERGENCE","PENDING"],"title":"Reason","description":"Why this network's supply at the cutoff is not read, when no snapshot within 15 minutes of the cutoff exists either. HISTORY_UNSUPPORTED: the network serves no supply read at a past point. NO_QUORUM: fewer than two independent providers are configured for it. LEG_FLOOR: the providers do not hold that point in history. DIVERGENCE: the providers disagreed there. PENDING: not read yet."}},"type":"object","required":["chain","reason"],"title":"BoardUnreadChain"},"BoardWithheldStale":{"properties":{"status":{"type":"string","const":"WITHHELD_STALE","title":"Status","description":"Always WITHHELD_STALE: this token's attestation-derived figures are withheld because its latest report is too old to be stated as current."},"last_report_month":{"type":"string","title":"Last Report Month","description":"The newest active report month on file for the token, formatted YYYY-MM."},"expected_cadence":{"anyOf":[{"type":"string","enum":["MONTHLY","QUARTERLY","SEMIANNUAL","ANNUAL"]},{"type":"null"}],"title":"Expected Cadence","description":"The reporting cadence recorded for the token's attestation source; null when none is recorded and the default monthly clock applies."},"max_age_days":{"type":"integer","title":"Max Age Days","description":"The number of days after the report month ends before this token's series counts as stale, based on its expected cadence."},"grace_days":{"type":"integer","title":"Grace Days","description":"The additional days past the staleness limit before ReserveBeat stops stating the figures, a published threshold not derived from the report."},"age_days":{"type":"integer","title":"Age Days","description":"The number of days since the last report month ended."}},"type":"object","required":["status","last_report_month","expected_cadence","max_age_days","grace_days","age_days"],"title":"BoardWithheldStale"},"ChangeEmailRequest":{"properties":{"current_password":{"type":"string","title":"Current Password","description":"The account's current password, proved again so that a signed-in session alone cannot move the account to another address."},"new_email":{"type":"string","maxLength":254,"pattern":"^[^\\u0000-\\u001f\\u007f]*$","format":"email","title":"New Email","description":"The email address to move the account to, matched case-insensitively after surrounding whitespace is trimmed (at most 254 characters). Nothing changes until the link mailed to it is opened."}},"type":"object","required":["current_password","new_email"],"title":"ChangeEmailRequest"},"ChangePasswordRequest":{"properties":{"current_password":{"type":"string","title":"Current Password","description":"The account's current password, proved again so that a signed-in session alone cannot change it."},"new_password":{"type":"string","minLength":12,"title":"New Password","description":"The new password; it must be at least 12 characters long."}},"type":"object","required":["current_password","new_password"],"title":"ChangePasswordRequest"},"CloseAccountRequest":{"properties":{"current_password":{"type":"string","title":"Current Password","description":"The account's current password, proved again so that a signed-in session alone cannot close the account."}},"type":"object","required":["current_password"],"title":"CloseAccountRequest"},"ConfirmEmailChangeRequest":{"properties":{"token":{"type":"string","maxLength":128,"pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Token","description":"The token from the link mailed to the new email address; it works once and expires."}},"type":"object","required":["token"],"title":"ConfirmEmailChangeRequest"},"PasswordChangeResult":{"properties":{"status":{"type":"string","const":"password_changed","title":"Status","description":"Always password_changed: the new password is set and every account token issued before it is refused from now on."},"token":{"type":"string","title":"Token","description":"A fresh bearer token for the /account endpoints, replacing the one that made this request: every account token issued before the change, that one included, is refused from now on (401 invalid_token)."}},"type":"object","required":["status","token"],"title":"PasswordChangeResult"},"PasswordResetConfirmRequest":{"properties":{"token":{"type":"string","maxLength":128,"pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Token","description":"The token from the password-reset email link; it works once and expires."},"password":{"type":"string","minLength":12,"title":"Password","description":"The new password; it must be at least 12 characters long."}},"type":"object","required":["token","password"],"title":"PasswordResetConfirmRequest"},"PasswordResetRequest":{"properties":{"email":{"type":"string","maxLength":254,"pattern":"^[^\\u0000-\\u001f\\u007f]*$","format":"email","title":"Email","description":"The email address of the account whose password is lost, matched case-insensitively after surrounding whitespace is trimmed (at most 254 characters)."}},"type":"object","required":["email"],"title":"PasswordResetRequest"},"V1AccountBalance":{"properties":{"meta":{"$ref":"#/components/schemas/V1Meta","description":"The response envelope: disclaimer, terms and reuse licence. The as-of dates are null, because an account balance carries no board figure."},"balance_cu":{"type":"integer","title":"Balance Cu","description":"The prepaid compute units this key's account holds now, the same figure a cu_balance_exhausted refusal states; used only once the monthly allowance is spent."},"balance_expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Balance Expires At","description":"When the earliest prepaid compute units the account still holds lapse (ISO 8601 date-time); null when none are held or what is held does not lapse."},"balance_locked":{"type":"boolean","title":"Balance Locked","description":"True while a dispute on one of the account's payments is open: balance_cu then reads 0, and purchase_url refuses with 409 balance_locked until the dispute closes."},"free_allowance_cu":{"type":"integer","title":"Free Allowance Cu","description":"The monthly allowance of free compute units this key's account is served under."},"allowance_remaining_cu":{"type":"integer","title":"Allowance Remaining Cu","description":"How many of this month's free compute units are left, never below zero; requests use them before balance_cu."},"free_allowance_resets_at":{"type":"string","format":"date-time","title":"Free Allowance Resets At","description":"When the monthly allowance starts again (ISO 8601 date-time): the start of next calendar month, UTC."},"purchase_url":{"type":"string","title":"Purchase Url","description":"Where to get more compute units: once self-serve purchase is open, a checkout link for this key's account that needs no sign-in, is valid for at least a day and buys the smallest purchase GET /v1/pricing states unless a units query parameter asks for more; before then, the pricing page's API access card while that page is published, and the API page's section on access beyond the free limits otherwise."},"pricing_url":{"type":"string","title":"Pricing Url","description":"The address of the machine-readable price list, GET /v1/pricing."}},"type":"object","required":["meta","balance_cu","balance_expires_at","balance_locked","free_allowance_cu","allowance_remaining_cu","free_allowance_resets_at","purchase_url","pricing_url"],"title":"V1AccountBalance"},"V1BoardAttestationIndex":{"properties":{"review":{"$ref":"#/components/schemas/BoardReviewStatus","description":"The board's publication review state: whether a recorded review covers the current release, and when it was made."},"entries":{"items":{"$ref":"#/components/schemas/BoardAttestationEntry"},"type":"array","title":"Entries","description":"One entry per active parsed attestation report, by token and period, newest period first for each token."},"meta":{"$ref":"#/components/schemas/V1Meta","description":"The response envelope: disclaimer, terms, reuse licence, and the as-of dates of the figures this response carries, each stated as a range over the tokens it covers: the base member is the least recent of the tokens' newest dates and the _max member the most recent, and a date is null when the response carries no figure of that kind."}},"type":"object","required":["review","entries","meta"],"title":"V1BoardAttestationIndex"},"V1BoardAttestationPeriod":{"properties":{"symbol":{"type":"string","title":"Symbol","description":"The token's ticker symbol as tracked on the board, used as the path key for its routes."},"token_name":{"type":"string","title":"Token Name","description":"The token's full name as recorded in ReserveBeat's token registry."},"issuer_name":{"type":"string","title":"Issuer Name","description":"The issuer's short display name, such as the brand a reader knows the issuer by."},"issuer_entity_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Issuer Entity Name","description":"The issuing legal entity the token's attestation source names; null when no attestation source is recorded for this token, so no entity is stated."},"chain":{"type":"string","title":"Chain","description":"The home network of the token this attestation report is filed against."},"period":{"type":"string","title":"Period","description":"The report month of this attestation report, formatted YYYY-MM."},"report":{"$ref":"#/components/schemas/BoardReportDetail","description":"The attestation report for this period, rendered from the figures and composition rows the document states."},"accountant_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accountant Name","description":"The accounting firm's name, verbatim as the document's text states it; null when no firm name was extracted, which is not by itself a statement that the document names none."},"engagement_standard_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Engagement Standard Text","description":"The professional standard the engagement was performed under, verbatim as the document's text states it; null when not found in the document's text."},"engagement_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Engagement Type","description":"The kind of engagement, verbatim as the document's text describes it; null when not found in the document's text."},"prior_period":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prior Period","description":"The report month, formatted YYYY-MM, of the nearest earlier active report for this token; null when this is the first period held."},"prior_as_of":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Prior As Of","description":"The latest as-of date the prior period's report states, as an ISO 8601 date; null when no earlier active report is held."},"deltas":{"anyOf":[{"items":{"$ref":"#/components/schemas/BoardCompositionDelta"},"type":"array"},{"type":"null"}],"title":"Deltas","description":"Category-level differences between this period's stated composition and the prior period's, null on either side when a document does not state it; null when no prior period is held."},"flags":{"items":{"$ref":"#/components/schemas/BoardAttestationFlag"},"type":"array","title":"Flags","description":"Notable period-over-period changes derived from the stored reports, such as a restatement or a change of accountant, scope or template; empty when none apply."},"restatement":{"anyOf":[{"$ref":"#/components/schemas/BoardRestatement"},{"type":"null"}],"description":"When this report supersedes an earlier parse of the same period, a pointer to the superseded record and the stated reason; null when it supersedes nothing."},"score":{"anyOf":[{"$ref":"#/components/schemas/BoardDisclosureScore"},{"type":"null"}],"description":"The active disclosure score of this report, counting the rubric dimensions it meets; null when the report has not been scored."},"quote":{"anyOf":[{"$ref":"#/components/schemas/BoardAttestationQuote"},{"type":"null"}],"description":"One sentence of the source document quoted exactly as its text layer holds it, the accountant's opinion or the issuer management's assertion, at most 40 words, with the PDF page it is on; null when no such sentence was extracted from this document, which is never filled with a shortened or reworded one."},"meta":{"$ref":"#/components/schemas/V1Meta","description":"The response envelope: disclaimer, terms, reuse licence, and the as-of dates of the figures this response carries."}},"type":"object","required":["symbol","token_name","issuer_name","issuer_entity_name","chain","period","report","accountant_name","engagement_standard_text","engagement_type","prior_period","prior_as_of","deltas","flags","restatement","score","quote","meta"],"title":"V1BoardAttestationPeriod"},"V1BoardCoverage":{"properties":{"review":{"$ref":"#/components/schemas/BoardReviewStatus","description":"The board's publication review state: whether a recorded review covers the current release, and when it was made."},"tracked_token_count":{"type":"integer","title":"Tracked Token Count","description":"Every count the board states — the tokens on the board, the board filter's All, Current and Stale, and the attestation reports parsed — is a count of records held: never sampled, projected, or rounded. Current and Stale follow each token's attestation status; a token whose status is neither shows under All only."},"tokens_with_attestation_series":{"type":"integer","title":"Tokens With Attestation Series","description":"The number of tracked tokens for which at least one attestation report is held, a count of records."},"tokens_current":{"type":"integer","title":"Tokens Current","description":"The number of tracked tokens whose attestation status currently reads CURRENT, a count of records."},"tokens":{"items":{"$ref":"#/components/schemas/BoardCoverageToken"},"type":"array","title":"Tokens","description":"One row per tracked token stating what the board holds for it, how deep and how fresh, with null where nothing is held."},"not_covered":{"$ref":"#/components/schemas/BoardNotCovered","description":"What the board does not cover, stated explicitly: tokens with no attestation series, plus the networks ingested and source tiers in use."},"meta":{"$ref":"#/components/schemas/V1Meta","description":"The response envelope: disclaimer, terms, reuse licence, and the as-of dates of the figures this response carries, each stated as a range over the tokens it covers: the base member is the least recent of the tokens' newest dates and the _max member the most recent, and a date is null when the response carries no figure of that kind."}},"type":"object","required":["review","tracked_token_count","tokens_with_attestation_series","tokens_current","tokens","not_covered","meta"],"title":"V1BoardCoverage"},"V1BoardHistory":{"properties":{"review":{"$ref":"#/components/schemas/BoardReviewStatus","description":"The board's publication review state: whether a recorded review covers the current release, and when it was made."},"tokens":{"items":{"$ref":"#/components/schemas/BoardHistoryToken"},"type":"array","title":"Tokens","description":"One history row per tracked token, or only the named token when a symbol was requested."},"window_days":{"type":"integer","title":"Window Days","description":"The length of the applied range in days, to minus from: the public window by default, or the span requested within the depth the plan allows."},"walled_history_points":{"type":"integer","title":"Walled History Points","description":"How many attested coverage points, across all tokens in this response, sit outside the applied window and were not served; a count only."},"granularity":{"type":"string","enum":["hour","day","month"],"title":"Granularity","description":"The time bucket applied to the measured supply series, one reading per hour, day or month; hour by default."},"from":{"type":"string","format":"date","title":"From","description":"The resolved start date of the range this response applied, as an ISO 8601 date; every point in a series lies on or after it, and an older newest point is served separately as latest_outside_range."},"to":{"type":"string","format":"date","title":"To","description":"The resolved end date of the range this response applied, inclusive, as an ISO 8601 date; today by default."},"meta":{"$ref":"#/components/schemas/V1Meta","description":"The response envelope: disclaimer, terms, reuse licence, and the as-of dates of the figures this response carries, each stated as a range over the tokens it covers: the base member is the least recent of the tokens' newest dates and the _max member the most recent, and a date is null when the response carries no figure of that kind."}},"type":"object","required":["review","tokens","window_days","walled_history_points","granularity","from","to","meta"],"title":"V1BoardHistory"},"V1BoardOverview":{"properties":{"review":{"$ref":"#/components/schemas/BoardReviewStatus","description":"The board's publication review state: whether a recorded review covers the current release, and when it was made."},"chain_head_seq":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chain Head Seq","description":"The sequence number of the newest record on ReserveBeat's public evidence hash chain; null when the chain holds no records."},"chain_head_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain Head Hash","description":"The SHA-256 hash of the newest record on ReserveBeat's public evidence hash chain, as a hex string; null when the chain holds no records."},"latest_anchor":{"anyOf":[{"$ref":"#/components/schemas/BoardAnchorInfo"},{"type":"null"}],"description":"The most recently created external timestamp anchor over the evidence chain; null when no anchor has been created."},"methodology_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Methodology Sha256","description":"The SHA-256 hash of the newest published methodology document, as a hex string; null when none has been published."},"methodology_uploaded_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Methodology Uploaded At","description":"When the newest published methodology document was uploaded; null when none has been published."},"tokens":{"items":{"$ref":"#/components/schemas/BoardTokenCard"},"type":"array","title":"Tokens","description":"One summary card per tracked token, built from its home network."},"headline":{"anyOf":[{"$ref":"#/components/schemas/BoardHeadline"},{"type":"null"}],"description":"The sum of the total reserve each tracked token's latest active report states, split by the scope each report states it at; null when no report states a total, and when a stated figure cannot be read, in which case the whole sum is withheld rather than a partial one published."},"meta":{"$ref":"#/components/schemas/V1Meta","description":"The response envelope: disclaimer, terms, reuse licence, and the as-of dates of the figures this response carries, each stated as a range over the tokens it covers: the base member is the least recent of the tokens' newest dates and the _max member the most recent, and a date is null when the response carries no figure of that kind."}},"type":"object","required":["review","chain_head_seq","chain_head_hash","latest_anchor","methodology_sha256","methodology_uploaded_at","tokens","headline","meta"],"title":"V1BoardOverview"},"V1BoardRevisions":{"properties":{"review":{"$ref":"#/components/schemas/BoardReviewStatus","description":"The board's publication review state: whether a recorded review covers the current release, and when it was made."},"entries":{"items":{"$ref":"#/components/schemas/BoardRevisionEntry"},"type":"array","title":"Entries","description":"One entry per supersession on the board's public data families, attestation parses and disclosure scores, newest first: every token's, or the named token's when symbol is given."},"meta":{"$ref":"#/components/schemas/V1Meta","description":"The response envelope: disclaimer, terms and reuse licence. The as-of dates are null, because a revision log states when each record was made rather than a current figure."}},"type":"object","required":["review","entries","meta"],"title":"V1BoardRevisions"},"V1BoardTokenDetail":{"properties":{"symbol":{"type":"string","title":"Symbol","description":"The token's ticker symbol as tracked on the board, used as the path key for its routes."},"token_name":{"type":"string","title":"Token Name","description":"The token's full name as recorded in ReserveBeat's token registry."},"issuer_name":{"type":"string","title":"Issuer Name","description":"The issuer's short display name, such as the brand a reader knows the issuer by."},"issuer_entity_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Issuer Entity Name","description":"The issuing legal entity the token's attestation source names; null when no attestation source is recorded for this token, so no entity is stated."},"chain":{"type":"string","title":"Chain","description":"The home network this row's contract address, decimals and measured figures were read from."},"chains":{"items":{"type":"string"},"type":"array","title":"Chains","deprecated":true,"description":"The same list as chains_ingested, under the name this field was first published with; kept for one release and then retired with notice."},"chains_ingested":{"items":{"type":"string"},"type":"array","title":"Chains Ingested","description":"Every network this board measures and publishes this symbol on, home network first; always present, with one element for a single-network token. It is not every network the issuer has deployed the token to."},"address":{"type":"string","title":"Address","description":"The token's contract address on the home network named in chain."},"decimals":{"type":"integer","title":"Decimals","description":"The number of decimals the token contract uses, which scales base-unit supply readings into whole tokens."},"attestation_status":{"type":"string","enum":["CURRENT","STALE","WITHHELD_STALE","NONE"],"title":"Attestation Status","description":"The age of a token's most recent report month, measured against the cadence expected for that token — the cadence recorded for its attestation source, or the default cadence when none is recorded. Past that limit the status reads STALE; within it, CURRENT. Past it by a further stated withholding grace, the status reads WITHHELD_STALE: the board stops serving that token's report-derived figures and states the withholding instead, while its on-chain supply still renders. By default the limit is forty-five days after the report month ends for a monthly cadence or when no cadence is recorded, one hundred and six days for a quarterly cadence, one hundred and ninety-eight days for a semiannual cadence and three hundred and eighty days for an annual cadence: each cadence's own period plus the same fourteen days of publication grace. The withholding grace is a further thirty days by default, so the figures are withheld past seventy-five days for a monthly cadence, one hundred and thirty-six days for a quarterly cadence, two hundred and twenty-eight days for a semiannual cadence and four hundred and ten days for an annual cadence. Every token card and token response states its own two limits, as stale_after_days and withheld_after_days. A token with no attestation series at all reads NONE, which is an absence rather than a value. The status states age, not lateness: an issuer publishing on its usual schedule can read STALE while its next report is not yet due, which is what overdue answers."},"withheld_stale":{"anyOf":[{"$ref":"#/components/schemas/BoardWithheldStale"},{"type":"null"}],"description":"Set when the latest attestation report is past its staleness limit, meaning the attestation-derived fields on this payload are withheld rather than absent; null when nothing is withheld."},"expected_cadence":{"anyOf":[{"type":"string","enum":["MONTHLY","QUARTERLY","SEMIANNUAL","ANNUAL"]},{"type":"null"}],"title":"Expected Cadence","description":"How often this token's attestation reports are expected, as recorded for its attestation source; null when no source is recorded and the default monthly clock applies."},"cadence_basis":{"anyOf":[{"type":"string","enum":["ISSUER_STATED","OBSERVED"]},{"type":"null"}],"title":"Cadence Basis","description":"Whether the expected cadence is the one the issuer states or one inferred from the issuer's report series; null when no attestation source is recorded."},"missing_periods":{"items":{"type":"string"},"type":"array","title":"Missing Periods","description":"Report months (YYYY-MM), oldest first, that the token's expected cadence called for between its first and last active report and for which no report is held: no active report covers them and they are not listed in published_unreadable_periods; empty when the series has no hole. The same list the coverage payload carries for this token."},"published_unreadable_periods":{"items":{"$ref":"#/components/schemas/BoardPublishedUnreadable"},"type":"array","title":"Published Unreadable Periods","description":"Report months inside the series, oldest first, whose document the issuer published and ReserveBeat holds byte-exact but could not read: published by the issuer; not readable here. Each names the issuer's document and the SHA-256 of the held bytes. Nothing from these documents is used in any figure. The same list the coverage payload carries for this token."},"overdue":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Overdue","description":"Whether a token's next attestation report is late against the token's own schedule. The next report is expected by the end of the reporting period after the latest report month, stepped by the token's expected cadence, plus the publication lag that latest report itself showed. Overdue reads true once today's UTC date is past that expected-by date plus a stated grace window with no newer report held, and false until then. Held means captured by this board, so the grace window also absorbs the days between an issuer publishing and the board capturing. It is null when no expected-by date can be built: a token with no attestation series, or a latest report that states no issue date to measure a lag from."},"next_report_expected_by":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Next Report Expected By","description":"The date (ISO 8601) the token's next attestation report is expected by: the end of the reporting period after last_report_month, stepped by the expected cadence, plus the newest report's own publication lag. Null when the token has no attestation series or its newest report states no issue date."},"overdue_grace_days":{"type":"integer","title":"Overdue Grace Days","description":"The days past next_report_expected_by allowed before overdue reads true, the same grace for every cadence; stated so the verdict can be recomputed."},"stale_after_days":{"type":"integer","title":"Stale After Days","description":"The days after the end of the latest report month past which attestation_status reads STALE, for this token's expected cadence; stated so the verdict can be recomputed."},"withheld_after_days":{"type":"integer","title":"Withheld After Days","description":"The days after the end of the latest report month past which attestation_status reads WITHHELD_STALE and the report-derived figures are withheld, for this token's expected cadence: stale_after_days plus the withholding grace."},"per_chain_itemized":{"type":"boolean","title":"Per Chain Itemized","description":"True when the latest active attestation report itemizes a figure for this token's home network, false when it states only a total or no report is served."},"supply_series":{"items":{"$ref":"#/components/schemas/BoardSupplyFigure"},"type":"array","title":"Supply Series","description":"ReserveBeat's measured on-chain supply readings for this token on its home network, newest first, limited to the history window; not withheld when attested figures are stale."},"latest_report":{"anyOf":[{"$ref":"#/components/schemas/BoardReportDetail"},{"type":"null"}],"description":"The latest active attestation report for this token, rendered from its stated figures; null when no report is held or when attested figures are withheld as stale."},"latest_statement":{"anyOf":[{"$ref":"#/components/schemas/BoardIssuerStatement"},{"type":"null"}],"description":"The issuer's own most recent self-reported statement, which no accountant stands behind; null when the token has no self-reported source or none has been captured."},"coverage_series":{"items":{"$ref":"#/components/schemas/BoardAttestedCoverage"},"type":"array","title":"Coverage Series","description":"Attested coverage points, each dividing reserves by tokens outstanding as the same report states them at the same as-of date, newest first and limited to the history window; empty when withheld as stale."},"reconciliations":{"items":{"$ref":"#/components/schemas/BoardReconciliation"},"type":"array","title":"Reconciliations","description":"Each attested supply figure set against ReserveBeat's measured on-chain supply nearest that as-of date; empty when attested figures are withheld as stale."},"report_score":{"anyOf":[{"$ref":"#/components/schemas/BoardDisclosureScore"},{"type":"null"}],"description":"The active disclosure score of the latest active attestation report, counting the rubric dimensions it meets; null when unscored or withheld as stale."},"series_score":{"anyOf":[{"$ref":"#/components/schemas/BoardDisclosureScore"},{"type":"null"}],"description":"The active disclosure score of this token's attestation series as a whole; null when the series has not been scored or attested figures are withheld as stale."},"corroboration":{"$ref":"#/components/schemas/BoardCorroboration","description":"The comparison of an attested fund figure against the net assets the named fund reports in its SEC N-MFP filing, or the stated reason no comparison is served."},"history_window_days":{"type":"integer","title":"History Window Days","description":"The public history window, in days, that the coverage and supply series on this payload are limited to."},"walled_history_points":{"type":"integer","title":"Walled History Points","description":"How many older attested coverage points sit outside the history window and were not served; a count only, and zero when attested figures are withheld."},"first_snapshot_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"First Snapshot At","description":"When ReserveBeat took its first on-chain supply measurement of this token on its home network; null when no measurement has ever been taken."},"supply_series_truncated":{"type":"boolean","title":"Supply Series Truncated","description":"Whether supply_series serves fewer readings than are held, for any reason: the size cap or the history window."},"supply_series_total_available":{"type":"integer","title":"Supply Series Total Available","description":"How many on-chain supply readings ReserveBeat holds for this token on its home network, before the size cap and the history window."},"coverage_series_truncated":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Coverage Series Truncated","description":"Whether coverage_series serves fewer points than are held, for any reason: the size cap or the history window; null when attested figures are withheld as stale."},"coverage_series_total_available":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Coverage Series Total Available","description":"How many attested coverage points ReserveBeat holds for this token before the size cap and the history window; null when attested figures are withheld as stale."},"reconciliations_truncated":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Reconciliations Truncated","description":"Whether reconciliations serves fewer rows than are held because of the size cap; null when attested figures are withheld as stale."},"reconciliations_total_available":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Reconciliations Total Available","description":"How many reconciliation rows the held attestation reports yield for this token before the size cap; null when attested figures are withheld as stale."},"network_slices":{"items":{"$ref":"#/components/schemas/BoardNetworkSlice"},"type":"array","title":"Network Slices","description":"ReserveBeat's latest measured supply on each published network for this token, one slice per network; empty when per-network slices are not published."},"measured_float":{"anyOf":[{"$ref":"#/components/schemas/BoardMeasuredFloat"},{"type":"null"}],"description":"The sum of the published per-network measured slices, labelled with the weakest source tier among them; null when per-network slices are not published."},"unmeasured_context":{"anyOf":[{"$ref":"#/components/schemas/BoardUnmeasuredContext"},{"type":"null"}],"description":"Third-party context from a recorded DefiLlama pull, never a ReserveBeat measurement, stating what circulates on networks the board does not publish; null when unavailable or not published."},"coverage_ratio_all":{"anyOf":[{"$ref":"#/components/schemas/BoardCoverageRatioAll"},{"type":"null"}],"description":"The attested total reserve divided by the measured supply summed across all published networks at the attested as-of date; null when not published or when attested figures are withheld."},"meta":{"$ref":"#/components/schemas/V1Meta","description":"The response envelope: disclaimer, terms, reuse licence, and the as-of dates of the figures this response carries."},"restatements":{"items":{"$ref":"#/components/schemas/BoardRevisionEntry"},"type":"array","title":"Restatements","description":"Every correction-by-supersession event on this token's attestation reports and disclosure scores, newest first; empty when there are none or when the caller's plan does not carry this field."},"plan_gated":{"items":{"$ref":"#/components/schemas/V1PlanGated"},"type":"array","title":"Plan Gated","description":"Fields this response withheld because the caller's plan does not carry them, each with a count; empty when nothing was withheld."}},"type":"object","required":["symbol","token_name","issuer_name","issuer_entity_name","chain","chains","chains_ingested","address","decimals","attestation_status","withheld_stale","expected_cadence","cadence_basis","missing_periods","published_unreadable_periods","overdue","next_report_expected_by","overdue_grace_days","stale_after_days","withheld_after_days","per_chain_itemized","supply_series","latest_report","latest_statement","coverage_series","reconciliations","report_score","series_score","corroboration","history_window_days","walled_history_points","first_snapshot_at","supply_series_truncated","supply_series_total_available","coverage_series_truncated","coverage_series_total_available","reconciliations_truncated","reconciliations_total_available","network_slices","measured_float","unmeasured_context","coverage_ratio_all","meta","restatements","plan_gated"],"title":"V1BoardTokenDetail"},"V1Meta":{"properties":{"disclaimer":{"type":"string","title":"Disclaimer","description":"The disclaimer this service publishes under, verbatim and identical to the one rendered on every public page."},"terms":{"type":"string","title":"Terms","description":"The terms of service in force, as an absolute <web origin>/terms@<version> address that serves the text. An API key is issued against an accepted version; the keyless tier binds nobody."},"licence":{"type":"string","title":"Licence","description":"The reuse terms THIS response was served under, decided per request. A row the monthly free allowance paid for, and every keyless response, is board data under CC BY 4.0; a row the prepaid compute-unit balance paid for is governed by the terms set out at purchase instead. The same split is published on /license."},"attested_as_of":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Attested As Of","description":"The as-of date of the attested figures in this response. When the response covers many tokens, the least recent of the tokens' newest attested as-of dates, so every token's newest attested figure is at least this recent. Null when the response carries no attested figure, and null when this token's attested figures are withheld as stale."},"stated_as_of":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Stated As Of","description":"The as-of date the issuer's own self-reported figures in this response carry, as the issuer states it. Null when the response covers many tokens, and null when this token has no self-reported statement. A self-reported figure has no practitioner behind it; it is the issuer speaking about itself, dated."},"measured_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Measured At","description":"The block time of the on-chain measurement in this response. When the response covers many tokens, the least recent of the tokens' newest measurements, so every token's newest measurement is at least this recent. Null on a response that carries no measurement."},"attested_as_of_max":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Attested As Of Max","description":"The most recent of the tokens' newest attested as-of dates in this response; equal to attested_as_of on a one-token response. Null when attested_as_of is null."},"measured_at_max":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Measured At Max","description":"The most recent of the tokens' newest measurement block times in this response; equal to measured_at on a one-token response. Null when measured_at is null."},"snapshot_status":{"anyOf":[{"type":"string","enum":["CURRENT","SNAPSHOT_LATE"]},{"type":"null"}],"title":"Snapshot Status","description":"Whether the on-chain measurement in this response is late: CURRENT while measured_at is no more than snapshot_late_after_seconds old when the response is read, SNAPSHOT_LATE once it is older. Supply is measured hourly, so a late reading means measurements have stopped arriving, and the figures are still served with their own times. Stated on the overview, coverage and single-token responses; null on every other response and whenever measured_at is null."},"snapshot_late_after_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Snapshot Late After Seconds","description":"The age in seconds past which measured_at reads SNAPSHOT_LATE, the same threshold the status page applies. Null when snapshot_status is null."}},"type":"object","required":["disclaimer","terms","licence","attested_as_of","stated_as_of","measured_at","attested_as_of_max","measured_at_max"],"title":"V1Meta"},"V1PlanGated":{"properties":{"field":{"type":"string","const":"restatements","title":"Field","description":"The name of the response field that was not served under the caller's plan; currently only restatements."},"withheld_count":{"type":"integer","title":"Withheld Count","description":"How many entries of that field a raised caller (the required plan, or a positive prepaid compute-unit balance) would have received; always greater than zero, since no entry appears when nothing is withheld."},"plan_required":{"type":"string","enum":["free","enterprise"],"title":"Plan Required","description":"The one published plan whose keys are served this field by themselves; a key whose account holds a positive prepaid compute-unit balance is served it too."},"reason":{"type":"string","title":"Reason","description":"A published plain-language explanation of why the field was not served and where the same information is available to every reader."}},"type":"object","required":["field","withheld_count","plan_required","reason"],"title":"V1PlanGated"},"V1Pricing":{"properties":{"meta":{"$ref":"#/components/schemas/V1Meta","description":"The response envelope: disclaimer, terms and reuse licence. The as-of dates are null, because a price list carries no board figure."},"schedule":{"items":{"$ref":"#/components/schemas/V1PricingScheduleEntry"},"type":"array","title":"Schedule","description":"Every priced shape of every endpoint that costs compute units, one row per shape; an endpoint not listed costs none. Only a successful (2xx) response is charged its row's compute units: a 304 and every refusal are charged nothing, though a 304 still takes its weight from the throughput budget."},"metered_routes":{"type":"integer","title":"Metered Routes","description":"How many distinct endpoints the schedule prices."},"public_window_days":{"type":"integer","title":"Public Window Days","description":"The public history window, in days, that the one_token_public_window and one_token_full_depth shapes are measured against."},"free_allowance_cu":{"type":"integer","title":"Free Allowance Cu","description":"The compute units an account on the published free terms may use each calendar month (UTC) at no charge."},"payg_rate_per_1000_cu":{"type":"string","title":"Payg Rate Per 1000 Cu","description":"The published price of 1,000 compute units beyond the free allowance, as a decimal string in the currency named by currency; the same figure a cu_balance_exhausted refusal states."},"currency":{"type":"string","title":"Currency","description":"The ISO 4217 code of the currency payg_rate_per_1000_cu is stated in."},"throughput":{"$ref":"#/components/schemas/V1PricingThroughput","description":"The throughput budget an account on the published free terms is served under."},"throughput_raised":{"$ref":"#/components/schemas/V1PricingThroughput","description":"The throughput budget a raised account — on the enterprise plan, or holding a positive prepaid compute-unit balance — is served under, before any per-account override."},"purchase_url":{"type":"string","title":"Purchase Url","description":"Where to get more compute units without a key in hand: the pricing page's API access card while that page is published, and the API page's section on access beyond the free limits otherwise. A key's own checkout link is the purchase_url of GET /v1/account/balance and of a cu_balance_exhausted refusal."},"terms_url":{"type":"string","title":"Terms Url","description":"The terms of service in force, as an absolute <web origin>/terms@<version> address; the same value as meta.terms."},"licence":{"$ref":"#/components/schemas/V1PricingLicence","description":"The reuse terms a served row carries, by what paid for it."},"purchase":{"$ref":"#/components/schemas/V1PricingPurchase","description":"How compute units are bought past the free allowance: in whole units of unit_cu, at payg_rate_per_1000_cu, and never fewer than minimum_units at a time."}},"type":"object","required":["meta","schedule","metered_routes","public_window_days","free_allowance_cu","payg_rate_per_1000_cu","currency","throughput","throughput_raised","purchase_url","terms_url","licence","purchase"],"title":"V1Pricing"},"V1PricingLicence":{"properties":{"allowance":{"type":"string","title":"Allowance","description":"The reuse terms of a row the monthly free allowance paid for, the same sentence meta.licence carries on that row."},"balance":{"type":"string","title":"Balance","description":"The reuse terms of a row the prepaid balance paid for, the same sentence meta.licence carries on that row."}},"type":"object","required":["allowance","balance"],"title":"V1PricingLicence"},"V1PricingPurchase":{"properties":{"unit_cu":{"type":"integer","title":"Unit Cu","description":"The compute units in one unit of purchase; a purchase is a whole number of these units."},"minimum_units":{"type":"integer","title":"Minimum Units","description":"The fewest units one purchase may be for; a checkout for fewer is refused."},"minimum_cu":{"type":"integer","title":"Minimum Cu","description":"The compute units the smallest purchase buys: unit_cu times minimum_units."},"minimum_charge":{"type":"string","title":"Minimum Charge","description":"What the smallest purchase costs, as a decimal string in the currency named by currency: minimum_cu at payg_rate_per_1000_cu, exactly, with no rounding."}},"type":"object","required":["unit_cu","minimum_units","minimum_cu","minimum_charge"],"title":"V1PricingPurchase"},"V1PricingScheduleEntry":{"properties":{"route":{"type":"string","title":"Route","description":"The endpoint path, as the API routes it."},"shape":{"type":"string","enum":["all_tokens","one_token_public_window","one_token_full_depth"],"title":"Shape","description":"The request shape this row prices: all_tokens names no symbol, at any window and grain; one_token_public_window names one symbol with a window inside the public history window; one_token_full_depth names one symbol with a window reaching past it, at any grain."},"cu":{"type":"integer","title":"Cu","description":"The compute units one successful request of this shape costs."}},"type":"object","required":["route","shape","cu"],"title":"V1PricingScheduleEntry"},"V1PricingThroughput":{"properties":{"cu_per_second":{"type":"integer","title":"Cu Per Second","description":"The compute units per second the throughput budget refills at."},"burst_window_s":{"type":"integer","title":"Burst Window S","description":"The rolling window, in seconds, the throughput budget is stated over."},"burst_cu":{"type":"integer","title":"Burst Cu","description":"The most compute units that may arrive at once: one rolling window's worth of cu_per_second. A request whose whole cost does not fit is refused with a 429 whose Retry-After says when it will."}},"type":"object","required":["cu_per_second","burst_window_s","burst_cu"],"title":"V1PricingThroughput"},"VerifyEmailRequest":{"properties":{"token":{"type":"string","maxLength":128,"pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Token","description":"The token from the confirmation email link; it works once and expires."}},"type":"object","required":["token"],"title":"VerifyEmailRequest"},"WebhookDeliveryList":{"properties":{"deliveries":{"items":{"$ref":"#/components/schemas/WebhookDeliverySummary"},"type":"array","title":"Deliveries","description":"One page of deliveries to this account's webhook endpoints, newest first."},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"An opaque cursor to pass back as the cursor query parameter for the next page; null means this page is the end of the list."}},"type":"object","required":["deliveries"],"title":"WebhookDeliveryList"},"WebhookDeliverySummary":{"properties":{"id":{"type":"string","title":"Id","description":"The delivery's unique identifier, used to request a replay and sent in the X-ReserveBeat-Delivery header."},"endpoint_id":{"type":"string","title":"Endpoint Id","description":"The identifier of the webhook endpoint this delivery was addressed to."},"event_id":{"type":"string","title":"Event Id","description":"The identifier of the event this delivery carries, the same value as the id field in the delivered body."},"event_kind":{"type":"string","title":"Event Kind","description":"The kind of event delivered, such as attestation.landed or figure.moved."},"status":{"type":"string","enum":["PENDING","SENT","DEAD","WITHHELD"],"title":"Status","description":"The delivery's state: PENDING (not yet concluded), SENT (accepted by your receiver), DEAD (every attempt failed), or WITHHELD (not sent, with the reason in last_error: the endpoint's address was refused, or the endpoint was revoked, disabled or no longer owed the event before the delivery's turn came)."},"attempts":{"type":"integer","title":"Attempts","description":"The number of POST requests this delivery made: 0 while pending or when withheld, otherwise from 1 up to the size of the retry ladder (three by default)."},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error","description":"The error from the final failed attempt, or the reason the delivery was withheld, with the endpoint address redacted; null when the delivery succeeded or has not concluded."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"When this delivery was recorded (ISO 8601 date-time)."},"delivered_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Delivered At","description":"When your receiver accepted the delivery (ISO 8601 date-time); null means it has not been delivered."},"replays":{"items":{"$ref":"#/components/schemas/WebhookReplaySummary"},"type":"array","title":"Replays","description":"Every replay requested for this delivery, oldest first, each with its own outcome."}},"type":"object","required":["id","endpoint_id","event_id","event_kind","status","attempts","last_error","created_at","delivered_at","replays"],"title":"WebhookDeliverySummary"},"WebhookEndpointCreateRequest":{"properties":{"url":{"type":"string","maxLength":2048,"pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Url","description":"The https:// address to receive signed event bodies; it must be publicly reachable and may not include a username or password, and addresses that resolve to private or local networks are refused."},"event_kinds":{"items":{"type":"string","enum":["attestation.landed","figure.moved"]},"type":"array","minItems":1,"title":"Event Kinds","description":"One or more event kinds to subscribe to, from attestation.landed and figure.moved; an empty list or an unknown kind is refused."},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"maxLength":200,"pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Label","description":"An optional free-text label to help you recognize the endpoint later (at most 200 characters)."},"token_symbol":{"anyOf":[{"type":"string"},{"type":"null"}],"pattern":"^[^\\u0000-\\u001f\\u007f]*$","title":"Token Symbol","description":"An optional tracked token symbol to limit events to that token; omit it to receive events for every token, and an unknown symbol is refused."}},"type":"object","required":["url","event_kinds"],"title":"WebhookEndpointCreateRequest"},"WebhookEndpointCreated":{"properties":{"id":{"type":"string","title":"Id","description":"The new webhook endpoint's unique identifier."},"url":{"type":"string","title":"Url","description":"The https:// address that was registered, with surrounding whitespace removed."},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label","description":"The label supplied at registration, or null if none was given."},"event_kinds":{"items":{"type":"string","enum":["attestation.landed","figure.moved"]},"type":"array","title":"Event Kinds","description":"The event kinds the endpoint is subscribed to, with duplicates removed."},"token_symbol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token Symbol","description":"The token symbol the endpoint is limited to, as supplied; null means it receives events for every token."},"secret":{"type":"string","title":"Secret","description":"The signing secret (whsec_ followed by 64 hex characters) used to verify the X-ReserveBeat-Signature header; it is shown only in this response and is not stored, so save it now."},"secret_version":{"type":"integer","title":"Secret Version","description":"The version of the signing secret just issued, which increases by one on each rotation."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"When the endpoint was registered (ISO 8601 date-time)."}},"type":"object","required":["id","url","label","event_kinds","token_symbol","secret","secret_version","created_at"],"title":"WebhookEndpointCreated"},"WebhookEndpointList":{"properties":{"endpoints":{"items":{"$ref":"#/components/schemas/WebhookEndpointSummary"},"type":"array","title":"Endpoints","description":"Every webhook endpoint this account has registered, newest first, including revoked and disabled ones."}},"type":"object","required":["endpoints"],"title":"WebhookEndpointList"},"WebhookEndpointSummary":{"properties":{"id":{"type":"string","title":"Id","description":"The webhook endpoint's unique identifier."},"url":{"type":"string","title":"Url","description":"The https:// address ReserveBeat posts signed event bodies to."},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label","description":"The label supplied when the endpoint was registered, or null if none was given."},"event_kinds":{"items":{"type":"string","enum":["attestation.landed","figure.moved"]},"type":"array","title":"Event Kinds","description":"The event kinds this endpoint is subscribed to: attestation.landed for a new or restated attestation report, figure.moved when an issuer's own stated figure changes."},"token_symbol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token Symbol","description":"The token symbol this endpoint is limited to; null means it receives events for every token."},"secret_version":{"type":"integer","title":"Secret Version","description":"The version of the endpoint's current signing secret, which increases by one on each rotation."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"When the endpoint was registered (ISO 8601 date-time)."},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At","description":"When the account revoked this endpoint (ISO 8601 date-time); null means it has not been revoked."},"disabled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Disabled At","description":"When ReserveBeat automatically disabled this endpoint after repeated failed deliveries (ISO 8601 date-time); null means it is not disabled, and rotating the secret re-enables it."},"consecutive_failures":{"type":"integer","title":"Consecutive Failures","description":"The number of failed or withheld automatic deliveries in a row since the last successful one; replays and test pings do not count. The endpoint is disabled automatically only once this reaches at least 14 and the run is at least 24 hours old, and the account is warned first. A delivery withheld because the endpoint stopped being owed the event before it was sent does not count."},"last_attempt_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Attempt At","description":"When the last automatic delivery to this endpoint concluded, successful or not (ISO 8601 date-time); null means none has concluded yet."},"last_success_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Success At","description":"When an automatic delivery to this endpoint last succeeded (ISO 8601 date-time); null means none has succeeded yet."},"delivering":{"type":"boolean","title":"Delivering","description":"Whether ReserveBeat is currently sending events to this endpoint; when false, not_delivering_because says why."},"not_delivering_because":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Not Delivering Because","description":"A plain-language reason the endpoint is not receiving events, such as revocation, an automatic disable, a plan without webhook event deliveries (such an endpoint still receives test pings), or a signing-key change that needs a secret rotation; null when delivering is true."},"previous_secret_version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Previous Secret Version","description":"The version of the retired secret that still signs deliveries beside the current one after a rotation; null when no overlap is live."},"previous_secret_expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Previous Secret Expires At","description":"When the retired secret stops signing (ISO 8601 date-time); null when no overlap is live."},"failing_since":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Failing Since","description":"When the current run of consecutive failed automatic deliveries began (ISO 8601 date-time); null when the last delivery succeeded or none has failed."},"disable_warned_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Disable Warned At","description":"When the account was warned that this endpoint will be disabled automatically if deliveries keep failing (ISO 8601 date-time); null when no warning is outstanding."},"last_ping_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Ping At","description":"When a test ping was last sent to this endpoint (ISO 8601 date-time); null means none has been sent."},"last_ping_status":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Last Ping Status","description":"The HTTP status the receiver answered the last test ping with; null when no ping has been sent or no response was received."}},"type":"object","required":["id","url","label","event_kinds","token_symbol","secret_version","created_at","revoked_at","disabled_at","consecutive_failures","last_attempt_at","last_success_at","delivering","not_delivering_because"],"title":"WebhookEndpointSummary"},"WebhookPingResult":{"properties":{"endpoint_id":{"type":"string","title":"Endpoint Id","description":"The identifier of the webhook endpoint the test ping was sent to."},"ping_id":{"type":"string","title":"Ping Id","description":"The test ping's identifier, also sent as its body id and in the X-ReserveBeat-Delivery header."},"sent_at":{"type":"string","format":"date-time","title":"Sent At","description":"When the test ping was sent (ISO 8601 date-time); its signature timestamp is this instant."},"delivered":{"type":"boolean","title":"Delivered","description":"True when the receiver answered the test ping with a 2xx status."},"response_status":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Response Status","description":"The HTTP status the receiver answered with; null when no response was received, for example when the connection failed or the address was refused."},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error","description":"Why the test ping was not delivered, in the dispatcher's own words; null when it was delivered."},"signed_with_versions":{"items":{"type":"integer"},"type":"array","title":"Signed With Versions","description":"The secret versions the ping's X-ReserveBeat-Signature header carries a v1 value for, current first; two during a rotation overlap."}},"type":"object","required":["endpoint_id","ping_id","sent_at","delivered","response_status","error","signed_with_versions"],"title":"WebhookPingResult"},"WebhookReplayAck":{"properties":{"id":{"type":"string","title":"Id","description":"The identifier of the replay request just recorded."},"delivery_id":{"type":"string","title":"Delivery Id","description":"The identifier of the delivery being replayed."},"event_id":{"type":"string","title":"Event Id","description":"The identifier of the event whose stored body will be sent again, unchanged apart from a fresh signature timestamp."},"status":{"type":"string","const":"PENDING","title":"Status","description":"Always PENDING: the replay is recorded and sent afterwards, and its outcome appears in the delivery's replays list."},"requested_at":{"type":"string","format":"date-time","title":"Requested At","description":"When the replay was requested (ISO 8601 date-time)."}},"type":"object","required":["id","delivery_id","event_id","status","requested_at"],"title":"WebhookReplayAck"},"WebhookReplaySummary":{"properties":{"id":{"type":"string","title":"Id","description":"The replay request's unique identifier."},"status":{"type":"string","enum":["PENDING","SENT","DEAD"],"title":"Status","description":"The replay's state: PENDING (not yet sent), SENT (accepted by your receiver), or DEAD (not delivered, with the reason in last_error)."},"attempts":{"type":"integer","title":"Attempts","description":"The number of POST requests this replay has made: 0 while pending or when it was refused before sending, otherwise from 1 up to the size of the retry ladder (three by default)."},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error","description":"Why the replay was not delivered, in the dispatcher's own words; null when it succeeded or is still pending."},"requested_at":{"type":"string","format":"date-time","title":"Requested At","description":"When the replay was requested (ISO 8601 date-time)."},"delivered_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Delivered At","description":"When your receiver accepted the replay (ISO 8601 date-time); null means it has not been delivered."}},"type":"object","required":["id","status","attempts","last_error","requested_at","delivered_at"],"title":"WebhookReplaySummary"},"WebhookSecretRotated":{"properties":{"id":{"type":"string","title":"Id","description":"The identifier of the webhook endpoint whose secret was rotated."},"secret":{"type":"string","title":"Secret","description":"The new signing secret, shown only in this response. The previous secret keeps verifying until previous_secret_expires_at, because every delivery until then is signed with both."},"secret_version":{"type":"integer","title":"Secret Version","description":"The version number of the new signing secret."},"previous_secret_version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Previous Secret Version","description":"The version of the secret this rotation retired, which still signs every delivery beside the new one until previous_secret_expires_at; null when there is no overlap because the service signing key changed since that secret was issued."},"previous_secret_expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Previous Secret Expires At","description":"When the retired secret stops signing (ISO 8601 date-time), 24 hours after the rotation; null when there is no overlap."}},"type":"object","required":["id","secret","secret_version"],"title":"WebhookSecretRotated"}},"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"X-API-Key"},"AccountBearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}}}