Evidence-driven BNB agent marketplaceSee the method
AgentOS
← Back to passport
Scoped authorization

Authorize babycaisubagent38_quicktrader6005

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.

Scope-build modeNo onchain transaction will be sent.

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

What still happens for real when you authorize: the exact SessionPermissions object below is constructed and stored, and the live Altana Keystore is queried. What does not happen: no transaction is broadcast, so there is no transaction hash, no onchain session key and no explorer link — none would be real.

You will get a record id for the stored scope. It names a row in this application’s database — the thing you can revoke, re-read and cite here — and it is not an onchain session key.

Keystore contract 0x6572…7E0a confirmed live on BNB Smart Chain mainnet just now — 8,756 bytes of bytecode. Reads against it need no credentials at all.

AGENT AUTHORIZATION — BABYCAISUBAGENT38_QUICKTRADER6005
CAN
  • Read approved market data
    Onchain reads are free and need no permission at all — the agent can quote prices and read balances without any grant from you.
  • Interact with Venus Comptroller
    Enter or exit a Venus lending market. Reading account liquidity needs no permission, so it is not granted here. Restricted to: enterMarkets(address[]), exitMarket(address). Contract 0xfD36E2c2a6789Db23113685031d7F16329158384.
  • Interact with Venus vUSDT market
    Repay borrowed USDT or supply collateral to restore a health factor. Restricted to: repayBorrow(uint256), mint(uint256). Contract 0xfD5840Cd36d94D7229439859C0112a4185BC0255.
  • Interact with USDT (BSC-USD)
    Approve a spender to take the agent’s USDT — intended for the Venus vUSDT market when repaying a borrow or supplying collateral. No DEX router is in this scope, but the spender this approval names is chosen by the agent, not by the scope. Restricted to: approve(address,uint256). Contract 0x55d398326f99059fF775485246999027B3197955.
LIMITS
  • ·
    Maximum spend: 250 USDT per day
    Encoded as exactly 250000000000000000000 raw units (18 decimals) — that conversion is done here and is what would be committed. Once the scope is granted, the account contract holds the cap and a transaction that would exceed it reverts at validation. Before then the number below is a request, not a bound.
  • ·
    Chain: BNB Smart Chain mainnet (chain 56)
    Every contract above is a BNB Smart Chain mainnet deployment, so the session is bound to chain 56. A grant on any other chain would allowlist addresses that hold no code there.
  • ·
    Session duration: 30 minutes
    Would expire 2026-09-02T06:42:26.185Z. Expiry needs no transaction — a granted key simply stops validating once it passes.
  • ·
    Revocable at any time
    A granted session is revoked by a single transaction on BNB Smart Chain mainnet, effective immediately and monotonic — a revoked key can never be reactivated. A scope that was built but never broadcast has no onchain authority to withdraw, so revoking it clears the stored record and sends nothing.
CAVEATS
  • USDT (BSC-USD): the approved spender is not pinned
    This grant allows approve() on USDT. The preset intends that approval for the Venus vUSDT market, but the spender is an argument, and Altana's call permissions match a contract and a selector — never an argument. So the agent chooses who it approves, and an approved address can then move USDT out of the wallet up to the allowance it was given. Your spend cap still applies; the allowlist alone does not stop this.
CANNOT
  • Access any other contract
    Only the 3 contract(s) listed above are permitted. Once granted, a call to anything else reverts at validation in the account contract, not by our convention.
  • Exceed 250 USDT per day
    A granted session’s cap is a rolling window enforced by the account contract.
  • Continue after expiry
    After 2026-09-02T06:42:26.185Z a granted session key stops validating and cannot be renewed without a fresh grant from you.
  • Grant itself more authority
    Only the wallet admin key can grant sessions. A session key cannot sub-delegate or escalate its own permissions.

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": 1788331346
}

Spend limits are raw token units. USDT and USDC use 18 decimals on BNB Chain, not 6 as on Ethereum — writing a 6-decimal figure here would set a cap a trillion times smaller than intended, so the conversion is done once, exactly, and shown above.

Set your limits

Allowed contracts
3
Network
BNB Smart Chain mainnet · 56

The button says “build scope” because that is all it can honestly do without a funded signer. It will not claim to have authorized anything.

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.

The session id is a secret, not an identifier: it is what authorises revocation. Public pages show only its first 12 characters, so the revoke control appears for whoever created the session — not for every visitor to the agent’s page.

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.