Seller ask lifecycle
Register → submit ask → report capacity → list trades → cancel ask.
use token_gateway_sdk::{
CreateSellerOfferRequest, Decimal, RegisterSellerRequest, ReportCapacityRequest, SellerClient,
SellerKey,
};
let mut client = SellerClient::new("http://127.0.0.1:8080", None);
let registered = client
.register(&RegisterSellerRequest {
name: "acme".into(),
endpoint_url: "http://127.0.0.1:9000/infer".into(),
supported_models: vec!["gpt-4".into()],
regions: Some(vec!["global".into()]),
api_key: "sk-seller".into(),
})
.await?;
client.set_key(SellerKey(registered.api_key.clone()));
let offer = client
.create_offer(
&CreateSellerOfferRequest {
model: "gpt-4".into(),
region: "global".into(),
price_per_million_tokens: Decimal::from(10),
quantity_tokens: 1000,
valid_for_seconds: 300,
tenor: None,
},
)
.await?;
let _ = client
.report_capacity(
&ReportCapacityRequest {
model_id: "gpt-4".into(),
available_tokens: 42,
queued_tokens: 0,
},
)
.await?;
let _ = client.list_trades().await?;
client.cancel_offer(offer.offer_id).await?;from token_gateway import SellerTokenGateway
gw = SellerTokenGateway("http://127.0.0.1:8080")
seller = gw.register_seller(name="acme", endpoint_url="http://127.0.0.1:9000/infer", supported_models=["gpt-4"], regions=["global"], api_key="sk-seller")
offer = gw.create_offer(model="gpt-4", price_per_million_tokens="10", quantity_tokens=1000)
gw.report_capacity(model_id="gpt-4", available_tokens=42)
gw.list_trades()
gw.cancel_offer(offer.offer_id)import { SellerClient } from "@ai-token-gateway/sdk";
const seller = new SellerClient({ baseUrl: "http://127.0.0.1:8080" });
const registered = await seller.register({
name: "acme",
endpoint_url: "http://127.0.0.1:9000/infer",
supported_models: ["gpt-4"],
regions: ["global"],
api_key: "sk-seller",
});
seller.setApiKey(registered.api_key);
const offer = await seller.createOffer({
model: "gpt-4",
price_per_million_tokens: "10",
quantity_tokens: 1000,
valid_for_seconds: 300,
});
await seller.reportCapacity({ model_id: "gpt-4", available_tokens: 42, queued_tokens: 0 });
await seller.listTrades();
await seller.cancelOffer(offer.offer_id);