Skip to content

Deployed Contracts

Machine-readable contract directory

For agents and tooling that need every address in TRON Base58 + EVM 0x-Hex + TRON-internal 41-Hex form, download contracts.json. The file is structured as networks.{mainnet,nile}.{comptroller,governance,price_oracle,jtokens,interest_rate_models,strx}, with each address record carrying base58 / hex_evm / hex_tron / tronscan fields. The tables below show Base58 only for readability; use the JSON for cross-chain bridges, EVM-side tooling, Etherscan-like indexers, and TronGrid calls that require 41-prefixed hex.

Machine-readable ABIs

Every contract referenced on this page has a downloadable JSON ABI under abis/:

Contract ABI
jToken (CErc20) — mint / borrow / repayBorrow / redeem / liquidateBorrow abis/jtoken.json
jToken — TRX-specific mint() payable abis/jtrx-mint.json
jToken — TRX-specific repayBorrow() payable abis/jtrx-repay.json
Comptroller / Unitroller abis/comptroller.json
PriceOracle abis/price-oracle.json
TRC20 (generic) abis/trc20.json
GovernorAlpha / Bravo abis/governor-alpha.json
WJST (voting wrapper) abis/wjst.json
Poly helper abis/poly.json
EnergyRental market abis/energy-market.json
EnergyRateModel abis/energy-rate-model.json
sTRX abis/strx.json
InterestRateModel (jump-rate / whitepaper) abis/interest-rate-model.json

These are sourced from the same definitions the JustLend MCP server uses at runtime — see src/core/abis.ts for the upstream TypeScript form.

Network: TRON Mainnet (unless noted)

Everything in the main tables below is deployed on TRON Mainnet (Chain ID 0x2b6653dc). For Nile testnet addresses see the Nile Testnet section at the bottom of this page or the nile block of contracts.json.

Decimals / precision

The JustLend DAO architecture treats every token amount in its underlying's smallest unit. Always read decimals() on the underlying TRC20 before constructing mint, borrow, repayBorrow, or redeemUnderlying amounts. Common cases: TRX/USDT/USDC = 6, USDD/ETH = 18, BTC/WBTC = 8. jToken amounts (redeem, transfer) use 8 decimals regardless of the underlying. For the full enumeration and the units rationale, see Glossary → jToken decimals and Common Pitfalls #5.

Address formats

TRON addresses appear in three equivalent formats. Human-facing tables on this page use Base58; machine consumers should use contracts.json for all three forms.

Format Example for Unitroller Use cases
Base58 TGjYzgCyPobsNS9n6WcbdLVR9dH7mWqFx7 Wallets, Tronscan, TronWeb display, user prompts
EVM 0x-Hex 0x4a33bf2666f2e75f3d6ad3b9ad316685d5c668d4 EVM-side tooling, bridges, indexers, byte-address comparisons
TRON 41-Hex 0x414a33bf2666f2e75f3d6ad3b9ad316685d5c668d4 TronGrid / TronWeb low-level APIs that expect TRON-internal hex

Supply and Borrow Market — Core

Component Contract Address Tronscan
Comptroller (proxy) Unitroller TGjYzgCyPobsNS9n6WcbdLVR9dH7mWqFx7 Contract
Comptroller (impl) Comptroller TB23wYojvAsSx6gR8ebHiBqwSeABiBMPAr Contract

The entrypoint that users and contracts call is Unitroller (the proxy). The implementation address rotates with upgrades.

Supply and Borrow Market — jToken Markets

The address users interact with for mint/borrow/repayBorrow/redeem/liquidateBorrow is the CErc20Delegator (proxy). The CErc20Delegate address is the implementation behind it.

Legacy markets (marked (legacy)) — policy + support window

Rows tagged (legacy)jUSDCOLD, jUSDDOLD, jBUSDOLD, jSUNOLD, jUSDJ, jWBTT — have been closed to new supply and borrow at the dApp / policy layer.

What still works on a legacy market:

  • Read-only queries against the contract (balanceOf, borrowBalanceCurrent, exchangeRateCurrent, etc.) — unchanged forever.
  • Unwinding existing positions: repayBorrow, redeem, redeemUnderlying, liquidateBorrow.
  • The underlying TRC20 of the legacy market is unaffected — only the JustLend market is frozen.

What does NOT work:

  • The dApp UI suppresses these markets from the supply / borrow lists.
  • New deposits are operationally discouraged; programmatic callers SHOULD filter status == "active" from contracts.json and avoid routing new flow to legacy markets even though a mint() call would technically succeed at the contract level.

Support window. There is no announced sunset date for legacy contracts. They remain live and queryable indefinitely. Addresses are never reused; the same delegator address always refers to the same market. JustLend has not committed to a deprecation timeline — treat "legacy" as "supply/borrow frozen, read forever."

For the most up-to-date status table, see apis.md §2 or filter contracts.json by status.

ETH / ETHB display-name swap

The JustLend dApp UI labels two markets with renamed legends:

  • The market with delegator TR7BUFRQeq1w5jAZf1FKx85SHuX6PfMqsV (this doc's jETH row) is now displayed in the dApp as "ETH" (formerly "ETHOLD"). Underlying TRC20: THb4CqiFdwNHsWsQCs4JhzwjMWys4aqCbF.
  • The market with delegator TWBxQMb6RD3qmkXUXpNwVCYbL8SHNreru6 (this doc's jETHB row) is now displayed in the dApp as "ETHB" (formerly "ETH"). Underlying TRC20: TRFe3hT5oYhjSZ6f3ji5FJ7YCfrkWnHRvh.

The on-chain addresses are unchanged — only the dApp display names swapped.

Market Underlying TRC20 CErc20Delegator (entrypoint) CErc20Delegate (impl)
jTRX native TE2RzoSV3wFK99w6J9UnnZ4vLfXYoxvRwP NA
jUSDT TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t TXJgMdjVX5dKiQaUi9QobwNxtSQaFqccvd TLjn59xNM7VEK6VZ3VQ8Y1ipxsdsFka5wZ
jUSDD TXDk8mbtRbXeYuMNS83CfKPaYYT8XWv9Hz TKFRELGGoRgiayhwJTNNLqCNjFoLBh3Mnf TLrEfG4QCbax8MTYgZzmjj4gE8RPVNvUn4
jUSDCOLD (legacy) TLZSucJRjnqBKwvQz6n5hd29gbS4P7u7w8 TNSBA6KvSvMoTqQcEgpVK7VhHT3z7wifxy THQY8YX19jLFSFg1xhthM5wb7xZvKLCzgq
jUSDJ (legacy) TMwFHYXLJaRUPeW6421aqXL4ZEzPRFGkGT TL5x9MtSnDy537FXKx53yAaHRRNdg9TkkA TYSHTEq9NFSgst94saeRvt6rAYgWkqMFbj
jTUSD TUpMhErZL2fhh4sVNULAbNKLokS4GjC1F4 TSXv71Fy5XdL3Rh2QfBoUu3NAaM4sMif8R THbrSjDsDA2KJRxx8K73tN7vLgaXSUNQFk
jUSD1 TPFqcBAaaUMCSVRCqPaQ9QnzKhmuoLR6Rc TBEKggwqFkrc4KckQVR9BLucAmQugafEZf TRo2exz6ZHn6W3Ey3G93FnzhWvjLPUcR2B
jwstUSDT TGkxzkDKyMeq2T7edKnyjZoFypyzjkkssq TD5SdLw5scR6mXgyMK2xKrFJpauDjpKqrW TUx4cV8FQNR5W4FhtF7mHZwaJMoco2464o
jsTRX TU3kjFuhtEo42tsCBtfYUAZxoqQ4yuSLQ5 TJQ9rbVe9ei3nNtyGgBL22Fuu2xYjZaLAQ TCyNbCipGbAybb8rG4aatEoEnfuYpVYCPP
jSUN TSSMHYeV2uE9qYH95DqyoCuNCzEL1NvU3S TPXDpkg9e3eZzxqxAUyke9S4z4pGJBJw9e TM82erAZJSP7NKc17JdTnzVC8WKJHismWB
jBTT TAFjULxiVgT4qWk6UZwjqwZXTSaGaqnVp4 TUaUHU9Dy8x5yNi1pKnFYqHWojot61Jfto TH3x5EqLnPduHNX41MaCCb2UfnfFMLuYwe
jNFT TFczxzPhnThNSqr5by8tvxsdCFRRz6cPNq TFpPyDCKvNFgos3g3WVsAqMrdqhB81JXHE TLkUdtDBLMfJdXni2iTa4u2DKM53XmDJHi
jJST TCFLL5dx5ZJdKnWuesXxi1VPwjLVmWZZy9 TWQhCXaWz4eHK4Kd1ErSDHjMFPoPc9czts TQ2sbnmxtR7jrNk4nxz2A8f9sneCqmk6SB
jWIN TLa2f6VPqDgRE67v1736s7bJ8Ray5wYjU7 TRg6MnpsFXc82ymUPgf5qbj59ibxiEDWvv TW3GyD3hYkKwzSGytWwWGXpe2a93zCpRzJ
jHTX TUPM7K8REVzD2UdV4R5fe5M8XbnR2DdoJ6 TDA1mWPyAjTRATMGA55UTswGAHhV2itEXR TJD7nb5Wq1P1rRi3Se2vLpLhksALdW8adb
jBTC TN3W4H6rK2ce4vX9YnFQHwKENnHjoxb3m9 TLeEu311Cbw63BcmMHDgDLu7fnk9fqGcqT TVsKSRgRoMcCp798qqRGesXRfzy2MzRjkR
jWBTC TYhWwKpw43ENFWBTGpzLHn3882f2au7SMi TVyvpmaVmz25z2GaXBDDjzLZi5iR5dBzGd TDwUJqxB1962DSfKHWMnEu1sWMGGRvHDB5
jETHB TRFe3hT5oYhjSZ6f3ji5FJ7YCfrkWnHRvh TWBxQMb6RD3qmkXUXpNwVCYbL8SHNreru6 TS9fVh58y2RMDnpucGXkbfZhAJxmGafGqe
jETH THb4CqiFdwNHsWsQCs4JhzwjMWys4aqCbF TR7BUFRQeq1w5jAZf1FKx85SHuX6PfMqsV TQBvTVisiceDvsQVbLbcYyWQGWP7wtaQnc
jWBTT (legacy) TKfjV9RNKJJCqPvBtK8L7Knykh7DNWvnYt TUY54PVeH6WCcYCd6ZXXoBDsHytN9V5PXt TV4WWBqBfn1kd4KmpYeSJpVAfybfrxEN9L
jBUSDOLD (legacy) TMz2SWatiAtZVVcH2ebpsbVtYwUPT9EdjH TLHASseQymmpGQdfAyNjkMXFTJh8nzR2x2 TNRUqbYfYv4iizWa1b2kd6ZBaoh5zrg3yk
jUSDDOLD (legacy) TPYmHEhy5n8TCEfYGqW2rPxsghSfzghPDn TX7kybeP6UwTBRHLNPYmswFESHfyjm9bAS TFdTqrMyb6PMMqTa9vnhmQHDFDU2oUhw9W
jSUNOLD (legacy) TKkeiboTkxXKJpbmVFbv4a8ov5rAfRDMf9 TGBr8uh9jBVHJhhkwSJvQN2ZAKzVkxDmno TSCpzKvJfXHj1HW5jKg9dZA8z9aMxxGLd8

Interest Rate Models

Model Type Address Tronscan
WhitePaperModelTRX WhitePaperInterestRateModel TF8B4iysAGfrssdQhMJGYsdd9SZoxGsH7M Contract
WhitePaperModelBTC WhitePaperInterestRateModel TYJi9q4qLQWoBiKmMQY3Mn81tmhw7SeCmh Contract
jumpRateTRX JumpRateModelV2 TMca13trZmVvVttrGWJyUSm33qZdohDDuh Contract
jumpRateUSDDOLD JumpRateModelV2 TDoB7y9HHj6bXTwEe6BhfAkdETjQR2He6u Contract
jumpRateUSDT JumpRateModelV2 TTetZxp98wcPaciyBMHYvQkS735RZ3tyXY Contract
jumpRatewstUSDT JumpRateModelV2 TPqKsaTnSKEU3aGHanpVFNU3cE8SmJsAYz Contract
jumpRatesTRX JumpRateModelV2 TW4fpkc98kzVbdiPhutCg2uivwVJ9MDa2P Contract
jumpRateSUN JumpRateModelV2 THCVC3DHgZ5qmUcJPutw7TrMMfj1h2bvkZ Contract
jumpRateBTT JumpRateModelV2 TQ9zMkrqgej7GjLdMrpNuURozg8J2fSXsW Contract
jumpRateNFT JumpRateModelV2 TBE9tkWYdZPEHLNeKC6Xn44YFLpieiM3xq Contract
jumpRateJST JumpRateModelV2 TMNXjQTa8x4wNHBa3X647KRnkRQpSuXBRT Contract
jumpRateWIN JumpRateModelV2 TBtChPo34CGJkb1QVEwPhxS8HQE2Xp7ir2 Contract
jumpRateUSDJ JumpRateModelV2 TLScd7kpWnKADtH7ZXKzrJHAxJUnjiiExq Contract
jumpRateUSDC JumpRateModelV2 TDECE4PZFEkmTyFk9sJMya9PY99BapHpyP Contract
jumpRateTUSD JumpRateModelV2 TLY3wRNGrQpJCZrYKu9VjntMj2kNxisAL2 Contract
jumpRateBTC JumpRateModelV2 TYJi9q4qLQWoBiKmMQY3Mn81tmhw7SeCmh Contract
jumpRateETHB JumpRateModelV2 TD5wmR7NfBM2JdSGSTTq1MgMARX2k5KE2b Contract
jumpRateWBTT JumpRateModelV2 TJAfCJdJZa44pG5adQGLMLh27hJqPeLxod Contract
jumpRateBUSD JumpRateModelV2 TUSGt1WAYeJSV94M5muFi2KvtE6EquZPUC Contract
jumpRateSUNOLD JumpRateModelV2 TK7WVRz34wUVRCpsgbW1wUCPmh5bSnCqg1 Contract
jumpRateETH JumpRateModelV2 TCiKn6EFBsNrNCFQXWaEuAxr8Su3y4Rx9D Contract
jumpRateUSD1 JumpRateModelV2 TKgX5vEds8UW8bd5fSDGHpTT4UwmVz4yPS Contract

See Interest Rate Model for the formulas backing these contracts.

Price Oracle

Component Contract Address Tronscan
Oracle Proxy PriceOracleProxy TCKp2AzuhzV4B4Ahx1ej4mvQgHZ1kH7F7k Contract
Oracle (impl) PriceOracle TMiNCmvD3zdsv6mk7niBU6NPBzVNjYMQTV Contract / Code

Prices are denominated in sun (10⁻⁶ TRX), scaled by 10^(tokenDecimal − 6). See Price Oracle.

Governance

Component Contract Address Tronscan
Governor (proxy / entrypoint) GovernorBravoDelegator TEqiF5JbhDPD77yjEfnEMncGRZNDt2uogD Contract
Governor (impl) GovernorBravoDelegate TCiQTkxhzwSeXhRsNdHCvrxHRAvpjQn5Dt Contract
Time-lock Timelock TRWNvb15NmfNKNLhQpxefFz7cNjrYjEw7x Contract
JST token JST TCFLL5dx5ZJdKnWuesXxi1VPwjLVmWZZy9 Token20
WJST (voting) WJST TXk9LnTnLN7oH96H3sKxJayMxLxR9M4ZD6 Contract / Code

See Governance for the proposal lifecycle and voting flow.

Staked TRX

Component Contract Address Tronscan
StakedTRX sTRX TU3kjFuhtEo42tsCBtfYUAZxoqQ4yuSLQ5 Token20

See Staked TRX for the contract reference.

Energy Rental

Component Contract Address Tronscan
EnergyRental EnergyRental TU2MJ5Veik1LRAgjeSzEdvmDYx7mefJZvd Contract

See Energy Rental for the contract reference.


Nile Testnet

Testnet — not the production protocol

Use these addresses only for development and integration testing. Some Nile contracts are placeholder/stub addresses — when in doubt, call get_supported_networks / get_supported_markets on the JustLend MCP server for the live runtime view, or consult the chains.ts Nile section.

Component Contract Address
Comptroller (proxy / entrypoint) Unitroller TJUCStq3WqfKqZLuZje5v7z6Ua6iBry1P6
Governance GovernorBravoDelegator TYCNENqt2oJK7eiwubi6YXXt8RHR1BnzBs
JST token (testnet) JST TJqk3ChKSjmpoNm3gaqSEatNsueD37NGDK
WJST (voting wrapper, testnet) WJST TCxA1eNhsAV3gvUwLjLtREW9f775V4h1h7
StakedTRX proxy (testnet) sTRX TZ8du1HkatTWDbS6FLZei4dQfjfpSm9mxp

The Nile testnet currently exposes a subset of the mainnet jToken markets plus four QA-only markets (jUSD1test, jETHQA, jBUSDqa1, jBUSDqa2). For the complete Nile jToken list with delegator and underlying addresses, see contracts.jsonnetworks.nile or the MCP server chains.ts.

Configuring clients for Nile

# JustLend Skills / MCP server
export NETWORK=nile
// TronWeb
const tronWeb = new TronWeb({
  fullHost: 'https://nile.trongrid.io',
  // ...
});

Tronscan testnet explorer: https://nile.tronscan.org.