Tokens that carry their own rules.
Trenal is a draft Ethereum standard. Vesting, resale limits and payouts live inside the token itself.
$TRENAL 0x05E007f7d63996827D2Da4A1a632A33F8F60b37a Etherscan
What that means
-
Vesting grant
Unlocks every month and pays out when claimed. No escrow contract.
-
Event ticket
Refuses any resale above 120% of face value, on every marketplace.
-
Revenue share
Collects its holder's cut of revenue, ready to claim.
Try it
Pick a token, choose who you are, and press an action.
Actions
State
Who can do what
History
Want to build your own? Open Trenal Studio
For developers
Four functions and two events on top of ERC-20. Existing wallets and pools keep working.
// SPDX-License-Identifier: CC0-1.0
pragma solidity ^0.8.24;
interface ITrenal is IERC20 {
event StateChanged(uint256 indexed id, bytes32 indexed key, bytes value);
event Acted(uint256 indexed id, address indexed by, bytes4 action);
error NotAuthorized(address caller, bytes4 action);
error ConditionFailed(bytes4 action, string reason);
/// What the token knows.
function stateOf(uint256 id) external view returns (bytes memory);
/// Who may do what.
function rightsOf(uint256 id, address who) external view returns (bytes32);
/// Can `who` do `action` right now?
function can(uint256 id, address who, bytes4 action) external view returns (bool);
/// Do it.
function act(uint256 id, bytes4 action, bytes calldata data) external;
}
Contracts
Live on Ethereum. Source verified on Etherscan.
-
TrenalToken
$TRENAL, 1B fixed supply
0x05E007f7d63996827D2Da4A1a632A33F8F60b37a -
VestingGrant
Vesting grants
0x48AAB2E092370d9c9bbDF1535c4D0FdC1Cad727b -
EventTicket
Event tickets
0x73b67618E2d0E1D285f7Ba2E007A9f03327b697e -
RevenueShare
Revenue shares
0x129fFc5Dc5B17Fd972F41bD9653b46D5228090A0
Roadmap
Draft interface
Published
Contracts on Ethereum
Live
Wallet preview
Next
ERC submission
Later