The TRAT token contract
TRAT is a standard ERC-20 token deployed on Ethereum mainnet. The active contract has been verified on Etherscan as an "Exact Match" and is mirrored to GitHub under Tratok Holding Limited's stated transparency policy.
Contract metadata
| Contract address | 0x35bC519E9fe5F04053079e8a0BF2a876D95D2B33 |
|---|---|
| Network | Ethereum Mainnet (Chain ID 1) |
| Compiler | Solidity v0.8.26+commit.8a97fa7a |
| Optimization | Disabled (200 runs) |
| License | MIT |
| Standard | ERC-20 (EIP-20) |
| Decimals | 5 |
| Total supply | 100,000,000,000 TRAT |
| Source verification | Verified on Etherscan |
| Mirror | github.com/TratokToken/smart-contracts |
Standard interface
The contract exposes the complete ERC-20 surface. Every wallet, exchange, and tool that speaks ERC-20 speaks TRAT natively.
// Core ERC-20 interface
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address to, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address from, address to, uint256 amount) external returns (bool);
// Events
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
Unit precision
With 5 decimals, the smallest transferable unit is 0.00001 TRAT. When using wei-style integer math in client libraries, remember the multiplier is 1e5, not the more common 1e18 seen on 18-decimal tokens.
// Example: formatting a raw balance in ethers.js v6
import { ethers } from "ethers";
const balanceRaw = await contract.balanceOf(address);
// TRAT has 5 decimals, not 18.
const balanceFormatted = ethers.formatUnits(balanceRaw, 5);
console.log(`Balance: ${balanceFormatted} TRAT`);
Five decimals, not eighteen
This is the single most common integration bug. TRAT uses 5 decimals. If you assume 18 (the ERC-20 default most libraries default to), you'll display balances inflated by 10¹³ and the user will wonder why they're suddenly rich.
The GHOST protocol
Tratok uses what it publicly describes as the GHOST protocol — a set of off-chain preprocessing and routing optimisations built on top of the base ERC-20 contract, designed for faster, safer transactions in the booking context.
In practical terms, GHOST handles:
- Transaction batching and queuing for higher-volume booking flows (e.g., package bookings spanning hotel, car, and activity in a single user flow).
- Real-time fraud detection that the public fourth-generation reporting describes as screening transactions before platform settlement.
- Routing across chains so that once the user has wTRAT on Binance Smart Chain via the bridge, micro-payments for booking edits or incremental charges don't require Ethereum mainnet gas.
The underlying settlement is the ERC-20 contract on Ethereum (or wTRAT on BSC); GHOST is an application-layer framework, not a separate L1.
The bridge
The Tratok bridge is live on mainnet and enables TRAT transfers between Ethereum and Binance Smart Chain using a lock-and-mint model.
Published bridge facts
| URL | bridge.tratok.com |
|---|---|
| Status | Live on Mainnet |
| Supported chains | Ethereum (ETH) ↔ Binance Smart Chain (BSC) |
| Mechanism | Lock-and-mint (1:1 TRAT ↔ wTRAT) |
| Wallet | MetaMask (Web3) |
| Typical migration time | Under 5 minutes |
| Network fee | 0.003 ETH or 0.003 BNB (depending on direction), plus base gas |
| Uptime target | 24/7 |
How the bridge works
- User connects MetaMask to bridge.tratok.com.
- User deposits TRAT into the bridge vault on the source chain — tokens are locked, not burned.
- A multi-sig relayer set observes the deposit event and signs attestations.
- Once the attestation threshold is met, the mint contract on the destination chain issues an equivalent amount of wrapped TRAT (wTRAT).
- Reverse direction: burn wTRAT on the destination, unlock TRAT on the source.
Security properties
- Supply conservation. The amount of wTRAT in circulation on BSC is backed 1:1 by TRAT locked in the Ethereum-side vault.
- Multi-sig custody. No single relayer can unilaterally mint or release funds.
- Open contracts. The bridge contracts are mirrored on GitHub as part of the transparency policy.
- Smart-contract-secured. The bridge page states the system is "Secured by smart contract · Audited & verified."
General bridge risk
Cross-chain bridges are historically higher-risk components in the crypto stack. The Tratok bridge's lock-and-mint design is a well-studied pattern, but no bridge architecture eliminates systemic risk entirely. Move amounts you're comfortable with.
The platform stack
Hospitality platform
The hospitality portal is the operator-facing management system. Operators can list properties, activities, and restaurants from a single dashboard, upload rates and inventory, track bookings and revenue, and request payments. It integrates with the Tratok Labs APIs to expose inventory to downstream applications.
Corporate travel desk
A separate corporate portal at corporate.tratok.net handles enterprise bookings, policy enforcement, and centralised billing for business travel.
Fourth-generation platform
Tratok launched pilot tests for a fourth-generation platform in October 2025. Per the project's public reporting:
- 932 enhancements over the previous generation.
- 80× more resource-efficient.
- 95% user satisfaction reported in pre-pilot testing.
- AI-assisted itinerary generation, real-time recommendations, and multilingual support (22 languages).
- Contactless wallet-to-wallet TRAT transfers (no additional protocol fee beyond gas).
Tratok Labs APIs
Developers interact with Tratok through the Tratok Labs portal. The portal exposes three primary API surfaces:
| API | Inventory size | Coverage |
|---|---|---|
| Accommodation | 2.2M rooms | 185 countries |
| Car rental | 130,000+ packages | Global |
| Cruise | 9,000+ listings | Global |
SLA & performance
- Latency: ~249ms average.
- Load tested: Up to 100,000 queries per minute.
- Languages supported: 22.
- Access model: Language-agnostic REST.
Pricing
- Free tier: 1,000 monthly requests.
- Pay-as-you-go: 1 TRAT per 10 requests beyond the free tier.
Registration requires an application and approval step — see developer.tratok.net for current onboarding details.
Reading the chain directly
For balances, allowances, supply, and on-chain state, any Ethereum JSON-RPC provider (Infura, Alchemy, QuickNode, or a self-hosted node) returns identical data — the contract is permissionless to read. A minimal example using ethers.js v6:
import { ethers } from "ethers";
const TRAT = "0x35bC519E9fe5F04053079e8a0BF2a876D95D2B33";
const ERC20_ABI = [
"function balanceOf(address) view returns (uint256)",
"function totalSupply() view returns (uint256)"
];
const provider = new ethers.JsonRpcProvider(process.env.RPC_URL);
const contract = new ethers.Contract(TRAT, ERC20_ABI, provider);
const supply = await contract.totalSupply();
console.log(`Supply: ${ethers.formatUnits(supply, 5)} TRAT`);
const balance = await contract.balanceOf("0xYourAddress");
console.log(`Balance: ${ethers.formatUnits(balance, 5)} TRAT`);
Security
Source verification
The v3 contract is verified on Etherscan (Exact Match). The source is mirrored in the public GitHub repository, which also contains the escrow and bridge contract sources.
Bug bounty
Tratok operates a custom bug bounty program through the Tratok Bounty portal in the ecosystem. Security researchers can submit responsible-disclosure reports. The program covers smart contracts, the bridge, the hospitality platform, and related infrastructure.
Formal third-party audits
As of the current contract generation, no formal third-party audit report has been publicly filed for the v3 token. Tratok's stated security posture relies on public source verification + bounty program + community review. The bridge is described on its landing page as "Audited & verified"; if a formal report is published, this page will link it.
Cost profile
Everyday user flows are cost-sensitive; that's the core reason the bridge to BSC exists.
- TRAT transfer on Ethereum: dependent on L1 gas (typically single-digit to low-double-digit USD depending on network conditions).
- wTRAT transfer on BSC: fractions of a cent.
- Bridge crossing: 0.003 ETH or 0.003 BNB (depending on direction) plus base gas.
- Platform booking commission: 1.5% per transaction.
- Developer API overage: 1 TRAT per 10 requests.
The platform exposes the effective cost before the user confirms any flow.
