# @chimera/bordr-maxxi 0.5.0

Unsigned builders, strict account readers, native-market qualification and wallet
plans. Programs are undeployed. This is an installable source-preview download,
not a published npm registry package or an enabled deposit service.

```
npm install https://chimera.gallery/downloads/chimera-bordr-maxxi-0.5.0.tgz
```

```js
import {maxxi, BORDR, ECOSYSTEM_TERMS, ecosystemTerms, parseUnits}
  from '@chimera/bordr-maxxi';
const mx = maxxi({coreProgram, scriptProgram, reviewedBuild,
  allocation:ECOSYSTEM_TERMS}); // 95% BORDR / 5% qualifying native cohorts
const pure = maxxi({coreProgram, scriptProgram, reviewedBuild}); // 100% BORDR
const smaller = maxxi({coreProgram, scriptProgram, reviewedBuild,
  allocation:ecosystemTerms(100)}); // 99% BORDR / 1% ecosystem
```

The same exports are available from `@chimera/bordr-maxxi/browser` or the
standalone `/downloads/bordr-maxxi-browser-0.5.0.mjs`. Development IDs have no
deployment keys. Supply production IDs and reviewed executable hashes together.

## Inspect before wallet preparation

`inspect` takes one finalized deployment snapshot: immutable core, configured
reviewed core/script hashes, the script's current Workshop or immutable self-serve
lane, the version-4 original BORDR pool and, when used, the common native hub.
`ready` is deployment readiness; `active` additionally requires BORDR stakes.
Neither implies an eligible market roster, a funded pot or live relay execution.

```js
const report = await mx.inspect(connection);
await mx.assertReady(connection);
const position = await mx.positionStatus(connection, wallet.publicKey);
const stake = await mx.planStake(connection, wallet.publicKey, parseUnits('100'));
const review = await mx.prepareTransaction(connection, {
  payer:wallet.publicKey, instructions:stake.instructions, lookupTables
});
// Display principal, seven-day lock, identities, rent and network fee.
const signed = await wallet.signTransaction(review.transaction);
// Application validates bytes, sends with preflight and confirms explicitly.
```

BORDR is the original SPL mint, six decimals, with a 100-token minimum. Top-ups
restart the whole position's seven-day lock. Claims retain fractional debt; new
deposits cannot take already allocated rewards. Unallocated upstream fees may
later fund existing stakes. Wallet splitting creates no extra capital weight.

Transaction preparation is unsigned and simulated. Defaults cap network fees at
0.0001 SOL, with 600k compute units and 1,000 micro-lamports/CU. Rent/principal
are additional. Supply lookup tables and split oversized setups. Development
simulation requires `allowDevelopment:true`. Preserve a signed signature after a
lost send response; a timeout does not prove that transaction was never sent.

## Qualify any supported native coin

Mints are addresses, not symbols. BCAT and CHM exports are examples, never an
eligibility list. Read `MARKET_POLICY` and the release document for the exact
OR rule, USD oracle, conservative volume observation and payout limitations.

```js
const status = await mx.marketStatus(connection, nativeMint, nativeDexPool);
const setup = await mx.planMarketSetup(connection, wallet.publicKey,
  nativeMint, nativeDexPool);
for (const stage of setup.stages) {
  // Prepare, display, sign, submit and confirm each stage before the next.
}
```

A finalized snapshot proves native mint authorities, the supported payout route,
canonical native/SOL DEX market and Pyth SOL/USD ownership, full verification,
feed identity, age and confidence. A first watch records the real cumulative
counter; an older volume-only token may not qualify until enough within-window
activity has been observed. `displayEligibility` only previews indexer/USD
figures and is never a contract proof. Lifetime volume is not daily volume.

Native kit rewards use the existing wallet-held stream. A plain native token
without a transfer hook can initialize a separate staking pool, using its own
decimals. That cohort needs actual stakes to enter the paid roster:

```js
const stakeNative = await mx.planStake(connection, wallet.publicKey,
  parseUnits('100',status.proof.decimals), {mint:nativeMint});
const nativeStatus = await mx.positionStatus(connection, wallet.publicKey,nativeMint);
const claimNative = await mx.planClaim(connection,wallet.publicKey,nativeMint);
const exitNative = await mx.planUnstake(connection,wallet.publicKey,
  parseUnits('100',status.proof.decimals),{mint:nativeMint});
```

Native staking has the same seven-day lock and exact receipt checks. Compatible
kit coins cannot be deposited into this route. Unknown/custom transfer hooks
are rejected; market presence alone does not approve an adapter or custody.

## Keep the onchain roster and payouts current

`observeMarket(mint,dexPool)` records the first real counter checkpoint per hour.
Anyone may submit it. `planRefresh` returns begin / ordered scans / finish stages.
Every registered market is scanned; a partial list cannot activate. Finish within
ten minutes using fresh oracle accounts, resume from the onchain cursor or
restart an abandoned scan. A new registration during a scan waits for the next
roster. The current bounded registry admits 128 distinct mint identities.

```js
const refresh = await mx.planRefresh(connection, wallet.publicKey);
const forward = await mx.planMarketForward(connection,wallet.publicKey,nativeMint);
```

The daily roster divides fresh ecosystem funding equally per eligible token.
Within a coin, staking or the native kit divides its allocation by token units.
Expired rosters hold fresh fees until a complete refresh. Earned entitlements
survive subsequent ineligibility. With no eligible cohorts, fresh funding returns
to the canonical BORDR pool. Dust remains accounted for; there is no operations
recipient or arbitrary recipient/amount override.

`forwardMarketRewards` moves a cohort's earned portion from the common hub to
its fixed reward pool once at least 0.001 SOL has accumulated. Kit cohorts then
use `planEcosystemRelay` to wrap and stream it over an hour. Holders use the
official `claimEcosystem` kit builder; their own bridged-SOL holding must exist.
Bordrless's Claim as SOL action handles the holding and unwrapping. Plain native
staking cohorts claim SOL directly using `planClaim`.

The script keeper does not run these separate observations/scans/forwards/relays.
No paid hosted executor is enabled. Transaction execution must be arranged before
a live announcement. Thresholds can be met by wash trading or temporary liquidity;
they are not a proof of organic activity or a complete Sybil defense.

## Adopting launches and Workshop submission

`planSharedSetup` initializes BORDR and the hub. `createCompanion`, `scriptSetup`
and `planAdoption` use the official 0.10.0 encodings. The new mint signs setup and
wallet-payout enablement before launch. Existing launches are not reconfigured.
The script requires BORDR stakes and immutable reviewed core evidence, fixes at
least 95% of each budget to BORDR, and pays at most 25% of the current pot per
step and 10% of the first-step pot per daily window (or lower protocol limits).

`keeperDeclaration` lists only immutable core evidence, BORDR and the shared
hub; changing cohort membership needs no arbitrary Workshop payout address.
Newer launch metadata: stepSecs 60, stateLen 77, initData 12 bytes. SDK 0.10.0's
checker validates the routing subset; launch metadata is checked separately.
Paid Workshop acceptance is still required. Proposed builder share: 0%.

SDK 0.5.0 is breaking predeployment source: distinct development IDs and v4
accounts. Keep deposits disabled until code review, production deployment,
Workshop acceptance, actual executor coverage, a small funded roundtrip and
real-device wallet tests are complete. Making the custody core immutable
permanently commits its deployment rent.
