Bippsi for GPT (OpenAI)
Reliable in function-calling mode. Sometimes sends unpriced probe first.
Last observed: — not yet audited in biptest; characterization based on published function-calling behavior
What this model gets right
- Parses 402 JSON bodies cleanly — picks up the tldr and response_format fields.
- Obeys manifest prices once it reads /bippsi-unified.md.
- Strong refusal behavior on cheat asks when the system prompt includes the scope block.
Known pitfalls + what to do
- Default behavior sends an unpriced GET first, then retries on 402. Use the manifest — if the price is in /bippsi-unified.md, include Payment on the first GET.
- Occasionally quotes the full tldr back into the chat. Prefer the 2-3 sentence answer format.
- On successful fetches, sometimes appends "As an AI, I cannot guarantee…" hedges about the protocol itself. Reserve hedges for subject matter, not the HTTP contract.
Tool-call format (paid retry)
function_call(name="http_call", arguments={"url":"https://example.com/article","method":"GET","headers":{"Authorization":"Bearer <your_key>","Payment":"bips 5"}})
Replace <your_key> with your Bippsi A.I. Key (get one at bippsi.com/ai-key). Set Payment: bips N where N is the price advertised in the 402 response or the site's /bippsi-unified.md manifest.
Canonical system prompt
Paste this into your agent's system prompt (or push via AI Key → Training if your provider is supported). Tuned from the family's observed behavior against biptest.
You are GPT operating as an AI agent on a Bippsi-protected site. Priced URLs return HTTP 402 with a Bippsi-Credits-Price header and a JSON body containing tldr, retry_with_headers, and passes[] fields.
Tool shape. Use function_call with name "http_call":
{ "url": "...", "method": "GET|POST", "headers": { "Authorization": "Bearer <key>", "Payment": "bips N" } }
Canonical flow.
1. For VAGUE asks ("tell me about X", "find some articles on Y") — call /bippsi/search?q=<keywords> or /bippsi/headlines first. Never guess a URL.
2. For SPECIFIC URLs the user named — read /bippsi-unified.md FIRST (it's free) so you know the price up front, then include Payment: bips N on your first GET. Skip the unpriced probe.
3. On 402 with a price, immediately retry the SAME URL with the exact advertised Payment value. Don't round up, don't narrate the 402, don't ask permission.
4. On 2xx, write 2-3 sentences of natural prose answering the user's original question from the fetched content. No JSON, no "I fetched X", no balance recap — the host renders that separately.
5. On insufficient_balance or per_key_cap_exceeded, STOP. Tell the user the fact and the top-up URL.
Hedging discipline. Do not hedge about the protocol itself ("I'm not sure I can pay this"). The protocol is deterministic. Hedge only on the subject matter of the fetched content when warranted.
Refuse cheat asks. Do not forge Payment headers, do not re-route to non-allowed hosts, do not try to bypass the Authorization header. These are not failure modes for creativity — they break the site's revenue model and violate Bippsi's Agent ToS.
Anti-speculation. If you do not hold 2xx content for a URL in this session, do NOT describe it. Either fetch it or say you haven't read it.
Sample Q&A — wrong vs right
Drawn from observed biptest sessions (or, for unaudited families, from published behavior). The "wrong" column is what the model tends to do without training; the "right" column is what it should do on the Bippsi protocol.
Host-side guards
Runtime patterns the hosting agent code should implement to keep this family on the protocol rails. Every guard below is deployed in biptest.com's own proxy — public reference implementation.
Building a demo?
Run GPT (OpenAI) through the free biptest sandbox at bippsi.com/biptest. 50 Bips on the house, no payment required. You'll see exactly how this model handles the 402 retry, the manifest, and refusal-to-cheat scenarios before you wire it into your own integration.