🔐 Guide · Automatic Selling

Automatic Energy Pool Selling:
Which Wallet Permissions You Really Need

Letting a pool sell your staked Energy automatically doesn't mean handing over your wallet. TRON's permission system lets you grant a narrow, revocable set of powers — and nothing else. Here's exactly what's mandatory, what's optional, what you should never sign, and what the setup actually costs.

🔑 Your private key: Never shared
✅ Mandatory permissions: 2
➕ Optional add-ons: 4
💸 Setup cost: 100 TRX
1 · The two selling modes

Automatic selling is one of two ways to earn on staked TRX

Once you've staked TRX and hold Energy or Bandwidth, you can put it to work in two very different ways. Understanding the difference is the whole point of this guide, because only one of them involves granting any permission at all.

Manual selling

You keep full, exclusive control of your wallet. When a buyer's offer appears on a marketplace, you personally sign a one-off DelegateResource transaction straight from your own private key to fulfil it. No standing authorization exists at any point — every delegation is a separate, deliberate action you approve.

Permission grantedNone
🤖

Automatic selling

You grant a pool's address standing authorization on your account, using TRON's built-in permission system — not your keys. The pool can then delegate (and later reclaim) your Energy to match buyers around the clock, without asking you to sign each individual trade.

Permission grantedLimited & revocable
The trade-off in one line: manual selling costs you time and attention but zero exposure; automatic selling costs you a one-time setup and a bounded slice of authority, in exchange for hands-off, continuous income. Neither one ever requires exporting or sharing your private key — that distinction is the entire subject of this guide.
2 · The mechanism

TRON accounts have layered permissions, not just one key

Every TRON account is created with two permission layers: an Owner permission (full control — can change permissions, unstake, transfer, everything) and an Active permission (day-to-day operations). What makes automatic selling possible without exposing your keys is that TRON lets you edit the Active permission to add a second address — the pool's — and restrict exactly which operations that address is allowed to perform on your behalf.

This is done with a single on-chain transaction called AccountPermissionUpdate. It rewrites your account's permission structure to list the pool's address alongside your own inside the Active permission, each tagged with a bitmask of which contract types it's allowed to trigger. Your Owner permission — the one that can change permissions again, or override anything the Active permission does — stays yours alone, untouched.

The key insight: a permission is not a login and not a copy of your key. It's an on-chain rule that says "this other address may also sign transactions of these specific types for my account." The pool never sees, needs, or could derive your private key from this — and you can revoke it at any time with another AccountPermissionUpdate transaction that removes their address again.
3 · Mandatory

Only two operations are actually required

For a pool to do its job — matching your Energy to buyers and getting it back afterwards — it needs exactly two permissions. Nothing else is functionally necessary for automatic selling to work.

Required

DelegateResourceContract

Lets the pool delegate your Energy or Bandwidth to a buyer's address when it matches your listing to a sale. Without this, the pool has nothing to sell on your behalf.

Required

UnDelegateResourceContract

Lets the pool reclaim previously delegated Energy — either because a rental period ended, or because it needs to reallocate your resources to a different buyer. Without this, resources you've sold could get stuck delegated indefinitely.

Together, these two are the entire operational core of automatic selling: delegate to a buyer, undelegate when it's done, repeat. Everything a pool offers beyond this — covered next — is optional convenience, not a requirement to make automatic selling work.

4 · Optional add-ons

What pools also offer — genuinely optional, not required

Checking the onboarding flows several providers actually publish for automatic selling (Feee.io, Tronify, TokenPocket's integration, and TronDiscount's own permissions page all show the same pattern) turns up 4 recurring extra permissions offered alongside the 2 mandatory ones. They're presented as recommended, and most sellers do grant them for convenience — but they are not required for automatic selling to function. Granting only Delegate + Undelegate and handling the rest yourself is a fully supported, common configuration, not a workaround.

Optional scopeWhat it automatesWhat it can't do
Vote (VoteWitnessContract)Casts SR votes with your TRON Power so you earn voting rewards without voting yourselfChange who holds your Owner permission
Claim Voting RewardsCollects accrued SR rewards and credits them straight to your balanceSend rewards to any address other than your own
Stake 2.0 (Freeze)Auto-restakes new deposits so your resource pool keeps growing without manual freezingUnfreeze or spend your existing staked TRX
Unstake 1.0 (legacy only)Cleans up old Stake-1.0 frozen balances left over from before the Stake 2.0 upgradeTouch your current Stake 2.0 position (see next section)
Delegate + Undelegate alone is a complete, working setup. Plenty of sellers grant exactly those two and nothing else — voting when and for whom they choose, and claiming rewards on their own schedule. It changes nothing about how automatic selling itself performs; it just means you keep those specific decisions in your own hands instead of automating them too.
Why platforms recommend the extra four anyway: each one only moves value toward you (more stake, claimed rewards) or performs a governance action (voting) — none can move your TRX or tokens out, and none touch your real staked principal. That's why they're offered by default and why granting them isn't a red flag by itself — but "commonly offered" is not the same as "necessary," and declining them costs you nothing but a bit of manual upkeep.
5 · Red flags

Permissions no legitimate energy pool needs from you

If a pool's onboarding flow asks you to sign an AccountPermissionUpdate that includes any of the following, stop and reconsider. Unlike the permissions above, each of these can move value out of your account or change who controls it — and none of them appear in legitimate automatic-selling authorization flows.

🚫

TransferContract / TransferAssetContract

Would let the pool move your TRX or tokens directly to any address. Delegating Energy is not the same as transferring funds — a legitimate pool never needs to move your balance anywhere.

🚫

UnfreezeBalanceV2Contract

Unstakes your current Stake 2.0 principal — the TRX actually backing your Energy today. This is distinct from the legacy Stake 1.0 unfreeze mentioned above: granting this would let the platform unwind your real position at will, not just tidy up an old deprecated one.

🚫

WithdrawExpireUnfreezeContract

Pulls TRX that's finished its unstaking wait period back into your liquid, spendable balance. Combined with the unfreeze permission above, this would complete a path from "staked" to "freely movable" entirely outside your control — on its own it's still capability you shouldn't hand over for a delegation service.

🚫

AccountPermissionUpdateContract

The most important one to refuse: this is the permission that edits permissions. Granting it would let the pool rewrite your Active — or even Owner — permission again later, potentially locking you out of your own account entirely. No pool needs this to sell Energy; if the setup flow includes it, treat that as a hard stop.

⚠️ The one distinction that matters most

Stake 1.0 unfreeze (legacy cleanup) is commonly and safely bundled in. Stake 2.0 unfreeze (your real, current principal) is not, and should never be granted. If a permission screen just says "Unstake" without specifying which version, check the actual contract type being requested — on a block explorer, not just the platform's plain-English label — before you sign.

6 · Cost

What modifying your wallet's permissions actually costs

Granting (or later revoking) a pool's authorization isn't free, and it isn't priced like an ordinary transfer — TRON treats permission changes as a distinct, flat-fee operation.

AccountPermissionUpdate fee
100 TRX
Burned, fixed by network parameter
Extra per co-signature
+1 TRX
Only for true multi-sig setups
Times you'll typically pay it
2
Once to grant, once to revoke

This 100 TRX fee applies each time you submit an AccountPermissionUpdate transaction — whether you're granting a pool's address permissions for the first time, adjusting which operations it can perform, or removing it entirely later to go back to fully manual control. It's a flat network fee set by chain parameter (adjustable only through an on-chain proposal), unrelated to how much Energy or TRX you're staking.

Put in perspective: 100 TRX is a one-time setup cost against what's typically an ongoing income stream from delegation fees (and optionally SR voting rewards) for as long as you keep the authorization active. For a wallet staking any meaningful amount of TRX for automatic selling, this cost is recovered quickly — but it's still worth knowing upfront rather than being surprised by it during onboarding.
Standard transaction fees still apply separately: the pool's own delegate/undelegate transactions to match buyers consume Bandwidth and Energy like any other TRON transaction — that cost is the pool's operating cost, not yours, since they're the ones broadcasting those transactions from their own address once authorized.
7 · Before you sign

A quick checklist before authorizing any pool

DelegateResourceContract and UnDelegateResourceContract are present — these are the non-negotiable core.
Any extra permissions (Vote, reward withdrawal, auto-restake) are ones you recognize and are comfortable with — not a surprise you only notice after signing.
If an "Unstake" permission is included, you've verified it's the legacy Stake 1.0 contract, not UnfreezeBalanceV2Contract covering your real current stake.
Neither TransferContract nor WithdrawExpireUnfreezeContract appears anywhere in the request.
AccountPermissionUpdateContract is not among the operations being granted to the pool's address.
Your Owner permission is untouched — only the Active permission is being modified.
You understand the 100 TRX fee applies now, and again if you later revoke the authorization.
You've confirmed on a block explorer (e.g. Tronscan) exactly which operations the new permission covers before broadcasting — don't rely solely on the pool's UI summary.

If every box checks out, you're granting exactly the narrow, revocable authority automatic selling requires — nothing your keys, your staked TRX, or your ability to walk away later depend on.

See which pools are paying the most right now

We track live APY across every automatic-selling energy pool we aggregate, so you can compare payouts before you authorize anyone.

FAQ

Common questions about pool permissions

Does granting these permissions mean the pool has my private key?
No. Your private key is never shared, exported, or needed by the pool at any point. The pool's own address is added to your account's Active permission with its own private key, which it controls — your key remains exclusively yours, and your Owner permission (the layer that can undo everything) stays untouched.
Can I revoke a pool's access whenever I want?
Yes. Submitting another AccountPermissionUpdate transaction that removes the pool's address from your Active permission immediately ends its ability to delegate or undelegate on your behalf. This costs the same 100 TRX fee as the original grant.
What happens to Energy currently delegated to a buyer if I revoke access?
Revoking the permission stops the pool from creating new delegations or reclaiming existing ones going forward — it doesn't automatically undelegate anything already in progress. Any Energy currently delegated to a buyer stays delegated until it's manually undelegated (by you, once you regain that capability, or per the pool's normal process) or until any lock period naturally expires.
Is automatic selling safer or riskier than manual selling?
They carry different kinds of risk, not simply more or less. Manual selling has effectively zero standing exposure since nothing is pre-authorized, but requires your active attention for every trade. Automatic selling introduces smart-contract-free but still real counterparty trust — you're trusting the pool to only ever use the specific permissions you granted, correctly and honestly — in exchange for passive, hands-off income. Reviewing exactly which operations you're authorizing, as this guide walks through, is what keeps that trade-off manageable.
Why does TRON charge 100 TRX just to change permissions?
It's a network-level anti-spam and anti-abuse measure: permission changes affect account security directly, so the protocol prices them well above an ordinary transfer to discourage frivolous or malicious repeated changes. The fee is a fixed chain parameter, adjustable only through an on-chain governance proposal — it isn't something any individual pool sets or profits from.
Can a pool add itself with a higher signing weight than me?
The permission structure you sign explicitly sets each key's weight and the overall threshold required to authorize an action — nothing is added silently. This is exactly why it's worth verifying the resulting permission structure on a block explorer after signing, rather than trusting the pool's dashboard summary alone: you want to confirm your own address still holds full authority over your Owner permission and that the pool's weight only applies to the specific Active-permission operations you intended to grant.
Why does a pool's setup screen offer more than just Delegate + Undelegate?
Real onboarding flows from providers offering automatic selling (Feee.io, Tronify, TronDiscount, and others show the same pattern) typically present 4 extra scopes alongside the 2 mandatory ones — Vote, Claim Voting Rewards, Stake 2.0, and legacy Stake 1.0 cleanup — as recommended conveniences. They're optional: granting only Delegate and Undelegate, then voting and claiming rewards manually yourself, is a fully working configuration that plenty of sellers actually use, with no impact on delegation income.