Confidential
Configure scalar FHE spending guardrails via the Ika Encrypt network.
Pre-alpha — not production ready
@aura-protocol/sdk-ts targets Solana devnet only. APIs may change without notice. Do not use for real funds until a stable release and audit are published.
Confidential guardrails store spending limits as scalar FHE ciphertexts on-chain.
AURA keeps the daily limit, per-transaction limit, and spent-today counter in
separate EUint64 ciphertext accounts. The policy graph updates encrypted
spent state in-place and decrypts only the small violation code needed to decide
whether the dWallet approval flow can continue.
configureConfidentialGuardrails
Configure scalar FHE guardrails for a treasury.
// Build only
const instruction = await client.configureConfidentialGuardrailsInstruction(
accounts: ConfigureConfidentialGuardrailsAccounts,
now: BNish,
);
// Build + send
await client.configureConfidentialGuardrails(
owner: Signer,
accounts: ConfigureConfidentialGuardrailsAccounts,
now: BNish,
);Accounts
interface ConfigureConfidentialGuardrailsAccounts {
owner: PublicKey;
treasury: PublicKey;
dailyLimitCiphertext: PublicKey;
perTxLimitCiphertext: PublicKey;
spentTodayCiphertext: PublicKey;
}Example
import BN from 'bn.js';
await client.configureConfidentialGuardrails(
owner,
{
owner: owner.publicKey,
treasury: treasuryPDA,
dailyLimitCiphertext: dailyLimitCiphertextPDA,
perTxLimitCiphertext: perTxLimitCiphertextPDA,
spentTodayCiphertext: spentTodayCiphertextPDA,
},
new BN(Math.floor(Date.now() / 1000)),
);Confidential Policy Shape
| Field | Ciphertext role |
|---|---|
dailyLimitCiphertext | Maximum encrypted daily spend |
perTxLimitCiphertext | Maximum encrypted per-transaction spend |
spentTodayCiphertext | Encrypted running counter, updated in-place |
policyOutputCiphertext | Encrypted scalar violation code for the pending proposal |
After guardrails are configured, use proposeConfidentialTransaction to submit
private spend proposals.