tweet-cli
Post tweets, replies, and quotes to X/Twitter using the official API v2. Use this instead of bird for posting. Uses API credits so only post when explicitly asked or scheduled.
Loading actions...
Post tweets, replies, and quotes to X/Twitter using the official API v2. Use this instead of bird for posting. Uses API credits so only post when explicitly asked or scheduled.
Secure token swaps and Trenches trading on **Base Mainnet**, powered by Safe + Zodiac Roles.
Build in public with vibe raising. Launch your builder coin and ship products under it — every launch compounds funding and traction back to your builder. Claim vesting rewards and trading fees. Gas-free on Frame (Base).
Query the BondTerminal API with x402 pay-per-call auth. No API key, no subscription — just sign and pay per request.
Cost: $0.01 USDC per request on Base mainnet.
Base URL: https://bondterminal.com/api/v1
| Method | Endpoint | Description | Auth |
|---|---|---|---|
| GET | /treasury-curve | US Treasury yield curve | Free |
| GET | /bonds | List all bonds (60+) | x402 |
| GET | /bonds/:id | Bond details by ISIN or local ticker | x402 |
| GET | /bonds/:id/analytics | Price, YTM, duration, spreads | x402 |
| GET | /bonds/:id/cashflows | Cashflow schedule | x402 |
| GET | /bonds/:id/history | Historical price/yield/spread | x402 |
| POST | /calculate | Bond analytics from custom price | x402 |
| GET | /riesgo-pais | Current Argentina country risk | x402 |
| GET | /riesgo-pais/history | Historical riesgo país series | x402 |
| POST | /calculate/batch | Batch calculations | Bearer only |
Identifier formats: ISIN (US040114HS26), local ticker with D/C suffix (AL30D, GD30D).
Full docs: https://bondterminal.com/developers
Endpoint reference in this skill: references/endpoints.md
402 with PAYMENT-REQUIRED headertransferWithAuthorization via the x402 client libraryPAYMENT-SIGNATURE header (v2), with X-PAYMENT as legacy fallbackPAYMENT-RESPONSE headernpm install @x402/core @x402/evm viem
Note: The code examples use ES modules. Use
.mjsfile extension or add"type": "module"to yourpackage.json.
The x402 payment flow requires an EVM signer on Base mainnet with USDC balance. Configure your signer following the x402 EVM documentation.
The signer must implement { address, signTypedData } — any viem-compatible wallet client works (hardware wallet, KMS, injected provider, etc).
See references/signer-setup.md for a complete signer configuration example.
import { x402Client } from '@x402/core/client';
import { x402HTTPClient } from '@x402/core/http';
import { ExactEvmScheme } from '@x402/evm'; // exact export name
// signer = { address, signTypedData } — see references/signer-setup.md
const scheme = new ExactEvmScheme(signer);
const client = new x402Client();
client.register('eip155:8453', scheme); // Base mainnet
const httpClient = new x402HTTPClient(client);
async function fetchBT(path) {
const url = `https://bondterminal.com/api/v1${path}`;
let res = await fetch(url);
if (res.status === 402) {
const paymentRequired = httpClient.getPaymentRequiredResponse(
(name) => res.headers.get(name),
await res.json()
);
const payload = await httpClient.createPaymentPayload(paymentRequired);
// Preferred v2 header
res = await fetch(url, {
headers: httpClient.encodePaymentSignatureHeader(payload),
});
// Legacy fallback for servers still expecting X-PAYMENT
if (res.status === 402) {
const encoded = Buffer.from(JSON.stringify(payload)).toString('base64');
res = await fetch(url, { headers: { 'X-PAYMENT': encoded } });
}
}
if (!res.ok) {
throw new Error(`BondTerminal request failed (${res.status})`);
}
return res.json();
}
// Examples
const bonds = await fetchBT('/bonds');
const analytics = await fetchBT('/bonds/AL30D/analytics');
const riesgo = await fetchBT('/riesgo-pais');
Validate both free and paid flows:
await fetchBT('/treasury-curve'); // free route (no payment)
await fetchBT('/riesgo-pais'); // paid route (triggers x402 flow)
The signing wallet needs:
No ETH for gas is required — x402 uses EIP-3009 (off-chain signature), not on-chain transactions.
POST /calculate/batch requires a Bearer API key subscription — not available via x402AL30D (USD), AL30C (ARS) — not AL30PAYMENT-RESPONSE header contains settlement metadata (payer, tx hash, network)