@@PRODUCT@@

The platform's AI

Beside a customer's own key, the assistant can also run on the platform's AI: Claude through Amazon Bedrock in the EU, on the platform's AWS account. You decide per hosting account whether it takes that route, and how much credit it has. A

Written for: Administrator

Beside a customer's own key, the assistant can also run on the platform's AI: Claude through Amazon Bedrock in the EU, on the platform's AWS account. You decide per hosting account whether it takes that route, and how much credit it has. A customer buys nothing in the panel: you assign the credit.

Where — Panel → Settings → tab AI → Platform AI for the settings, and Accounts → an account → Management → Package and state → card AI route and credit per account.

Setting up the platform's AI

  1. Go to Settings → AI → Platform AI.
  2. AWS region: eu-central-1 (Frankfurt).
  3. Model or inference profile: by default eu.anthropic.claude-haiku-4-5-20251001-v1:0. For this model the panel fills in the prices and their source itself. Another model works too — then give the four prices (input, output, read from the cache, written to the cache, in US dollars per million tokens) and where you read them.
  4. AWS key: the access key ID and secret access key of an IAM user that may do nothing but bedrock:InvokeModel*. The panel checks the shape before it sends anything: a secret is 40 characters, and a temporary key (ASIA…) is refused.
  5. Tick The platform's AI is on and click Save.

The key is stored encrypted. Afterwards you only see the last four characters of the access key ID and what AWS last said about it: Not used yet, Works or Refused by AWS. Leave the key fields empty to keep the stored key.

Putting an account on the platform's AI

  1. Open the account → Management → Package and state.
  2. Under AI route, choose The platform's AI (Amazon Bedrock).
  3. Fill in how much credit the account gets under Amount and click Assign credit.

One credit is one US dollar of AI use at the provider's list price. Recent calls lists every call: when, what it was charged, the tokens (in, out, cache) and the model. Hover over the amount for the price source.

Only an administrator chooses the route and assigns credit on an account that is on the platform's AI: it is the platform's money. A reseller who tries is refused.

What the customer sees

The account's owner sees the card The platform's AI under Settings → AI: which account pays, the credit, and that what they type goes to Amazon Web Services (Bedrock) in the EU. The form for a key of their own is not shown then: such a key would not be used.

If somebody has more than one account on the platform's AI, the first account by name pays.

When something does not work

What happensWhat the customer readsCharged
The credit is used upthat the account's credit is used upnothing
AWS cannot be reachedthe error, naming Amazon Bedrocknothing
AWS refuses the modelthe refusal, by namenothing
AWS refuses the keythat the platform's AI is switched offnothing, and the route stays off until a new key is stored
You remove the key or switch the route offthat the platform's AI is offnothing

In none of these cases does the panel use the customer's own key, or anybody else's. The last call before the credit runs out can cost a little more than was left: the credit then stands at zero, the difference is shown on that call as not covered, and the next question is refused.

From the terminal

Setting it up and assigning credit happen in the browser: the platform's key does not belong in an API key or a script. What you do on the server is check what was charged:

# on the panel: the latest calls on the platform's AI, per account
sudo -u postgres psql -d corecp_panel -c \
  "SELECT a.username, c.at, c.model, c.input_tokens, c.output_tokens,
          c.cache_read_tokens, c.charged_micros, c.price_source
     FROM ai_platform_call c JOIN account a ON a.id = c.account_id
    ORDER BY c.at DESC LIMIT 20"

# one account's credit
sudo -u postgres psql -d corecp_panel -c \
  "SELECT a.username, b.balance_micros
     FROM ai_credit_balance b JOIN account a ON a.id = b.account_id
    WHERE a.username = 'customername'"

What the assistant can and never does is in The assistant and connecting your own AI.