PaySafe payment security for Coinbase AgentKit: a scan-before-you-pay action provider for x402 payments, with prompt-injection provenance and signed verdicts. Non-custodial.
Project description
agentkit-paysafe
PaySafe payment security for Coinbase AgentKit — a scan-before-you-pay action provider for x402 payments.
pip install agentkit-paysafe
Add the action provider
from coinbase_agentkit import AgentKit, AgentKitConfig
from agentkit_paysafe import paysafe_action_provider
agent_kit = AgentKit(AgentKitConfig(
wallet_provider=wallet_provider,
action_providers=[
paysafe_action_provider(agent_id="my-agent"), # free key auto-minted
# ... your other providers
],
))
The agent gets three actions — paysafe_scan_payment, paysafe_check_reputation, paysafe_report_counterparty — each described so the model calls them at the right moment. Verdicts come back allow / flag / block with machine-readable reasons: prompt-injection-triggered payments, replayed nonces, overpayment vs the quote, secrets/PII leaking in payment metadata, lookalike-token contracts, address poisoning, counterparty reputation.
Two AgentKit-native touches
Wallet payer auto-fill. paysafe_scan_payment receives AgentKit's wallet_provider, so when you don't supply a payer it fills in the agent's own wallet address — scoping PaySafe's velocity and first-contact limits to this agent automatically. Supply payer explicitly to override.
Provenance for injection detection. PaySafe's strongest check catches payments whose decision came from content the agent just read. Pass that text as the scan action's optional content argument; if the pay_to address appears in it, the payment is blocked.
Non-custodial by design
PaySafe only reads payment metadata to produce a verdict — it never signs, holds, or routes funds, and the action provider never touches the AgentKit wallet's keys. The settle/refuse decision stays with your agent. Verdicts are Ed25519-signed and payment-bound; for wallet-level enforcement (the signer itself refuses unscanned payments), see PaySafeEnforcer in the paysafe-x402 SDK.
MIT.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agentkit_paysafe-0.1.0.tar.gz.
File metadata
- Download URL: agentkit_paysafe-0.1.0.tar.gz
- Upload date:
- Size: 7.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c91bf39e19c4212d1f58d59c638802e51fb48f0d4e55c8b7eab26906f7381728
|
|
| MD5 |
4952c648615650274a1bc95937a6f0d2
|
|
| BLAKE2b-256 |
e6e0cf37d94a5fae8e1b05fdcd8ac3ec4e29c2def8b3832c9eaa5a9861bd81d6
|
Provenance
The following attestation bundles were made for agentkit_paysafe-0.1.0.tar.gz:
Publisher:
publish-pypi.yml on corbinallison/paysafe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentkit_paysafe-0.1.0.tar.gz -
Subject digest:
c91bf39e19c4212d1f58d59c638802e51fb48f0d4e55c8b7eab26906f7381728 - Sigstore transparency entry: 2180641212
- Sigstore integration time:
-
Permalink:
corbinallison/paysafe@5d200faaadebd9c8d7b989df7e2d6d944ebe5e43 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/corbinallison
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@5d200faaadebd9c8d7b989df7e2d6d944ebe5e43 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file agentkit_paysafe-0.1.0-py3-none-any.whl.
File metadata
- Download URL: agentkit_paysafe-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5db9e17a9a2941a04ea23d69387436ad2e8a175e0cdb2b9fc534342af5bb2ede
|
|
| MD5 |
f0e1266f0cd8f85104860cb74dfd1923
|
|
| BLAKE2b-256 |
72baa99c3e1d825d237166e5db7df996b6ba72e8a2a85573f384db3508b656df
|
Provenance
The following attestation bundles were made for agentkit_paysafe-0.1.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on corbinallison/paysafe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentkit_paysafe-0.1.0-py3-none-any.whl -
Subject digest:
5db9e17a9a2941a04ea23d69387436ad2e8a175e0cdb2b9fc534342af5bb2ede - Sigstore transparency entry: 2180641320
- Sigstore integration time:
-
Permalink:
corbinallison/paysafe@5d200faaadebd9c8d7b989df7e2d6d944ebe5e43 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/corbinallison
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@5d200faaadebd9c8d7b989df7e2d6d944ebe5e43 -
Trigger Event:
workflow_dispatch
-
Statement type: