Spending Policies
Overview
Creating Policies
Basic Policy
const policy = await mppfi.policies.create({
agentId: 'agt_7xK9mN2pQ1',
name: 'Production Agent Policy',
rules: [
{
type: 'amount_limit',
period: 'daily',
limit: { amount: 500.00, currency: 'USDC' }
},
{
type: 'merchant_allowlist',
addresses: [
'GHvFFSZ8dDbN9eDeTe3vPqX7jHhgYFLkLGVrHjG6FH2P', // OpenAI
'8qN5L3kZ9xM2vY7cB4jT6wE1rP9sU5hG3fD8aQ2nK7m', // Anthropic
'F3xR9vQ2mL7nP5jK8cW4yT6zS1bN9hG2dA5eU8fV3k' // AWS
]
}
],
enforcement: 'on_chain' // Enforced by Solana smart contract
});
console.log(`Policy ID: ${policy.id}`);
console.log(`Contract address: ${policy.blockchain.contract_address}`);Policy Rules
1. Amount Limits
2. Merchant Allowlists
3. Transaction Amount Limits
4. Category Restrictions
5. Time-Based Controls
6. Multi-Signature Requirements
7. Velocity Limits
8. Balance Requirements
Complete Policy Example
Policy Management
Update Policy
Disable Policy Temporarily
Archive Policy
Policy Enforcement
On-Chain Validation
Pre-Flight Validation
Multi-Signature Approvals
Request Approval for High-Value Payment
Sign Approval
Approval Status
Policy Analytics
Spending Summary
Violation History
Policy Compliance Report
Best Practices
1. Start Restrictive, Loosen Gradually
2. Layer Multiple Controls
3. Use Metadata for Governance
4. Monitor Policy Effectiveness
5. Regular Policy Reviews
Emergency Procedures
Policy Override
Policy Freeze
Rate Limits
Endpoint
Limit
Window
Next Steps
Last updated
Was this helpful?
