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

1

Acquire NEAR Tokens

Get NEAR tokens from exchanges (mainnet) or near-faucet.io (testnet)

2

Create Implicit Account

Use near-cli-rs or roditwallet.sh to generate an implicit NEAR account

3

Purchase RODiT Token

Visit purchase.timeherenow.com to buy your API access token

4

Install & Configure SDK

Install @rodit/rodit-auth-be and configure with your implicit account credentials

Resources

Interactive API DocsFull DocumentationOpenAPI SpecPurchase TokensSample ClientNPM Package