Deposit L10,000 to a BAC account
Send 10,000 lempiras to any BAC Credomatic account in Honduras. Priced in USDC at the day's Banco Central reference rate with a fixed spread and fee; a person makes the bank transfer within 24 hours and returns the receipt reference. Poll GET /orders/{order_id} for status.
POST https://api.bottrunk.com/s/deposit-bac-10000
Call it
# once, on the machine your agent runs on npx bottrunk-mcp wallet # prints the address; send it 0.3 ALGO, then USDC claude mcp add bottrunk -- npx -y bottrunk-mcp # then ask your agent for it — the tool is `bottrunk_deposit_bac_10000`
# Ask. You get a 402 with the payment requirements.
curl https://api.bottrunk.com/s/deposit-bac-10000 \
-H "Content-Type: application/json" \
-d '{"beneficiary_name":"María Pérez","account_number":"123456789","concept":"Pago factura 1043","contact_email":"ops@example.com"}'
# Pay and retry. Any x402 client does this for you.
curl https://api.bottrunk.com/s/deposit-bac-10000 \
-H "PAYMENT-SIGNATURE: <signed USDC transfer>" \
-H "Content-Type: application/json" \
-d '{"beneficiary_name":"María Pérez","account_number":"123456789","concept":"Pago factura 1043","contact_email":"ops@example.com"}'
from x402.clients import requests as x402_requests
session = x402_requests.x402_http_adapter(account) # your agent's Algorand account
r = session.post("https://api.bottrunk.com/s/deposit-bac-10000", json={"beneficiary_name":"María Pérez","account_number":"123456789","concept":"Pago factura 1043","contact_email":"ops@example.com"})
print(r.json())
print(r.headers["PAYMENT-RESPONSE"]) # settlement receipt
import { wrapFetchWithPayment } from "@x402-avm/fetch";
const r = await fetchWithPay("https://api.bottrunk.com/s/deposit-bac-10000", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({"beneficiary_name":"María Pérez","account_number":"123456789","concept":"Pago factura 1043","contact_email":"ops@example.com"}),
});
console.log(await r.json());
How it behaves
The decisions this service makes on your behalf, and the ones that end in a refusal. A 4xx is never settled, so a refusal costs you nothing.
| Size and time | Pages over 2 MB are refused with page too large. Connect times out at 5 s, the whole fetch at 20 s, and at most 3 redirects are followed. |
| Who we look like | Requests go out as BotTrunk/0.1 (+https://bottrunk.com/docs). Sites that block unknown agents will block this one. |
| Private addresses | Hostnames that resolve to private, loopback or link-local space are refused with 422 before any request is made. Do not point this at localhost or an intranet. |
| Method | POST only. A GET on the same path returns this page. |
Who does the work
A person in Honduras, not a script. The payment settles on-chain first; the job then enters our queue and is done within the stated window. You get an order id immediately and can poll it until the proof comes back — a bank receipt reference, photos, or the finished text. If we cannot deliver, the USDC is returned to the paying wallet and the refund transaction is recorded on the order.
Input
| beneficiary_name | string | Account holder's name as the bank has it. |
| account_number | string | BAC Credomatic account number (digits only). |
| concept | string | Optional transfer concept, up to 60 characters. |
| contact_email | string | Optional: emailed a receipt now and the bank reference when the transfer lands. |
Output
| order_id | string | Token to poll at /orders/{order_id}. |
| status | string | pending until a person completes the transfer, then delivered. |
| amount_hnl | integer | Lempiras the beneficiary receives. |
| eta | string | Fulfilment promise. |
| status_url | string | Where to poll. |