Frequently asked questions
Short answers to the most common questions. For deep dives, follow the links to the relevant sections.
About MLKY
What is MLKY?
MLKY is a Solana-native lending protocol that turns graded trading cards into productive collateral. Borrow USDC against your cards without selling them, or earn yield by lending into card-backed loans. See About MLKY.
Which networks does MLKY run on?
Solana. The on-chain program is an Anchor-based Solana program; loans, pools, and auctions are all Solana accounts.
What stablecoin do loans use?
USDC. Pools can in principle be configured with other quote tokens, but production focus is USDC.
Is MLKY open source?
The on-chain program is reviewable today; the open-sourcing plan for the rest of the stack is part of the production roadmap. See Resources for live links.
Who actually holds the physical cards?
Not MLKY. The physical graded card sits with the tokenization issuer that minted the NFT — today, CollectorCrypt or Phygitals. MLKY lends purely against the on-chain NFT and trusts the issuer to keep the card vaulted and to honor redemptions. This is the largest non-protocol trust assumption in the system; see risks and trust assumptions.
Borrowing
How much can I borrow against a card?
Up to FMV × LTV / 10,000 (fair market value times loan-to-value, with
LTV in basis points), capped further by the pool's
max_principal_per_card and the global protocol limits. With the
default 70% LTV and a card priced at $1,000 by the oracle, the
headline maximum is $700.
What's the interest rate?
It's set per term option by the pool you borrow from. Different terms have different rates. The protocol allows up to 220% annual percentage rate (APR) per term; production pools operate well below this.
What happens if I'm a day late?
You're inside the grace period, which is your loan's term or 7 days, whichever is shorter. You can still repay on the original terms, and you can still extend. Once grace expires the loan is eligible for default, and only the protocol admin can put the card up for sale — your lender cannot, and cannot take the card either. Even after the sale opens you can still repay, right up until the card sells. See default and liquidation.
Can I extend my loan instead of repaying it?
Yes, up to three times. Each extension settles the interest you owe in full, pays down at least 10% of your principal, and charges a fresh origination fee on the new term — one transfer, no rollover fee, no penalty. Your loan gets smaller every time rather than larger.
Two things it is not. It is not automatic: your card is re-appraised at every extension, and the renewal is refused if it has fallen far enough that even the reduced principal breaches the loan-to-value ceiling. And it is not available after default — from there the way back to the card is repaying the full payoff. See extending a loan.
Can I repay and immediately borrow against the same card again?
No. 48 hours have to pass after a loan is closed out before a new loan can be opened against the same physical card. The wait is keyed to the card's grading certificate rather than to the NFT, so it applies in every pool and re-minting the card does not reset it. It exists so that "repay and re-borrow" cannot be used as an unlimited rollover around the three-extension cap. See extending a loan.
Can I sell my card while it's collateral?
No. From the moment you draw, the on-chain NFT is locked under the protocol's authority. You can't transfer or sell it. The issuer (CollectorCrypt or Phygitals) only redeems the physical card against the NFT, so you also can't pull the physical card from their vault while the loan is open.
Can I repay early?
Yes, at any time after drawing. There's no early-repayment penalty. But the interest is fixed, so there's also no early-repayment discount.
Are there other fees besides interest?
Yes — an origination fee withheld at draw, computed as a percentage of the interest amount (default 2%, capped at 5%). No late fees, no prepayment penalties.
Can I borrow against ungraded cards?
No. Only professionally graded cards are supported. Pricing relies on the certainty that comes with a professional grade.
Lending
Can I deposit into any pool?
Today, no — only the pool admin can deposit into a given pool. Multi-LP deposits are an active roadmap item. See the single-LP note.
What's my expected APR as an LP?
Variable. The headline APR shown in the app is a forward-looking estimate based on current pool composition; realized returns depend on borrow demand, default rates, and auction recoveries. See yield, utilization & risks.
Can I withdraw any time?
You can submit a withdrawal any time, but the pool must hold enough idle USDC in its vault to cover the amount. If utilization is high, larger withdrawals may need to wait for repayments.
Are LP withdrawals blocked when the protocol is paused?
No. Withdrawals are intentionally not pause-blocked. Pauses only stop new loans and new deposits.
Auctions
What kind of auctions does MLKY use?
Default sales are Dutch — descending price, first bid wins, running 24 hours. The on-chain program also supports English auctions but production keepers don't use them today. See Dutch auctions.
Can I bid on a defaulted card?
Yes. Anyone can bid in a MLKY auction. The MLKY app's Premium section surfaces active auctions and lets you bid through a single bundled transaction.
Do borrowers get any of the sale proceeds?
Yes — everything left after the loan is paid. A 5% commission comes off the sale price, the lender takes principal then interest, and the remainder is written to the chain as a credit the borrower claims.
They should claim it within twelve months. After that the protocol may
take it with an admin instruction called sweep_expired_borrower_credit.
The borrower's own claim does not actually expire — the claim path never
checks the clock — but once the window is up both are open at once and
whoever transacts first gets the money, so twelve months is the point
after which it stops being reliably theirs.
This changed in August 2026. Before then the borrower received nothing and anything above the debt was split between the protocol and the pool. See settlement and waterfall.
Can a borrower stop the sale?
Yes, by repaying — the instruction is loan_redeem_from_auction and only
the borrower can sign it. The right runs until the card actually sells,
not until the sale opens. A standing bidder who is overtaken this way gets
a refund credit.
It has to be the whole payoff. Paying more takes only what is owed; paying less is refused rather than credited, because a part payment would leave the loan in default with its sale already closed and no way out of either.
How long does a sale run?
24 hours. The price opens at the card's appraised value from the loan's oracle snapshot and falls to the loan's principal.
What happens if no one bids?
The card moves into protocol custody. It does not go to the lender, who takes the loan as a full write-off.
There is now a way out of protocol custody, where for a period there was
none — the handlers existed in the program as explicit unimplemented!()
bodies, so a card that entered had no exit at all. What the exit does is sell
the card off-platform: the pool is repaid out of the proceeds up to what the
loan owed, and anything above that is credited to you, capped at your debt in
exactly the way an auction surplus is and claimable for twelve months from the
day it is written.
Nothing obliges that sale, though, and no deadline sets when it must happen. A card can sit in protocol custody indefinitely, and until it sells there is no residual — your equity in it is unrealised rather than pending. That absence is deliberate and was decided rather than overlooked. Note also that no notice is sent when a sale does happen, so a residual is something to check for rather than something you will be told about. See no-bid outcome for what the sale pays out and what MLKY decides about it.
Oracle and pricing
Where do card prices come from?
From Alt.xyz — the protocol's only pricing source. There is no second provider cross-checking it, which is why launch LTVs are tightened. See data sources.
How fresh is a quote?
Default time-to-live (TTL) is 5 minutes. The protocol checks expiry both at loan creation and again at draw, so a stale quote can't be turned into an active loan.
Can the oracle sign whatever it wants?
In principle yes — within the protocol's caps. The on-chain program verifies the signature, the allowlist binding, the LTV ceilings, and the principal limits, but it doesn't have an independent view of "what this card is really worth". See trust assumptions.
Risks
What's the worst that can happen as a borrower?
You lose the card and get nothing back for it. That is the no-buyer case: the sale runs down to your principal, nobody takes it, and there are no proceeds to give you a share of. If the card does sell you keep whatever is left after the loan is paid. See risks.
What's the worst that can happen as a lender?
A card that finds no buyer even at the loan's principal — you take the loan as a full write-off and you do not get the card. Short of that, a series of shortfalls, or an oracle failure that causes the pool to over-lend. See risks.
Has the protocol been audited?
External audit is part of the production launch path. The current code has been extensively reviewed internally and has comprehensive tests covering happy paths, edge cases, and adversarial scenarios.
Where do I report a security issue?
See Resources for current security disclosure channels.