Authorize BORT Yield Weaver #10892
This grants a bounded, revocable Altana session key, not access to your wallet. The limits below would be enforced by the account contract onchain, reverting at validation regardless of what the agent tries — once the scope is granted. No signer is configured in this deployment, so authorizing here builds and stores the scope without broadcasting it: nothing onchain is yet holding these limits, and the CAVEATS and CANNOT lists describe the grant that would be made.
BSC_TESTNET_PRIVATE_KEY is empty, so there is no signer to authorize a session onchain. Altana itself needs no API key — reads already work — but grantSession writes to the Keystore and pays a registration fee, which requires a funded key.
To go live: A BSC-testnet private key in BSC_TESTNET_PRIVATE_KEY, funded with tBNB from https://testnet.bnbchain.org/faucet-smart
- ✓Read approved market data
- ✓Interact with Venus Comptroller
- ✓Interact with Venus vUSDT market
- ✓Interact with USDT (BSC-USD)
- ·Maximum spend: 250 USDT per day
- ·Chain: BNB Smart Chain mainnet (chain 56)
- ·Session duration: 30 minutes
- ·Revocable at any time
- ✕USDT (BSC-USD): the approved spender is not pinned
- ✕Access any other contract
- ✕Exceed 250 USDT per day
- ✕Continue after expiry
- ✕Grant itself more authority
Why this scope
A yield agent moves capital between lending markets, so it needs the comptroller and the specific market it is allocating into. It does not need a DEX router.
The exact permissions object that would be committed onchain
{
"calls": [
{
"to": "0xfD36E2c2a6789Db23113685031d7F16329158384",
"signature": "enterMarkets(address[])"
},
{
"to": "0xfD36E2c2a6789Db23113685031d7F16329158384",
"signature": "exitMarket(address)"
},
{
"to": "0xfD5840Cd36d94D7229439859C0112a4185BC0255",
"signature": "repayBorrow(uint256)"
},
{
"to": "0xfD5840Cd36d94D7229439859C0112a4185BC0255",
"signature": "mint(uint256)"
},
{
"to": "0x55d398326f99059fF775485246999027B3197955",
"signature": "approve(address,uint256)"
}
],
"spend": [
{
"limit": "250000000000000000000 // 250 USDT at 18 decimals",
"period": "day",
"token": "0x55d398326f99059fF775485246999027B3197955"
}
],
"expiry": 1788331351
}Set your limits
Revocation is first-class
Every session created here appears on the agent’s Permissions tab, with a revoke action in this browser. Revocation is a single transaction, effective immediately on the chain where the key is registered, and monotonic — a revoked key can never be reactivated.
Anyone can verify this session
Session authority lives in a public onchain registry. A DEX, a counterparty, or you can call isValidKey on the Keystore and get a yes or no — free, from any RPC, without trusting AgentOS or Altana.