Prompt enjeksiyonuna dayanacak ajan harcama kontrolleri kurun.
Gösterge panelinde bir harcama izni belirleyin - dönem başına bir izin artı işlem başına bir sınır - ve arka uç bunu her ödemede uygular. Çünkü arka uçta yer alır ve API yalnızca okunabilir, ajanın planlayıcısını ele geçiren istem enjeksiyonu yine de sınırı yükseltemez. Kodunuz, izni görüntülemek veya etrafında plan yapmak için API üzerinden okur.
Başlamadan önce.
- Mevcut bir ajan (bkz. add-payments-to-agent guide).
- Ajanı sahiplenen çalışma alanı için kontrol paneli erişimi - izinler orada ayarlanır, API üzerinden değil.
- Beklenen günlük harcama hakkında kaba bir fikir - harç, normal kullanımın 2-3 katı olmalıdır, 100 katı değil, böylece gerçekten yük taşıyıcıdır.
- İzni okumak için bir API anahtarı (bu kılavuz için bir
sk_test_anahtarı uygundur). - ajan harcama politikası kavramı ile tanışıklık - bu kılavuz onun operasyonel karşılığıdır.
Gösterge panelinde izni belirleyin.
Blockchain0x kontrol panelinde ajanı açın ve iki sayı belirleyin: bir süre içinde (bir gün, bir hafta veya 30 gün) bir harcama limiti ve işlem başına bir üst sınır. Harcama limiti, tüm süre boyunca en kötü durumu sınırlar; işlem başına üst sınır, tek bir anormal isteğin hepsini birden harcamasını engeller. Bu, kasıtlı olarak bir kontrol paneli eylemidir - ajanın çalıştığı insan tarafından belirlenen sınırdır.
Amounts are USDC base units (6 decimals). An allowance_wei of "20000000" is 20 USDC; a per_tx_wei of "2000000" is 2 USDC. The period is a period_seconds value: 86400 for a day, 604800 for a week, 2592000 for 30 days.
İzni API üzerinden okuyun.
Kodunuz canlı izni çekerek bir UI'da gösterebilir veya agent'ın ödeme denemeden önce ne kadar alan kaldığını kontrol etmesine izin verebilir. Route read-only'dir - bir mutate endpoint'i yoktur; agent'ın key'inin kendi limitini genişletememesinin sebebi tam olarak budur.
curl https://api.blockchain0x.com/v1/agents/agt_123/spend-permissions \
-H "Authorization: Bearer $BLOCKCHAIN0X_API_KEY"{
"allowance_wei": "20000000",
"per_tx_wei": "2000000",
"period_seconds": 86400,
"start_at": "2026-05-15T00:00:00Z",
"end_at": null,
"revoked_at": null
}Zamanda bağlayın veya iptal edin.
İki alan, izni zaman sınırlı bir kontrol haline getirir. start_at ve end_at, canlı olduğu pencereyi ayarlar, böylece planlı bir iş için bir bütçe önceden ayarlayabilir veya birinin kendi kendine süresinin dolmasına izin verebilirsiniz; pencerenin dışında hiçbir şeyi yetkilendirmez. revoked_at, kapatma anahtarıdır: kontrol panelinden iptal edin ve izin, sonrasında değerlendirilen herhangi bir ödeme için sıfıra düşer.
Daha sert bir durdurma için, ajanın API anahtarını apiKeys.revoke veya apiKeys.rotate ile iptal edin veya döndürün - bu, kimliği tamamen keser, sadece harcamayı değil. İzin iptali cerrahi bir hamledir; anahtar iptali ise acil durdurma anahtarıdır.
Sınırı aşan bir ödemeyi yönetin.
Bir ödeme aktif izni aşarsa, arka uç, zincire dokunmadan önce bunu reddeder - hiçbir fon hareket etmez. payments.create çağrınız bir hata döndürür; bunu diğer başarısız çağrılar gibi yönetin, operatörünüze yüzeyden iletin ve aynı duvara körü körüne tekrar denemeyin.
Bir ajanın neyi denediğini görmek için, gösterge panelinin etkinlik günlüğünü izleyin ve gerçek hareketleri transactions.get ile uzlaştırın. Reddedilen denemelerin patlaması, erken uyarı sinyalinizdir: ya yanlış yapılandırılmış bir izin, ya da kontrolsüz bir döngü veya bir enjeksiyon sorgusu. Bunu, başarısız çağrıların herhangi bir artışı gibi uyarı verin.
Kontrolü alt eden beş hata.
Harcama üst sınırını arka uç yerine ajan koduna koymak
Ajanın planlayıcısındaki veya sistem istemindeki harcama kuralları güvenlik sınırları değildir. Planlayıcıyı geçersiz kılan bir istem enjeksiyonu saldırısı da sınırı geçersiz kılar. Harcama izninin amacı, ajanın manipüle edilebilir kapsamının dışında - arka uçta, gösterge panelinde ayarlanmış - yaşamasıdır, bu nedenle ajan bunu değiştiremez. Bunu orada yapılandırın, 'ajana $X'den fazla harcama yapmamasını söylemekle' değil.
Ajanın API anahtarının limiti genişletmesini bekliyoruz
Harcama izinleri için API yalnızca okunabilir: bir izni artıran hiçbir uç nokta ve hiçbir SDK yöntemi yoktur. Bu kasıtlıdır. Eğer bir tehlikeye atılmış veya enjekte edilmiş bir ajan, zaten sahip olduğu anahtarla bir değiştirme uç noktasını çağırabilirse, kontrol değersiz olur. Bir sınırı değiştirmek için gösterge panelini kullanırsınız, burada değişiklik bir denetim izi ile insan eylemidir.
Hiçbir zaman zarar vermeyecek kadar yüksek bir izin ayarlamak
Bir izin yalnızca yük taşıyıcıysa sizi korur. Normal kullanımın 100 katı olarak ayarlanan bir harç, kaçan bir döngüyü durdurmaz, ta ki çok daha fazla harcama yapana kadar. Harcı ve işlem başına sınırı beklenen kullanımın yaklaşık 2-3 katı olarak ayarlayın, ardından gerçek trafik ihtiyacınız olduğunu kanıtladığında kasıtlı olarak genişletin.
Her işlem için üst sınırı unutmak
allowance_wei, tüm dönem boyunca en kötü durumu sınırlar; per_tx_wei ise tek bir ödemeyi sınırlar. Farklı işler yaparlar. Per-transaction cap olmadan cömert bir period allowance, tek bir anormal isteğin - hatalı bir retry veya kötü niyetli fiyat teklifinin - tek seferde büyük bir tutarı hareket ettirmesine izin verir. İkisini de ayarlayın.
Hızlı bir durdurma anahtarı prova edilmedi
Saat 2'de bir şey ters görünüyorsa, önceden pratik ettiğiniz bir hamleye ihtiyacınız vardır. İki seçenek var: dashboard'da izni iptal etmek (revoked_at ayarlanır, allowance sıfıra iner) veya agent'ın API key'ini apiKeys.revoke / apiKeys.rotate ile iptal etmek/rotate etmek (credential'ı tamamen keser). Hangisine başvuracağınızı bilin ve bunu hızlıca yapabildiğinizden emin olun.
İzin verildikten sonra.
İzin zorunlu hale getirildiğinde, en çok fayda sağlayan sonraki adımlar güvenilir webhook handling'dir (payment event'lerinin gerçekten handler'ınıza ulaşması için), identity verification'dır (karşı taraflar agent'ın profilinə güvensin diye) ve pre-launch security review'dur (açık başka bir kapı bırakmadığınızdan emin olmak için).
Geliştiricilerin en çok sorduğu webhook desenleri
GitHub ve alan adı doğrulama rozetlerini kazanın
Canlıya geçmeden önce ajanın cüzdanını güvence altına alın
Tam referans docs.blockchain0x.com'da. Ürün yüzeyi: Harcama kontrolleri.