SDK Reference
The AuditAgent SDK provides a simple TypeScript interface for autonomous API payments.
Installation
npm install @auditagent/sdk
Quick Start
import { AuditAgentClient } from '@auditagent/sdk';
const client = new AuditAgentClient({
programId: process.env.SOLANA_AGENT_PROGRAM_ID!,
authoritySecret: process.env.SOLANA_AGENT_AUTHORITY_SECRET!,
usdcMint: '4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU',
rpcUrl: 'https://api.devnet.solana.com',
premiumApiBase: 'https://api.example.com',
});
const result = await client.runAudit({
resourcePath: '/api/premium-data'
});
console.log('Transaction:', result.signature);
console.log('Data:', result.primary);Configuration
| Option | Type | Required | Description |
|---|---|---|---|
programId | string | Yes | Deployed Solana program ID |
authoritySecret | string | Yes | Base58-encoded authority secret |
usdcMint | string | Yes | USDC mint address |
rpcUrl | string | No | Custom RPC (default: devnet) |
premiumApiBase | string | Yes | Base URL for premium APIs |
Methods
runAudit(options)
Executes an autonomous payment for a premium API resource.
Parameters
{
resourcePath: string; // API endpoint path
requestInit?: RequestInit; // Optional fetch options
}Returns
{
signature: string; // Solana transaction signature
primary: unknown; // API response data
followUp?: unknown; // Follow-up data (if chained)
tapProof: {
signature: string; // Cryptographic proof
payloadHash: string; // SHA-256 hash
issuedAt: number; // Timestamp
authority: string; // Authority pubkey
version: string; // TAP version
};
fee: {
microLamports: number; // Priority fee paid
computeUnits: number; // Compute units used
};
}Helper Functions
deriveAgentPda(programId: string): string
Derives the agent PDA address for a given program ID.
import { deriveAgentPda } from '@auditagent/sdk';
const pda = deriveAgentPda('YourProgramId...');
console.log('Agent PDA:', pda);getAgentAta(programId: string, usdcMint: string): string
Gets the Associated Token Account for the agent's USDC wallet.
import { getAgentAta } from '@auditagent/sdk';
const ata = getAgentAta(
'YourProgramId...',
'4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU'
);Error Handling
try {
const result = await client.runAudit({
resourcePath: '/api/data'
});
console.log('Success:', result);
} catch (error) {
if (error instanceof WrappedFetchError) {
console.error('Payment failed:', error.message);
} else {
console.error('Error:', error);
}
}Examples
Basic Usage
const result = await client.runAudit({
resourcePath: '/api/premium-data'
});
console.log('Paid', result.fee.microLamports, 'μLamports');
console.log('Data:', result.primary);With Custom Headers
const result = await client.runAudit({
resourcePath: '/api/data',
requestInit: {
headers: {
'X-Custom-Header': 'value',
},
},
});Need Help?
Check out our GitHub Discussions or open an issue if you run into problems.