Skip to content

Repository files navigation

Altana

Let your AI agents pay, invest, and operate. Safely.

Altana is noncustodial infrastructure that gives your agents real authority to transact, always inside limits you set and can revoke at any moment. Three pieces make it work: an Altana smart agentic wallet your agent acts from, the KeyStore permission registry that records exactly what each agent may do, and an intent relay that turns an approved intent into a real onchain transaction with gas handled for you.

Every permission lives in a neutral onchain registry: openly verifiable, revocable in one transaction, and accessible by any agent on any chain. That unlocks:

  • Agent-to-agent verification. Two agents acting on the same wallet can verify each other's authority onchain. No platform in between.
  • Cross-app authorization. Any DEX, orderbook, or protocol can read whether an agent is authorized, without integrating a specific wallet vendor.
  • Instant revocation. Change your mind at any point. Revoke a key in one transaction, and it takes effect before the next action.

Live on mainnet across BNB Chain, Ethereum, and Base. The KeyStore contracts were audited by CertiK.

Install

npm install @altananetwork/sdk viem

Quick start

Create a client for the chains you want, then create a wallet on it. The same smart account address works on every chain you configure.

import { createClient, BNB } from "@altananetwork/sdk";

const client = createClient({ chains: [BNB] });

For end-user apps (browser): Passkey wallet, secured by Face ID or Touch ID. No seed phrase, no extension.

const wallet = await client.createPasskeyWallet({
  name: "MyApp",
  rpId: "myapp.example",
});

For agents and scripts: Private-key wallet. Bring your own key from env, OS keychain, or hardware wallet.

import { signerFromPrivateKey } from "@altananetwork/sdk";

const signer = signerFromPrivateKey(process.env.PRIVATE_KEY as `0x${string}`);
const wallet = await client.createWallet({ signer });

Both return the same wallet handle, and every client method works with either.

Grant a scoped session

const session = await client.grantSession({
  wallet,
  signer: wallet.signer,
  permissions: {
    calls: [{ to: "0xUniswapRouter..." }],
    spend: [{ limit: 100_000_000n, period: "day", token: "0xUSDC..." }],
  },
  expiry: Math.floor(Date.now() / 1000) + 7 * 24 * 60 * 60,
});

// The agent uses the session directly. Admin not involved.
await client.execute({
  session,
  calls: [{ to: "0xUniswapRouter...", data: "0x...", value: 0n }],
});

By default the session is on-chain in KeyStore the moment grantSession confirms, so any tool can verify the authorization without going through Altana. (register: false grants an unlisted session for ephemeral keys; register it later with registerSessionKey.)

What else the SDK does

Beyond wallets and sessions, @altananetwork/sdk also covers:

Packages

  • @altananetwork/sdk: TypeScript SDK for creating wallets, granting sessions, and executing transactions.
  • @altananetwork/mcp: MCP server that lets AI hosts (Claude, Cursor, Continue) operate Altana wallets via tools and slash commands.
  • @altananetwork/x402-server: the seller side of x402. Issue 402 challenges, verify X-PAYMENT headers (EOA and ERC-1271), and settle onchain, for agents charging per request.
  • @altananetwork/hypersigner-keystore-mcp: non-custodial MCP server for KeyStore authorization. It verifies, registers, timeboxes and revokes keys without ever holding a key or signing anything, so any agent runtime can check authority.

Documentation

Full docs, guides, and SDK reference: docs.altana.network.

Security

The KeyStore contracts were audited by CertiK (completed 15 July 2026). Scope, findings, and the verified deployments are on the audit reports page.

Found a vulnerability? Please report it privately, not as a public issue. See SECURITY.md.

Issues and feedback

Found a bug, have a feature request, or want to discuss something? Open an issue on GitHub Issues.

License

Apache-2.0

About

Non-custodial agentic wallets with onchain session key delegation. TypeScript SDK, MCP server, and x402 payments for AI agents on BNB Chain, Ethereum, and Base.

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages