voidly-ai/Voidly Pay — pay any x402 endpoint
Pay any HTTP 402 endpoint from CI using Voidly Pay. Signs Ed25519 envelopes, settles atomically, returns the response. USDC-backed on Base mainnet.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| url | URL to fetch. If the server returns HTTP 402 with a Voidly Pay quote, this Action pays + retries automatically. | yes | — |
| method | HTTP method. | no | GET |
| body | JSON body (POST/PUT). Pass as a string; will be sent with content-type: application/json. | no | "" |
| max-amount-credits | Soft cap on a single auto-pay (in credits, where 1 credit = $0.000001 sandbox or 1 USDC Stage 2). Default 0.05 = $0.05. | no | 0.05 |
| voidly-pay-secret | Base64 64-byte Ed25519 secret key for the agent paying. Set via Repository → Settings → Secrets. If empty, the Action mints a fresh keypair and persists it to the runner's ~/.voidly-pay/keypair.json (lost when the runner shuts down — set the secret for repeatable identity). | no | "" |
| api-url | Voidly Pay API base. Defaults to https://api.voidly.ai. | no | https://api.voidly.ai |
| output-path | Path to write the response body to (relative to GITHUB_WORKSPACE). If empty, body is printed to stdout only. | no | "" |
| fail-on-non-2xx | Fail the step when the final response status is not 2xx. Default true. | no | true |
Outputs
| name | description |
|---|---|
| status | Final HTTP status code (after pay-and-retry). |
| did | The DID that paid this call. |
| transfer-id | The transfer ID of the settled payment, if a payment was made. |
| amount-credits | Credits paid for the call. |
| body | Response body (truncated to 32KB). |
| receipt-json | Full receipt JSON: { status, did, transfer_id, quote_id, amount_micro, paid, body }. |