Blockchain-Verified Time Services
Time Here Now API provides tamper-proof temporal data using NEAR Protocol blockchain timestamps. All time values are sourced from NEAR blockchain, not system or NTP time.
Key Features
Blockchain Timestamps
All time values sourced from NEAR Protocol blockchain, ensuring tamper-proof and verifiable temporal data.
IANA Time Zones
Full integration with IANA Time Zone Database (tzdb) for accurate timezone conversions worldwide.
RODiT Authentication
Token-based mutual authentication using Rich Online Digital Tokens for secure API access.
IP Geolocation
Automatic timezone detection based on IP address geolocation for seamless user experience.
Scheduled Events
Schedule events via webhooks up to 48 hours in advance with blockchain-verified timing guarantees.
Cryptographic Signing
Sign hashes with blockchain timestamps for verifiable proof of existence at a specific time.
API Endpoints
🕐 Time Endpoints
POST /api/timezone/time — Get time for any timezone
POST /api/ip — Get time by IP geolocation
POST /api/timezone — List all IANA timezones
🔏 Signing Endpoints
POST /api/sign/hash — Sign hash with NEAR timestamp
POST /api/signclient — Mint new RODiT client token
⏲️ Timer Endpoints
POST /api/timers/schedule — Schedule event via webhook
Maximum delay: 48 hours
Blockchain-verified execution time
🔐 Auth Endpoints
POST /api/login — Authenticate with RODiT
POST /api/logout — Terminate session
Continuous mutual authentication
Authentication with RODiT SDK
Install the SDK
npm install @rodit/rodit-auth-be
📦 NPM Package: @rodit/rodit-auth-be
💻 Sample Client: GitHub Repository
Initialize the SDK
const { RoditClient } = require('@rodit/rodit-auth-be');
// Initialize the SDK client
const roditClient = await RoditClient.create('client');
// Share across modules via app.locals
app.locals.roditClient = roditClient;
// Authenticate with the server
const loginResult = await roditClient.login_server();
if (loginResult.jwt_token) {
console.log('✓ Authentication successful');
}
⚠️ Important: Direct curl requests will not work. You must use the @rodit/rodit-auth-be SDK to maintain transparent continuous mutual authentication.
Getting Started
Create Implicit Account
Use near-cli-rs or roditwallet.sh to generate an implicit NEAR account
Install & Configure SDK
Install @rodit/rodit-auth-be and configure with your implicit account credentials
Resources
Interactive API Docs • Full Documentation • OpenAPI Spec • Purchase Tokens • Sample Client • NPM Package