Radiant Burns
Illumination Writers
Construct direct or permit-based calls to IlluminationRegistry.
Direct Illuminate
import { buildIlluminateTx } from '@influence-protocol/sdk';
const tx = buildIlluminateTx({
registry: process.env.ILLUMINATION_REGISTRY!,
attestationUid: '0xabc...',
radiantAmount: 1n * 10n ** 17n,
});Permit Flow
Use buildPermitTypedData to generate the EIP-2612 payload, then sign via the user wallet. Relayer submits the signed permit through buildIlluminateWithPermitTx.
const typedData = buildPermitTypedData({
name: 'Radiant',
chainId: 8453, // Base Mainnet (use 84532 for Base Sepolia)
verifyingContract: process.env.RADIANT_TOKEN!,
owner: fanWallet,
spender: process.env.ILLUMINATION_REGISTRY!,
value: radiantAmount,
nonce,
deadline,
});AI agents: ensure deadline is in the future and that value equals the Radiant burn amount.
Batch Permit
buildBatchIlluminateWithPermitTx verifies totals on-chain; provide both arrays and the signature covering totalAmount.
Agent Notes
- Validate Radiant amounts against
MIN_RADIANT_AMOUNT(1e15) andMAX_RADIANT_AMOUNT(1000e18). - Always fetch the attestation record from
RelationalResolverbefore distributing Radiant. - Permit signatures are single-use; handle nonce increments carefully.
Machine-readable workflow: /agents/workflows/illuminate_attestation