The contract behind the timeline.
Network configuration, public contract functions, fees, and security status.
Robinhood Chain mainnet
- Chain ID
4663· hexadecimal0x1237- Gas currency
- ETH
- Explorer
- Robinhood Blockscout ↗
The current app uses this public RPC:
https://rpc.mainnet.chain.robinhood.comPublic endpoints are rate-limited. Robinhood recommends a dedicated provider for production workloads. See the official network configuration ↗. VEYLOCK is an independent project and is not affiliated with Robinhood.
Which contract address should I use?
Each deployment creates a separate workspace address. There is no single shared workspace address listed by this documentation. Use the contract created by your successful deployment or an existing matching workspace you intend to use.
The app verifies exact runtime code before workspace actions. A contract from an older incompatible build can fail that check even if its address is valid. See finding your deployment address.
Download contract source ↓ · Current ABI and bytecode ↗
Build compiler: 0.8.30+commit.73712a01.Emscripten.clang. Expected runtime Keccak-256:
0x6b847fb15e220b5418395073999cde989e561cf6c68c2c7b082752baaecb0d6cThis is the expected build hash, not a deployment address or an explorer source-verification receipt.
Read functions
| Function | Purpose |
|---|---|
scheduleCount() | Number of schedules created in this workspace |
schedules(id) | Token, creator, beneficiary, total, released, start, cliff, end |
vestedAmount(id, timestamp) | Vested amount at a supplied timestamp |
claimable(id) | Currently vested amount minus already released amount |
scheduleIds(account, offset, limit) | Creator/beneficiary schedule IDs, up to 100 per call |
Amounts returned by the contract are integer token base units. Apply the token’s decimals when displaying human-readable values.
Write functions and fees
createSchedule(token, beneficiary, amount, start, cliff, end) records fixed terms and transfers the full allocation from the caller into escrow atomically. The caller must first provide sufficient token allowance.
claim(id) transfers the currently claimable amount to the fixed beneficiary. It reverts when nothing is claimable. The implementation charges no protocol fee; deployment, approvals, creation, and claims still require network gas.
There is no owner, upgrade, cancellation, schedule-edit, or administrator withdrawal function. Do not transfer tokens directly to the workspace outside schedule creation: unsolicited deposits do not increase a schedule and have no recovery function.
Security status and limits
Automated local tests cover contract behavior, including funding, cliff boundaries, claims, and transfer-fee failure cases. Passing tests is not equivalent to an audit or a guarantee against loss.
OpenZeppelin SafeERC20 and a reentrancy guard are used. Exact sender and recipient balance changes are checked during funding and claims. Unsupported token behavior or issuer restrictions can still make tokens untransferable.
The app bounds large account schedule reads and token-discovery pagination. It relies on external RPC and explorer availability. Contract state is the source for allocations and claims; custom names and recent activity are local UI data.