[server]
bind = "0.0.0.0:8080"
base_url = "https://o402.qntx.org"
shutdown_timeout_secs = 30
body_limit_bytes = 33554432
request_timeout_secs = 180
[server.cors]
origins = [
"http://localhost:5173",
"http://127.0.0.1:5173",
"https://chat.qntx.org",
]
[observability]
level = "info"
format = "json"
[payment]
enabled = true
missing_usage = "floor"
abort_usage = "floor"
max_timeout_seconds = 300
[payment.facilitator]
url = "https://facilitator.qntx.org"
timeout_secs = 60
supported_cache_ttl_secs = 600
[payment.facilitator.auth.verify]
Authorization = "$FACILITATOR_AUTH_HEADER"
[payment.facilitator.auth.settle]
Authorization = "$FACILITATOR_AUTH_HEADER"
[payment.facilitator.auth.supported]
Authorization = "$FACILITATOR_AUTH_HEADER"
[payment.settlement]
exact_non_stream = "sequential-wait-settle"
exact_stream = "wait-2xx-then-spawn"
upto_non_stream = "sequential-wait-settle"
upto_stream = "stream-then-settle"
[payment.pay_to]
"eip155:*" = "$O402_EVM_PAY_TO"
"solana:*" = "$O402_SOLANA_PAY_TO"
[[payment.accepts]]
scheme = "upto"
network = "eip155:143"
asset = "usdc"
[[payment.accepts]]
scheme = "upto"
network = "eip155:10143"
asset = "usdc"
[[payment.accepts]]
scheme = "exact"
network = "eip155:143"
asset = "usdc"
transfer_method = "eip3009"
[[payment.accepts]]
scheme = "exact"
network = "eip155:10143"
asset = "usdc"
transfer_method = "eip3009"
[[payment.accepts]]
scheme = "exact"
network = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
asset = "usdc"
[pricing.default]
scheme = "upto"
price = "0.001"
request_floor = "0.00001"
input_per_million = "0.15"
output_per_million = "0.60"
cached_input_per_million = "0.075"
reasoning_per_million = "0.60"
ceiling_multiplier = "1.0"
max_ceiling = "5.00"
max_input_tokens = 128000
default_max_output_tokens = 4096
[[upstreams]]
name = "bifrost"
base_url = "http://bifrost:8080"
api_key = "$BIFROST_API_KEY"
timeout_secs = 300
connect_timeout_secs = 10
allow_insecure = true